From 568b8a889d99c3d1ff8ea67a9ce2925ccb8aeaf1 Mon Sep 17 00:00:00 2001 From: wwendyc Date: Thu, 17 Jun 2021 01:08:22 -0700 Subject: [PATCH 01/85] ProviderHub extension update (#3470) * providerhub cli extensions update * fix for style validations * update operations * construct resource type url based on name and re-record tests * update docs * linter and minor refactor * note breaking changes and linter * param abbreviations ordering * help doc * breaking change mitigation and linter * update defaultRollout params * add top level command group help message Co-authored-by: Wendy Chang --- src/providerhub/HISTORY.rst | 15 + src/providerhub/README.md | 270 ++- src/providerhub/azext_providerhub/__init__.py | 23 +- .../generated/_client_factory.py | 12 +- .../azext_providerhub/generated/_help.py | 526 ++++-- .../azext_providerhub/generated/_params.py | 440 +++-- .../azext_providerhub/generated/action.py | 310 ++-- .../azext_providerhub/generated/commands.py | 73 +- .../azext_providerhub/generated/custom.py | 980 +++++++---- .../azext_providerhub/tests/__init__.py | 14 +- .../tests/latest/example_steps.py | 407 ++++- .../recordings/test_providerhub_Scenario.yaml | 1461 ++++++++++++----- .../tests/latest/test_providerhub_scenario.py | 108 +- .../test_providerhub_scenario_coverage.md | 52 +- .../vendored_sdks/providerhub/__init__.py | 4 +- .../providerhub/_configuration.py | 7 +- .../providerhub/_provider_hub.py | 109 ++ .../vendored_sdks/providerhub/aio/__init__.py | 4 +- .../providerhub/aio/_configuration.py | 7 +- .../providerhub/aio/_provider_hub.py | 99 ++ .../providerhub/aio/operations/__init__.py | 4 +- .../operations/_custom_rollouts_operations.py | 82 +- .../_default_rollouts_operations.py | 140 +- .../_notification_registrations_operations.py | 106 +- .../providerhub/aio/operations/_operations.py | 121 +- .../operations/_provider_hub_operations.py | 140 ++ .../_provider_registrations_operations.py | 219 +-- .../_resource_type_registration_operations.py | 17 +- ..._resource_type_registrations_operations.py | 267 ++- .../aio/operations/_skus_operations.py | 396 ++--- .../providerhub/models/__init__.py | 20 +- .../providerhub/models/_models.py | 729 ++++---- .../providerhub/models/_models_py3.py | 1026 ++++++------ .../providerhub/models/_provider_hub_enums.py | 297 ++++ .../providerhub/operations/__init__.py | 9 +- .../operations/_custom_rollouts_operations.py | 101 +- .../_default_rollouts_operations.py | 173 +- .../_notification_registrations_operations.py | 121 +- .../providerhub/operations/_operations.py | 128 +- ...rations.py => _provider_hub_operations.py} | 73 +- .../_provider_registrations_operations.py | 137 +- .../_resource_type_registration_operations.py | 100 +- ..._resource_type_registrations_operations.py | 62 +- .../operations/_skus_operations.py | 476 +++--- src/providerhub/gen.zip | Bin 48848 -> 53763 bytes src/providerhub/report.md | 300 +++- src/providerhub/setup.py | 2 +- 47 files changed, 6431 insertions(+), 3736 deletions(-) create mode 100644 src/providerhub/azext_providerhub/vendored_sdks/providerhub/_provider_hub.py create mode 100644 src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_provider_hub.py create mode 100644 src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_hub_operations.py create mode 100644 src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_provider_hub_enums.py rename src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/{_providerhub_operations.py => _provider_hub_operations.py} (70%) diff --git a/src/providerhub/HISTORY.rst b/src/providerhub/HISTORY.rst index 1c139576ba0..7cb131da030 100644 --- a/src/providerhub/HISTORY.rst +++ b/src/providerhub/HISTORY.rst @@ -3,6 +3,21 @@ Release History =============== +0.2.0 +++++++ +* Support commands for + `az providerhub notification-registration` + `az providerhub operation` + `az providerhub sku` +* Enable creation of nested resource types and adding extension categories. +* Refine and update initial release commands. + +* [BREAKING CHANGE] `az providerhub default-rollout create`: + `--row2-wait-duration` moved to `--row2 wait-duration` + `--skip-regions` moved to `--canary skip-regions` +* [BREAKING CHANGE]: `--provider-type` type changed from enum to string. +* [BREAKING CHANGE]: `--routing-type` type changed from enum to string. + 0.1.0 ++++++ * Initial release. diff --git a/src/providerhub/README.md b/src/providerhub/README.md index 3cb6615e1b5..f3bc7720462 100644 --- a/src/providerhub/README.md +++ b/src/providerhub/README.md @@ -1,96 +1,284 @@ -# Azure CLI providerhub Extension # +# Azure CLI providerhub Extension + This is the extension for providerhub -### How to use ### +### How to use + Install this extension using the below CLI command + ``` az extension add --name providerhub ``` -### Included Features ### -#### providerhub custom-rollout #### -##### Create ##### +### Included Features + +#### providerhub custom-rollout + +##### Create + ``` -az providerhub custom-rollout create --provider-namespace "Microsoft.Contoso" --rollout-name "brazilUsShoeBoxTesting" +az providerhub custom-rollout create \ +--provider-namespace "Microsoft.Contoso" --rollout-name "canaryTesting99" \ +--canary regions="EastUS2EUAP" regions="centraluseuap" ``` -##### Show ##### + +##### Show + ``` az providerhub custom-rollout show --provider-namespace "Microsoft.Contoso" --rollout-name "canaryTesting99" ``` -##### List ##### + +##### List + ``` az providerhub custom-rollout list --provider-namespace "Microsoft.Contoso" ``` -#### providerhub default-rollout #### -##### Create ##### + +#### providerhub default-rollout + +##### Create + ``` -az providerhub default-rollout create --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout create \ +--provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" \ +--canary skip-regions="eastus2euap" \ +--row2 wait-duration="PT4H" ``` -##### Show ##### + +##### Show + ``` -az providerhub default-rollout show --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout show --provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" ``` -##### List ##### + +##### List + ``` az providerhub default-rollout list --provider-namespace "Microsoft.Contoso" ``` -##### Stop ##### + +##### Stop + ``` -az providerhub default-rollout stop --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout stop --provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" ``` -##### Delete ##### + +##### Delete + ``` -az providerhub default-rollout delete --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout delete --provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" ``` -#### providerhub manifest #### -##### Checkin ##### + +#### providerhub manifest + +##### Checkin + ``` az providerhub manifest checkin --provider-namespace "Microsoft.Contoso" ``` -##### Generate ##### + +##### Generate + ``` az providerhub manifest generate --provider-namespace "Microsoft.Contoso" ``` -#### providerhub provider-registration #### -##### Create ##### + +#### providerhub provider-registration + +##### Create + ``` -az providerhub provider-registration create --capabilities effect="Allow" quota-id="CSP_2015-05-01" \ - --capabilities effect="Allow" quota-id="CSP_MG_2017-12-01" --incident-contact-email "helpme@contoso.com" \ - --incident-routing-service "Contoso Resource Provider" --incident-routing-team "Contoso Triage" \ - --provider-type "Internal" --provider-version "2.0" --provider-namespace "Microsoft.Contoso" +az providerhub provider-registration create \ +--providerhub-metadata-authorizations application-id="00000000-0000-0000-0000-000000000000" \ +role-definition-id="00000000-0000-0000-0000-000000000000" \ +--providerhub-metadata-authentication allowed-audiences="https://management.core.windows.net/" \ +--service-tree-infos service-id="00000000-0000-0000-0000-000000000000" \ +component-id="00000000-0000-0000-0000-000000000000" \ +--capabilities effect="Allow" quota-id="CSP_2015-05-01" \ +--capabilities effect="Allow" quota-id="CSP_MG_2017-12-01" \ +--manifest-owners "SPARTA-PlatformServiceAdministrator" \ +--incident-contact-email "helpme@contoso.com" \ +--incident-routing-service "Contoso Resource Provider" \ +--incident-routing-team "Contoso Triage" \ +--provider-type "Internal" \ +--provider-version "2.0" \ +--provider-namespace "Microsoft.Contoso" ``` -##### Show ##### + +##### Show + ``` az providerhub provider-registration show --provider-namespace "Microsoft.Contoso" ``` -##### List ##### + +##### List + ``` az providerhub provider-registration list --resource-group "sampleResourceGroup" ``` -##### Generate-operation ##### + +##### Generate-operation + ``` az providerhub provider-registration generate-operation --provider-namespace "Microsoft.Contoso" ``` -##### Delete ##### + +##### Delete + ``` az providerhub provider-registration delete --provider-namespace "Microsoft.Contoso" ``` -#### providerhub resource-type-registration #### -##### List ##### + +#### providerhub resource-type-registration + +##### List + ``` az providerhub resource-type-registration list --provider-namespace "Microsoft.Contoso" ``` -##### Show ##### + +##### Show + +``` +az providerhub resource-type-registration show --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" +``` + +##### Create + +``` +az providerhub resource-type-registration create \ +--resource-type "testResourceType" \ +--endpoints api-versions="2018-11-01-preview" api-versions="2020-01-01-preview" api-versions="2019-01-01" locations="West US" locations="North Europe" \ +required-features="Microsoft.Contoso/RPaaSSampleApp" \ +extension-endpoint-uri="https://contoso-test-extension-endpoint.com/" \ +extension-categories="ResourceReadValidate" extension-categories="ResourceDeletionValidate" \ +--regionality "Regional" \ +--routing-type "ProxyOnly" \ +--swagger-specifications api-versions="2018-11-01-preview" api-versions="2020-01-01-preview" api-versions="2019-01-01" \ +swagger-spec-folder-uri="https://github.com/pathtoresourceproviderswaggerspecfolder" \ +--provider-namespace "Microsoft.Contoso" \ +--enable-async-operation false \ +--template-deployment-options preflight-supported="true" \ +preflight-options="DefaultValidationOnly" preflight-options="continueDeploymentOnFailure" +``` + +``` +az providerhub resource-type-registration create \ +--resource-type "testResourceType/nestedResourceType" \ +--endpoints api-versions="2019-01-01" locations="Global" \ +required-features="Microsoft.Contoso/RPaaSSampleApp" \ +extensions=[{{\\"endpointUri\\":\\"https://contoso-test-extension-endpoint.com/\\",\\"extensionCategories\\":[\\"ResourceReadValidate\\",\\"ResourceDeletionValidate\\"]}}] \ +--regionality "Global" \ +--routing-type "ProxyOnly" \ +--swagger-specifications api-versions="2019-01-01" \ +swagger-spec-folder-uri="https://github.com/Azuew/pathtoresourceproviderswaggerspecfolder" \ +--provider-namespace "Microsoft.Contoso" +``` + +##### Delete + +``` +az providerhub resource-type-registration delete \ +--provider-namespace "Microsoft.Contoso" \ +--resource-type "testResourceType" +``` + +#### providerhub notification-registration + +##### Create + +``` +az providerhub notification-registration create \ +--name "notificationRegistrationName" \ +--included-events "*/write" "Microsoft.Contoso/employees/delete" \ +--message-scope "RegisteredSubscriptions" \ +--notification-endpoints locations="" locations="East US" notification-destination="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications" \ +--notification-endpoints locations="East US" notification-destination="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications" \ +--notification-mode "EventHub" \ +--provider-namespace "Microsoft.Contoso" +``` + +#### Show + +``` +az providerhub notification-registration show \ +--name "notificationRegistrationName" \ +--provider-namespace "Microsoft.Contoso" +``` + +#### List + +``` +az providerhub notification-registration list \ +--provider-namespace "Microsoft.Contoso" +``` + +#### Delete + +``` +az providerhub notification-registration delete -y \ +--name "notificationRegistrationName" \ +--provider-namespace "Microsoft.Contoso" +``` + +### providerhub operation + +#### Create + +``` +az providerhub operation create \ +--contents "[{{\\"name\\":\\"Microsoft.Contoso/testResource/Read\\",\\"display\\":{{\\"description\\":\\"Read testResource\\",\\"operation\\":\\"Gets/List testResource resources\\",\\"provider\\":\\"Microsoft.Contoso\\",\\"resource\\":\\"testResource\\"}}}}]" \ +--provider-namespace "Microsoft.Contoso" +``` + +#### List + +``` +az providerhub operation list \ +--provider-namespace "Microsoft.Contoso" +``` + +#### Delete + +``` +az providerhub operation delete -y \ +--provider-namespace "Microsoft.Contoso" ``` -az providerhub resource-type-registration show --provider-namespace "Microsoft.Contoso" --resource-type "employees" + +### providerhub sku + +#### Create + +``` +az providerhub sku create \ +--sku-settings "[{{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\":\\"Tier1\\"}},{{\\"name\\":\\"premiumSku\\",\\"costs\\":[{{\\"meterId\\":\\"xxx\\"}}],\\"kind\\":\\"Premium\\",\\"tier\\":\\"Tier2\\"}}]" \ +--provider-namespace "Microsoft.Contoso" \ +--resource-type "resourceTypeName" \ +--sku "skuName" +``` + +#### Show + +``` +az providerhub sku show \ +--provider-namespace "Microsoft.Contoso" \ +--resource-type "resourceTypeName" \ +--sku "skuName" ``` -#### providerhub resource-type-registration #### -##### Create ##### + +#### List + ``` -az providerhub resource-type-registration create --provider-namespace "Microsoft.Contoso" --resource-type "employees" +az providerhub sku list \ +--provider-namespace "Microsoft.Contoso" \ +--resource-type "resourceTypeName" ``` -##### Delete ##### + +#### Delete + ``` -az providerhub resource-type-registration delete --provider-namespace "Microsoft.Contoso" \ - --resource-type "testResourceType" +az providerhub sku delete -y \ +--provider-namespace "Microsoft.Contoso" \ +--resource-type "resourceTypeName" \ +--sku "skuName" ``` diff --git a/src/providerhub/azext_providerhub/__init__.py b/src/providerhub/azext_providerhub/__init__.py index da3afc46a16..fd80434fd9d 100644 --- a/src/providerhub/azext_providerhub/__init__.py +++ b/src/providerhub/azext_providerhub/__init__.py @@ -11,31 +11,29 @@ # pylint: disable=unused-import # pylint: disable=reimported # pylint: disable=import-outside-toplevel +# pylint: disable=super-with-arguments from azure.cli.core import AzCommandsLoader -from azure.cli.core.commands import CliCommandType -from azext_providerhub.generated._help import helps -from azext_providerhub.generated._client_factory import cf_providerhub_cl -from azext_providerhub.generated.commands import load_command_table -from azext_providerhub.generated._params import load_arguments - +from azext_providerhub.generated._help import helps # pylint: disable=unused-import try: - from azext_providerhub.manual._help import helps + from azext_providerhub.manual._help import helps # pylint: disable=reimported except ImportError: pass -class ProviderhubCommandsLoader(AzCommandsLoader): +class ProviderHubCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_providerhub.generated._client_factory import cf_providerhub_cl providerhub_custom = CliCommandType( operations_tmpl='azext_providerhub.custom#{}', client_factory=cf_providerhub_cl) - parent = super() - parent.__init__(cli_ctx=cli_ctx, - custom_command_type=providerhub_custom) + parent = super(ProviderHubCommandsLoader, self) + parent.__init__(cli_ctx=cli_ctx, custom_command_type=providerhub_custom) def load_command_table(self, args): + from azext_providerhub.generated.commands import load_command_table load_command_table(self, args) try: from azext_providerhub.manual.commands import load_command_table as load_command_table_manual @@ -45,6 +43,7 @@ def load_command_table(self, args): return self.command_table def load_arguments(self, command): + from azext_providerhub.generated._params import load_arguments load_arguments(self, command) try: from azext_providerhub.manual._params import load_arguments as load_arguments_manual @@ -53,4 +52,4 @@ def load_arguments(self, command): pass -COMMAND_LOADER_CLS = ProviderhubCommandsLoader +COMMAND_LOADER_CLS = ProviderHubCommandsLoader diff --git a/src/providerhub/azext_providerhub/generated/_client_factory.py b/src/providerhub/azext_providerhub/generated/_client_factory.py index 3eb9456506c..cc95c4ce375 100644 --- a/src/providerhub/azext_providerhub/generated/_client_factory.py +++ b/src/providerhub/azext_providerhub/generated/_client_factory.py @@ -9,12 +9,12 @@ # -------------------------------------------------------------------------- from azure.cli.core.commands.client_factory import get_mgmt_service_client -from azext_providerhub.vendored_sdks.providerhub import Providerhub +from azext_providerhub.vendored_sdks.providerhub import ProviderHub def cf_providerhub_cl(cli_ctx, *_): return get_mgmt_service_client(cli_ctx, - Providerhub) + ProviderHub) def cf_providerhub(cli_ctx, *_): @@ -29,6 +29,10 @@ def cf_default_rollout(cli_ctx, *_): return cf_providerhub_cl(cli_ctx).default_rollouts +def cf_notification_registration(cli_ctx, *_): + return cf_providerhub_cl(cli_ctx).notification_registrations + + def cf_operation(cli_ctx, *_): return cf_providerhub_cl(cli_ctx).operations @@ -39,3 +43,7 @@ def cf_provider_registration(cli_ctx, *_): def cf_resource_type_registration(cli_ctx, *_): return cf_providerhub_cl(cli_ctx).resource_type_registrations + + +def cf_sku(cli_ctx, *_): + return cf_providerhub_cl(cli_ctx).skus diff --git a/src/providerhub/azext_providerhub/generated/_help.py b/src/providerhub/azext_providerhub/generated/_help.py index 6914dfb9b36..672d947a587 100644 --- a/src/providerhub/azext_providerhub/generated/_help.py +++ b/src/providerhub/azext_providerhub/generated/_help.py @@ -11,6 +11,10 @@ from knack.help_files import helps +helps['providerhub'] = """ + type: group + short-summary: Manage resources with ProviderHub +""" helps['providerhub custom-rollout'] = """ type: group @@ -19,7 +23,7 @@ helps['providerhub custom-rollout list'] = """ type: command - short-summary: 'Gets the list of the custom rollouts for the given provider.' + short-summary: "Gets the list of the custom rollouts for the given provider." examples: - name: CustomRollouts_ListByProviderRegistration text: |- @@ -28,29 +32,28 @@ helps['providerhub custom-rollout show'] = """ type: command - short-summary: 'Gets the custom rollout details.' + short-summary: "Gets the custom rollout details." examples: - name: CustomRollouts_Get text: |- - az providerhub custom-rollout show --provider-namespace "Microsoft.Contoso" \ ---rollout-name "canaryTesting99" + az providerhub custom-rollout show --provider-namespace "Microsoft.Contoso" --rollout-name \ +"canaryTesting99" """ helps['providerhub custom-rollout create'] = """ type: command - short-summary: 'Create the rollout details.' + short-summary: "Create the rollout details." parameters: - name: --canary - short-summary: 'The canary regions to apply the manifest.' long-summary: | Usage: --canary regions=XX - regions: Required. Comma separated list of canary regions. + Multiple actions can be specified by using more than one regions=XX argument. examples: - name: CustomRollouts_CreateOrUpdate text: |- - az providerhub custom-rollout create --provider-namespace "Microsoft.Contoso" \ ---rollout-name "canaryTesting99" --canary regions="EastUS2EUAP" + az providerhub custom-rollout create --canary regions="eastus2euap" regions="centraluseuap" --provider-namespace \ +"Microsoft.Contoso" --rollout-name "eastus2euapShoeBoxTesting" """ helps['providerhub default-rollout'] = """ @@ -60,7 +63,7 @@ helps['providerhub default-rollout list'] = """ type: command - short-summary: 'Gets the list of the rollouts for the given provider.' + short-summary: "Gets the list of the rollouts for the given provider." examples: - name: DefaultRollouts_ListByProviderRegistration text: |- @@ -69,101 +72,178 @@ helps['providerhub default-rollout show'] = """ type: command - short-summary: 'Gets the default rollout details.' + short-summary: "Gets the default rollout details." examples: - name: DefaultRollouts_Get text: |- - az providerhub default-rollout show --provider-namespace "Microsoft.Contoso" \ ---rollout-name "2021week10" + az providerhub default-rollout show --provider-namespace "Microsoft.Contoso" --rollout-name \ +"2021week20" """ helps['providerhub default-rollout create'] = """ type: command - short-summary: 'Create the rollout details.' + short-summary: "Create the rollout details." parameters: - - name: --row2-wait-duration - type: string - short-summary: 'Optional. The wait duration before rolling out to the Rest of the World Two regions.' + - name: --canary long-summary: | - Usage: --row2-wait-duration "PT24H" - - name: --skip-regions - type: string - short-summary: 'Optional. The canary regions to skip applying the manifest in.' + Usage: --canary skip-regions=XX + + skip-regions: Required. The canary skip regions. + + - name: --rest-of-the-world-group-two --row2 long-summary: | - Usage: --skip-regions "brazilus, centraluseuap" + Usage: --rest-of-the-world-group-two wait-duration=XX + + wait-duration: Required. The rest of the world group two wait duration. + examples: - name: DefaultRollouts_CreateOrUpdate text: |- - az providerhub default-rollout create --provider-namespace "Microsoft.Contoso" \ ---rollout-name "2021week10" --skip-regions "brazilus, centraluseuap" --row2-wait-duration "PT24H" + az providerhub default-rollout create \ + --provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" \ + --canary skip-regions="eastus2euap" \ + --rest-of-the-world-group-two wait-duration="PT2H" """ helps['providerhub default-rollout delete'] = """ type: command - short-summary: 'Deletes the rollout resource. Rollout must be in terminal state.' + short-summary: "Deletes the rollout resource. Rollout must be in terminal state." examples: - name: DefaultRollouts_Delete text: |- - az providerhub default-rollout delete --provider-namespace "Microsoft.Contoso" \ ---rollout-name "2021week10" + az providerhub default-rollout delete --provider-namespace "Microsoft.Contoso" --rollout-name \ +"2021week20" """ helps['providerhub default-rollout stop'] = """ type: command - short-summary: 'Stops or cancels the rollout, if in progress.' + short-summary: "Stops or cancels the rollout, if in progress." examples: - name: DefaultRollouts_Stop text: |- - az providerhub default-rollout stop --provider-namespace "Microsoft.Contoso" \ ---rollout-name "2021week10" -""" - -helps['providerhub default-rollout wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the providerhub default-rollout is met. - examples: - - name: Pause executing next line of CLI script until the providerhub default-rollout is successfully created. - text: |- - az providerhub default-rollout wait --provider-namespace "Microsoft.Contoso" --rollout-name \ -"2020week10" --created + az providerhub default-rollout stop --provider-namespace "Microsoft.Contoso" --rollout-name \ +"2021week20" """ helps['providerhub manifest'] = """ type: group - short-summary: Manage manifest with providerhub + short-summary: Manage with providerhub manifest operations """ helps['providerhub manifest checkin'] = """ type: command - short-summary: 'Checkin the manifest.' + short-summary: "Checkin the manifest." parameters: - - name: --environment - type: string - short-summary: 'The environment to checkin the manifest.' + - name: --arm-manifest-location --baseline-arm-manifest-location --location long-summary: | - Usage: --environment "2.0" + Usage: --location "EastUS2EUAP" - - name: --arm-manifest-location - type: string - short-summary: 'The baseline ARM manifest location.' - long-summary: | - Usage: --arm-manifest-location "2.0" examples: - name: CheckinManifest text: |- - az providerhub manifest checkin --provider-namespace "Microsoft.Contoso" \ ---environment "Canary" --arm-manifest-location "EastUS2EUAP" + az providerhub manifest checkin --location "EastUS2EUAP" --environment "Prod" \ +--provider-namespace "Microsoft.Contoso" """ helps['providerhub manifest generate'] = """ type: command - short-summary: 'Generates the manifest for the given provider.' + short-summary: "Generates the manifest for the given provider." examples: - name: GenerateManifest text: |- az providerhub manifest generate --provider-namespace "Microsoft.Contoso" """ +helps['providerhub notification-registration'] = """ + type: group + short-summary: Manage notification registration with providerhub +""" + +helps['providerhub notification-registration list'] = """ + type: command + short-summary: "Gets the list of the notification registrations for the given provider." + examples: + - name: NotificationRegistrations_ListByProviderRegistration + text: |- + az providerhub notification-registration list --provider-namespace "Microsoft.Contoso" +""" + +helps['providerhub notification-registration show'] = """ + type: command + short-summary: "Gets the notification registration details." + examples: + - name: NotificationRegistrations_Get + text: |- + az providerhub notification-registration show --name "testNotificationRegistration" --provider-namespace \ +"Microsoft.Contoso" +""" + +helps['providerhub notification-registration create'] = """ + type: command + short-summary: "Create a notification registration." + parameters: + - name: --notification-endpoints + long-summary: | + Usage: --notification-endpoints notification-destination=XX locations=XX + + + Multiple actions can be specified by using more than one --notification-endpoints argument. + examples: + - name: NotificationRegistrations_CreateOrUpdate + text: |- + az providerhub notification-registration create --name "testNotificationRegistration" --included-events \ +"*/write" "Microsoft.Contoso/employees/delete" --message-scope "RegisteredSubscriptions" --notification-endpoints \ +locations="" locations="East US" notification-destination="/subscriptions/00000000-0000-0000-0000-000000000000/resource\ +Groups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications"\ + --notification-endpoints locations="North Europe" notification-destination="/subscriptions/00000000-0000-0000-0000-000000000000\ + /resourceGroups/mgmtexp-northeurope/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlin\ +kednotifications" --notification-mode "EventHub" --provider-namespace "Microsoft.Contoso" +""" + +helps['providerhub notification-registration delete'] = """ + type: command + short-summary: "Deletes a notification registration." + examples: + - name: NotificationRegistrations_Delete + text: |- + az providerhub notification-registration delete --name "testNotificationRegistration" \ +--provider-namespace "Microsoft.Contoso" +""" + +helps['providerhub operation'] = """ + type: group + short-summary: Manage operation with providerhub +""" + +helps['providerhub operation list'] = """ + type: command + short-summary: "Gets the operations supported by the given provider." + examples: + - name: Operations_ListByProviderRegistration + text: |- + az providerhub operation list --provider-namespace "Microsoft.Contoso" +""" + +helps['providerhub operation create'] = """ + type: command + short-summary: "Create the operation supported by the given provider." + examples: + - name: Operations_CreateOrUpdate + text: |- + az providerhub operation create --contents "[{\\"name\\":\\"Microsoft.Contoso/Employees/Read\\",\\"displ\ +ay\\":{\\"description\\":\\"Read employees\\",\\"operation\\":\\"Gets/List employee resources\\",\\"provider\\":\\"Micr\ +osoft.Contoso\\",\\"resource\\":\\"Employees\\"}}]" --provider-namespace "Microsoft.Contoso" +""" + +helps['providerhub operation delete'] = """ + type: command + short-summary: "Deletes an operation." + examples: + - name: Operations_Delete + text: |- + az providerhub operation delete --provider-namespace "Microsoft.Contoso" +""" + helps['providerhub provider-registration'] = """ type: group short-summary: Manage provider registration with providerhub @@ -171,7 +251,7 @@ helps['providerhub provider-registration list'] = """ type: command - short-summary: ' Gets the list of the provider registrations in the subscription.' + short-summary: "Gets the list of the provider registrations in the subscription." examples: - name: ProviderRegistrations_List text: |- @@ -180,7 +260,7 @@ helps['providerhub provider-registration show'] = """ type: command - short-summary: 'Gets the provider registration details.' + short-summary: "Gets the provider registration details." examples: - name: ProviderRegistrations_Get text: |- @@ -189,16 +269,16 @@ helps['providerhub provider-registration create'] = """ type: command - short-summary: 'Create the provider registration.' + short-summary: "Create the provider registration." parameters: - - name: --provider-authentication + - name: --provider-authentication --provider-authn short-summary: 'Used to set alternative audiences or resources that ARM should accept from the token while authenticating requests for the provider.' long-summary: | Usage: --provider-authentication allowed-audiences=XX allowed-audiences: Required. The allowed audiences. - - name: --provider-authorizations + - name: --provider-authorizations --provider-authz short-summary: 'The resource provider authorizations.' long-summary: | Usage: --provider-authorizations application-id=XX role-definition-id=XX managed-by-role-definition-id=XX @@ -207,6 +287,7 @@ role-definition-id: Required. The role definition ID. managed-by-role-definition-id: Required. The managed by role definition ID. + Multiple actions can be specified by using more than one --provider-authorizations argument. - name: --provider-version type: string short-summary: 'The provider version.' @@ -219,6 +300,8 @@ long-summary: | Usage: --provider-type "Internal" + Available provider types include: Internal, External, Hidden, RegistrationFree, LegacyRegistrationRequired, TenantOnly, AuthorizationFree + - name: --namespace type: string short-summary: 'The name of the resource provider hosted within ProviderHub.' @@ -230,8 +313,9 @@ long-summary: | Usage: --capabilities quota-id=XX effect=XX required-features=XX + Multiple actions can be specified by using more than one --capabilities argument. - - name: --template-deployment-options + - name: --template-deployment-options --tmplt-deploy-opt short-summary: 'The template deployment options.' long-summary: | Usage: --template-deployment-options preflight-supported=XX preflight-options=XX @@ -248,13 +332,13 @@ Usage: --manifest-owners "SPARTA-PlatformServiceAdministrator" Multiple actions can be specified by using more than one --manifest-owners argument. - - name: --incident-routing-service + - name: --incident-routing-service --incident-service type: string short-summary: 'The service in IcM when creating or transferring incidents to the RP.' long-summary: | Usage: --incident-routing-service "Contoso Resource Provider" - - name: --incident-routing-team + - name: --incident-routing-team --incident-team type: string short-summary: 'The team in IcM when creating or transferring incidents to the RP.' long-summary: | @@ -274,42 +358,47 @@ service-id: Required. The service ID. component-id: Required. The component ID. - - name: --resource-access-policy - type: string - short-summary: 'The resource access policy.' - long-summary: | - Usage: --resource-access-policy "AcisReadAllowed, AcisActionAllowed" - - name: --opt-in-headers - type: string - short-summary: 'The opt-in headers.' + Multiple actions can be specified by using more than one --service-tree-infos argument. + - name: --override-actions --subscription-state-override-actions + short-summary: 'The subscription state override actions.' long-summary: | - Usage: --opt-in-headers "SignedUserToken" + Usage: --subscription-state-override-actions state=XX action=XX - - name: --required-features-policy - type: string - short-summary: 'The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​' - long-summary: | - Usage: --required-features-policy "All" - - name: --providerhub-metadata-provider-authorizations - short-summary: 'The provider authorizations.' + Multiple actions can be specified by using more than one --subscription-state-override-actions argument. + - name: --metadata-authz --providerhub-metadata-authorizations + short-summary: 'The ProviderHub metadata authorizations.' long-summary: | - Usage: --providerhub-metadata-provider-authorizations application-id=XX role-definition-id=XX \ + Usage: --providerhub-metadata-authorizations application-id=XX role-definition-id=XX \ managed-by-role-definition-id=XX application-id: Required. The application ID. role-definition-id: Required. The role definition ID. managed-by-role-definition-id: Required. The managed by role definition ID. - - name: --providerhub-metadata-rp-authentication - short-summary: 'Used to set alternative audiences or resources that ARM should accept from the token while authenticating requests for the provider. Only available to tenant level providers.' + Multiple actions can be specified by using more than one --providerhub-metadata-authorizations \ +argument. + - name: --metadata-authn --providerhub-metadata-authentication + short-summary: 'The ProviderHub metadata authentication.' long-summary: | - Usage: --providerhub-metadata-rp-authentication allowed-audiences=XX + Usage: --providerhub-metadata-authentication allowed-audiences=XX allowed-audiences: Required. The allowed audiences. - - name: --lighthouse-authorizations + - name: --resource-access-policy + type: string + short-summary: 'The resource access policy.' + long-summary: | + Usage: --resource-access-policy "AcisReadAllowed, AcisActionAllowed" + + - name: --opt-in-headers + type: string + short-summary: 'The opt-in headers.' + long-summary: | + Usage: --opt-in-headers "SignedUserToken" + + - name: --lighthouse-auth --lighthouse-authorizations short-summary: 'The lighthouse authorizations.' long-summary: | Usage: --lighthouse-authorizations principal-id=XX role-definition-id=XX @@ -322,20 +411,29 @@ short-summary: 'The managed by tenant ID.' long-summary: | Usage: --managed-by-tenant-id "00000000-0000-0000-0000-000000000000" - examples: - name: ProviderRegistrations_CreateOrUpdate text: |- - az providerhub provider-registration create --capabilities effect="Allow" quota-id="CSP_2015-05-01" \ ---capabilities effect="Allow" quota-id="CSP_MG_2017-12-01" --incident-contact-email "helpme@contoso.com" \ ---incident-routing-service "Contoso Resource Provider" --incident-routing-team "Contoso Triage" --provider-type \ -"Internal" --provider-version "2.0" --provider-namespace "Microsoft.Contoso" + az providerhub provider-registration create \ + --providerhub-metadata-authorizations application-id="00000000-0000-0000-0000-000000000000" \ + role-definition-id="00000000-0000-0000-0000-000000000000" \ + --providerhub-metadata-authentication allowed-audiences="https://management.core.windows.net/" \ + --service-tree-infos service-id="00000000-0000-0000-0000-000000000000" \ + component-id="00000000-0000-0000-0000-000000000000" \ + --capabilities effect="Allow" quota-id="CSP_2015-05-01" \ + --capabilities effect="Allow" quota-id="CSP_MG_2017-12-01" \ + --manifest-owners "SPARTA-PlatformServiceAdministrator" \ + --incident-contact-email "helpme@contoso.com" \ + --incident-routing-service "Contoso Resource Provider" \ + --incident-routing-team "Contoso Triage" \ + --provider-type "Internal" \ + --provider-version "2.0" \ + --provider-namespace "Microsoft.Contoso" """ - helps['providerhub provider-registration delete'] = """ type: command - short-summary: 'Deletes a provider registration.' + short-summary: "Deletes a provider registration." examples: - name: ProviderRegistrations_Delete text: |- @@ -344,23 +442,13 @@ helps['providerhub provider-registration generate-operation'] = """ type: command - short-summary: 'Generates the operations api for the given provider.' + short-summary: "Generates the operations api for the given provider." examples: - name: ProviderRegistrations_GenerateOperations text: |- az providerhub provider-registration generate-operation --provider-namespace "Microsoft.Contoso" """ -helps['providerhub provider-registration wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the providerhub provider-registration is met. - examples: - - name: Pause executing next line of CLI script until the providerhub provider-registration is successfully \ -created. - text: |- - az providerhub provider-registration wait --provider-namespace "Microsoft.Contoso" --created -""" - helps['providerhub resource-type-registration'] = """ type: group short-summary: Manage resource type registration with providerhub @@ -368,7 +456,7 @@ helps['providerhub resource-type-registration list'] = """ type: command - short-summary: 'Gets the list of the resource types for the given provider.' + short-summary: "Gets the list of the resource types for the given provider." examples: - name: ResourceTypeRegistrations_ListByProviderRegistration text: |- @@ -377,17 +465,17 @@ helps['providerhub resource-type-registration show'] = """ type: command - short-summary: 'Gets a resource type details in the given subscription and provider.' + short-summary: "Gets a resource type details in the given subscription and provider." examples: - name: ResourceTypeRegistrations_Get text: |- az providerhub resource-type-registration show --provider-namespace "Microsoft.Contoso" --resource-type \ -"testResourceType" +"employees" """ helps['providerhub resource-type-registration create'] = """ type: command - short-summary: 'Create a resource type.' + short-summary: "Create a resource type." parameters: - name: --swagger-specifications short-summary: 'The Swagger spec of the resource type.' @@ -404,67 +492,58 @@ long-summary: | Usage: --routing-type "Default" + Available routing types include: Default, ProxyOnly, HostBased, Extension, Tenant, Fanout, LocationBased, Failover, CascadeExtension, ChildFanout, CascadeAuthorizedExtension, BypassEndpointSelectionOptimization + - name: --regionality type: string short-summary: 'The regionality of the resource type.' long-summary: | Usage: --regionality "Regional" - - name: --endpoints type: string short-summary: 'The resource type endpoints.' long-summary: | Usage: --endpoints api-versions=XX locations=XX required-features=XX - api-versions: Required. Comma separated list of API versions. locations: Required. Comma separated list of locations. - required-features: Required. Comma separated list of required features. - + required-features: Required. List of required features. Multiple required-features can be specified. Multiple actions can be specified by using more than one --endpoints argument. - - name: --resource-creation-begin - type: string + - name: --creation-begin --resource-creation-begin short-summary: 'Extension options for handling the resource creation begin extension request.' long-summary: | - Usage: --resource-creation-begin request=XX response=XX - - request: The comma separated list of extension option types. - response: The comma separated list of extension option types. - - - name: --resource-patch-begin - type: string + Usage: --creation-begin request=XX response=XX + request: The list of extension option types. + response: The list of extension option types. + - name: --patch-begin --resource-patch-begin short-summary: 'Extension options for handling the resource patch begin extension request.' long-summary: | - Usage: --resource-patch-begin request=XX response=XX - - request: The comma separated list of extension option types. - response: The comma separated list of extension option types. - + Usage: --patch-begin request=XX response=XX + request: The list of extension option types. + response: The list of extension option types. - name: --marketplace-type type: string short-summary: 'The type of marketplace behavior for the resource type.' long-summary: | Usage: --marketplace-type "AddOn" - - - name: --allowed-unauthorized-actions + - name: --allowed-unauthorized-actions --aua type: string short-summary: 'The allowed unauthorized actions' long-summary: | Usage: --allowed-unauthorized-actions "Microsoft.Contoso/rpResourceType/read, Microsoft.Contoso/rpResourceType/delete" - - - name: --authorization-action-mappings + - name: --auth-mappings --authorization-action-mappings short-summary: 'Allows RP to override action verb for RBAC purposes at ARM.' long-summary: | - Usage: --authorization-action-mappings original=XX desired=XX + Usage: --auth-mappings original=XX desired=XX original: Required. The original action name. desired: Required. The desired action name. - Multiple actions can be specified by using more than one --authorization-action-mappings argument. + Multiple actions can be specified by using more than one --auth-mappings argument. - name: --linked-access-checks - type: string short-summary: 'Enables additional Role Based Access Control (RBAC) checks on related resources.' long-summary: | - Usage: --linked-access-checks action-name=XX linked-property=XX linked-action=XX linked-action-verb=XX linked-type=XX + Usage: --linked-access-checks action-name=XX linked-property=XX linked-action=XX linked-action-verb=XX \ +linked-type=XX action-name: The action name. linked-property: The linked property. @@ -507,11 +586,10 @@ long-summary: | Usage: --required-features "Microsoft.Contoso/feature1, Microsoft.Contoso/feature2" - - name: --required-features-policy - type: string + - name: --req-features-policy --required-features-policy short-summary: 'The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​' long-summary: | - Usage: --required-features-policy "All" + Usage: --req-features-policy "All" - name: --enable-async-operation type: string @@ -540,7 +618,7 @@ type: The type of the identity management. application-id: The application ID that handles the identity. - - name: --check-name-availability-specifications + - name: --check-name-availability-specifications --checkname-specs short-summary: 'Name availability checks feature at the platform level.' long-summary: | Usage: --check-name-availability-specifications enable-default-validation=XX \ @@ -549,11 +627,11 @@ enable-default-validation: Boolean indicating whether RP has chosen to opt-out of RPaaS to perform check name. resource-types-with-custom-validation: The types which needs additional validation from the RP. - - name: --disallowed-action-verbs + - name: --dav --disallowed-action-verbs type: string short-summary: 'The disallowed action verbs.' long-summary: | - Usage: --disallowed-action-verbs "read" + Usage: --dav "read" - name: --service-tree-infos short-summary: 'The ServiceTree information for the resource provider.' @@ -570,16 +648,16 @@ long-summary: | Usage: --opt-in-headers "SignedUserToken" - - name: --subscription-state-rules + - name: --sub-state-rules --subscription-state-rules short-summary: 'The subscription state rules.' long-summary: | - Usage: --subscription-state-rules state=XX allowed-actions=XX + Usage: --sub-state-rules state=XX allowed-actions=XX state: The subscription state. allowed-actions: The allowed actions. - Multiple actions can be specified by using more than one --subscription-state-rules argument. - - name: --template-deployment-options + Multiple actions can be specified by using more than one --sub-state-rules argument. + - name: --template-deployment-options --tmplt-deploy-opt short-summary: 'The template deployment options.' long-summary: | Usage: --template-deployment-options preflight-supported=XX preflight-options=XX @@ -606,25 +684,175 @@ cross-resource-group-move-enabled: Boolean indicating whether moving resources across resource groups is allowed. cross-subscription-move-enabled: Boolean indicating whether moving resources across subscriptions is allowed. - - name: --resource-deletion-policy + - name: --deletion-policy --resource-deletion-policy type: string short-summary: 'The resource deletion policy.' long-summary: | - Usage: --resource-deletion-policy "CascadeDeleteAll" + Usage: --deletion-policy "CascadeDeleteAll" + + - name: --override-actions --subscription-state-override-actions + short-summary: 'The subscription state override actions.' + long-summary: | + Usage: --subscription-state-override-actions state=XX action=XX + + + Multiple actions can be specified by using more than one --subscription-state-override-actions argument. + examples: - - name: ResourceTypeRegistration_CreateOrUpdate + - name: ResourceTypeRegistrations_CreateOrUpdate text: |- - az providerhub resource-type-registration create --endpoints api-versions="2020-01-01-preview,2019-01-01" locations="West US, West Central US" required-features="Microsoft.Contoso/SampleApp" \ ---regionality "regional" --routing-type "Default" --swagger-specifications api-versions="2020-06-01-preview" \ -swagger-spec-folder-uri="https://rp-swagger-spec-uri.com/" --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" + az providerhub resource-type-registration create \ + --endpoints api-versions="2019-01-01" locations="Global" \ + required-features="Microsoft.Contoso/RPaaSSampleApp" \ + extension-endpoint-uri="https://contoso-test-extension-endpoint.com/" \ + extension-categories="ResourceReadValidate" extension-categories="ResourceDeletionValidate" \ + --regionality "Global" \ + --routing-type "ProxyOnly" \ + --swagger-specifications api-versions="2019-01-01" \ + swagger-spec-folder-uri="https://github.com/pathtoresourceproviderswaggerspecfolder" \ + --provider-namespace "Microsoft.Contoso" \ + --enable-async-operation false \ + --template-deployment-options preflight-supported="true" \ + preflight-options="DefaultValidationOnly" preflight-options="continueDeploymentOnFailure" \ + --resource-type "testResourceType" """ helps['providerhub resource-type-registration delete'] = """ type: command - short-summary: 'Deletes a resource type.' + short-summary: "Deletes a resource type." examples: - - name: ResourceTypeRegistration_Delete + - name: ResourceTypeRegistrations_Delete text: |- az providerhub resource-type-registration delete --provider-namespace "Microsoft.Contoso" \ --resource-type "testResourceType" """ + +helps['providerhub sku'] = """ + type: group + short-summary: Manage sku with providerhub +""" + +helps['providerhub sku list'] = """ + type: command + short-summary: "Gets the list of skus for the given resource type. And Gets the list of skus for the given \ +resource type. And Gets the list of skus for the given resource type. And Gets the list of skus for the given resource \ +type." + examples: + - name: Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird + text: |- + az providerhub sku list --nested-resource-type-first "nestedResourceTypeFirst" \ +--nested-resource-type-second "nestedResourceTypeSecond" --nested-resource-type-third "nestedResourceTypeThird" \ +--provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" + - name: Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond + text: |- + az providerhub sku list --nested-resource-type-first "nestedResourceTypeFirst" \ +--nested-resource-type-second "nestedResourceTypeSecond" --provider-namespace "Microsoft.Contoso" --resource-type \ +"testResourceType" + - name: Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst + text: |- + az providerhub sku list --nested-resource-type-first "nestedResourceTypeFirst" --provider-namespace \ +"Microsoft.Contoso" --resource-type "testResourceType" + - name: Skus_ListByResourceTypeRegistrations + text: |- + az providerhub sku list --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" +""" + +helps['providerhub sku show'] = """ + type: command + short-summary: "Gets the sku details for the given resource type and sku name." + examples: + - name: Skus_Get + text: |- + az providerhub sku show --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" \ +--sku "testSku" +""" + +helps['providerhub sku create'] = """ + type: command + short-summary: "Creates or updates the resource type skus in the given resource type. And Creates or updates the \ +resource type skus in the given resource type. And Creates or updates the resource type skus in the given resource \ +type. And Create the resource type skus in the given resource type." + examples: + - name: Skus_CreateOrUpdateNestedResourceTypeThird + text: |- + az providerhub sku create --nested-resource-type-first "nestedResourceTypeFirst" \ +--nested-resource-type-second "nestedResourceTypeSecond" --nested-resource-type-third "nestedResourceTypeThird" \ +--sku-settings "[{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\":\\"Tier1\\"},{\\"name\\":\\"premiumSku\ +\\",\\"costs\\":[{\\"meterId\\":\\"xxx\\"}],\\"kind\\":\\"Premium\\",\\"tier\\":\\"Tier2\\"}]" --provider-namespace \ +"Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" + - name: Skus_CreateOrUpdateNestedResourceTypeSecond + text: |- + az providerhub sku create --nested-resource-type-first "nestedResourceTypeFirst" \ +--nested-resource-type-second "nestedResourceTypeSecond" --sku-settings "[{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Stand\ +ard\\",\\"tier\\":\\"Tier1\\"},{\\"name\\":\\"premiumSku\\",\\"costs\\":[{\\"meterId\\":\\"xxx\\"}],\\"kind\\":\\"Premi\ +um\\",\\"tier\\":\\"Tier2\\"}]" --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku \ +"testSku" + - name: Skus_CreateOrUpdateNestedResourceTypeFirst + text: |- + az providerhub sku create --nested-resource-type-first "nestedResourceTypeFirst" --sku-settings \ +"[{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\":\\"Tier1\\"},{\\"name\\":\\"premiumSku\\",\\"costs\\":\ +[{\\"meterId\\":\\"xxx\\"}],\\"kind\\":\\"Premium\\",\\"tier\\":\\"Tier2\\"}]" --provider-namespace \ +"Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" + - name: Skus_CreateOrUpdate + text: |- + az providerhub sku create --sku-settings "[{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\\ +":\\"Tier1\\"},{\\"name\\":\\"premiumSku\\",\\"costs\\":[{\\"meterId\\":\\"xxx\\"}],\\"kind\\":\\"Premium\\",\\"tier\\"\ +:\\"Tier2\\"}]" --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" +""" + +helps['providerhub sku delete'] = """ + type: command + short-summary: "Deletes a resource type sku. And Deletes a resource type sku. And Deletes a resource type sku. And \ +Deletes a resource type sku." + examples: + - name: Skus_DeleteNestedResourceTypeThird + text: |- + az providerhub sku delete --nested-resource-type-first "nestedResourceTypeFirst" \ +--nested-resource-type-second "nestedResourceTypeSecond" --nested-resource-type-third "nestedResourceTypeThird" \ +--provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" + - name: Skus_DeleteNestedResourceTypeSecond + text: |- + az providerhub sku delete --nested-resource-type-first "nestedResourceTypeFirst" \ +--nested-resource-type-second "nestedResourceTypeSecond" --provider-namespace "Microsoft.Contoso" --resource-type \ +"testResourceType" --sku "testSku" + - name: Skus_DeleteNestedResourceTypeFirst + text: |- + az providerhub sku delete --nested-resource-type-first "nestedResourceTypeFirst" --provider-namespace \ +"Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" + - name: Skus_Delete + text: |- + az providerhub sku delete --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" \ +--sku "testSku" +""" + +helps['providerhub sku show-nested-resource-type-first'] = """ + type: command + short-summary: "Gets the sku details for the given resource type and sku name." + examples: + - name: Skus_GetNestedResourceTypeFirst + text: |- + az providerhub sku show-nested-resource-type-first --nested-resource-type-first \ +"nestedResourceTypeFirst" --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" +""" + +helps['providerhub sku show-nested-resource-type-second'] = """ + type: command + short-summary: "Gets the sku details for the given resource type and sku name." + examples: + - name: Skus_GetNestedResourceTypeSecond + text: |- + az providerhub sku show-nested-resource-type-second --nested-resource-type-first \ +"nestedResourceTypeFirst" --nested-resource-type-second "nestedResourceTypeSecond" --provider-namespace \ +"Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" +""" + +helps['providerhub sku show-nested-resource-type-third'] = """ + type: command + short-summary: "Gets the sku details for the given resource type and sku name." + examples: + - name: Skus_GetNestedResourceTypeThird + text: |- + az providerhub sku show-nested-resource-type-third --nested-resource-type-first \ +"nestedResourceTypeFirst" --nested-resource-type-second "nestedResourceTypeSecond" --nested-resource-type-third \ +"nestedResourceTypeThird" --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" +""" diff --git a/src/providerhub/azext_providerhub/generated/_params.py b/src/providerhub/azext_providerhub/generated/_params.py index 62c14001030..f607833167a 100644 --- a/src/providerhub/azext_providerhub/generated/_params.py +++ b/src/providerhub/azext_providerhub/generated/_params.py @@ -18,31 +18,33 @@ ) from azure.cli.core.commands.validators import validate_file_or_dict from azext_providerhub.action import ( - AddCanary, + AddCanaryRegion, + AddDefaultRolloutROW2, AddProviderAuthentication, AddProviderAuthorizations, - AddResourceProviderAuthentication, AddCapabilities, AddSkipRegions, AddTemplateDeploymentOptions, - AddServiceTreeInfos, AddResourceTypeEndpointProperties, + AddSubscriptionStateOverrideActions, AddProviderHubMetadataProviderAuthorizations, + AddProviderHubMetadataAuthentication, AddAuthorizations, + AddNotificationEndpoints, AddSwaggerSpecifications, AddAuthorizationActionMappings, AddLinkedAccessChecks, AddThrottlingRules, AddIdentityManagement, AddCheckNameAvailabilitySpecifications, - AddResourcetyperegistrationServiceTreeInfos, + AddServiceTreeInfos, AddSubscriptionStateRules, AddExtendedLocations, AddResourceMovePolicy, AddRequiredFeatures, - AddResourceCreationBegin, + AddExtensionOptions, AddResourcePatchBegin, - AddLoggingRules, + AddLoggingRules ) @@ -62,16 +64,15 @@ def load_arguments(self, _): c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.') c.argument('rollout_name', type=str, help='The rollout name.') - c.argument('canary', action=AddCanary, nargs='+', - help='The canary regions to apply the manifest.') + c.argument('canary', action=AddCanaryRegion, nargs='+', + help='The canary regions to apply the manifest.', arg_group='Specification') with self.argument_context('providerhub custom-rollout update') as c: - c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', - id_part='name') - c.argument('rollout_name', type=str, - help='The rollout name.', id_part='child_name_1') - c.argument('canary', action=AddCanary, nargs='+', - help='The canary regions to apply the manifest.') + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('rollout_name', type=str, help='The rollout name.') + c.argument('canary', action=AddCanaryRegion, nargs='+', + help='The canary regions to apply the manifest.', arg_group='Specification') with self.argument_context('providerhub default-rollout list') as c: c.argument('provider_namespace', type=str, @@ -87,18 +88,18 @@ def load_arguments(self, _): c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.') c.argument('rollout_name', type=str, help='The rollout name.') - c.argument('row2_wait_duration', type=str, help='The wait duration before the rollout ' - 'begins in rest of the world two.') - c.argument('skip_regions', action=AddSkipRegions, + c.argument('rest_of_the_world_group_two', options_list=['--rest-of-the-world-group-two', '--row2'], action=AddDefaultRolloutROW2, + nargs='+', help='DefaultRollout rest of the world group two.') + c.argument('canary', action=AddCanaryRegion, nargs='*', help='The canary regions to skip.') with self.argument_context('providerhub default-rollout update') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.') c.argument('rollout_name', type=str, help='The rollout name.') - c.argument('row2_wait_duration', type=str, help='The wait duration before the rollout begins ' - 'in rest of the world two.') - c.argument('skip_regions', action=AddSkipRegions, + c.argument('rest_of_the_world_group_two', options_list=['--rest-of-the-world-group-two', '--row2'], action=AddDefaultRolloutROW2, + nargs='+', help='DefaultRollout rest of the world group two.') + c.argument('canary', action=AddCanaryRegion, nargs='*', help='The canary regions to skip.') with self.argument_context('providerhub default-rollout delete') as c: @@ -122,17 +123,78 @@ def load_arguments(self, _): with self.argument_context('providerhub manifest checkin') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', id_part='name') - c.argument('environment', type=str, help='The environment supplied to the checkin manifest ' - 'operation.') - c.argument('arm_manifest_location', type=str, help='The baseline ARM manifest location supplied to ' + c.argument('environment', type=str, + help='The environment supplied to the checkin manifest operation.') + c.argument('baseline_arm_manifest_location', options_list=['--baseline-arm-manifest-location', '--arm-manifest-location', '--location'], type=str, help='The baseline ARM manifest location supplied to ' 'the checkin manifest operation.') with self.argument_context('providerhub manifest generate') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', id_part='name') - with self.argument_context('providerhub provider-registration list') as c: - c.argument('resource_group_name', resource_group_name_type) + with self.argument_context('providerhub notification-registration list') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + + with self.argument_context('providerhub notification-registration show') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('notification_registration_name', options_list=['--name', '-n', '--notification-registration-name'], + type=str, help='The notification registration.', id_part='child_name_1') + + with self.argument_context('providerhub notification-registration create') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('notification_registration_name', options_list=['--name', '-n', '--notification-registration-name'], + type=str, help='The notification registration.') + c.argument('notification_mode', arg_type=get_enum_type( + ['NotSpecified', 'EventHub', 'WebHook']), help='Determines how the notifications are sent to the RP. The two available modes are EventHub and Webhook.') + c.argument('message_scope', arg_type=get_enum_type( + ['NotSpecified', 'RegisteredSubscriptions']), help='Limits the messages that are sent to the RP. The default value is RegisteredSubscriptions. The available values are Global (all messages in Azure) and RegisteredSubscriptions (only messages in subscriptions registered by RP).') + c.argument('included_events', nargs='+', + help='These are the events that the RP should be messaged on. The message format is in the form {RP Namespace}/{Resource Type}/{action}. The availabe actions are: write, delete and move/action.') + c.argument('notification_endpoints', + action=AddNotificationEndpoints, nargs='+', help='These are the locations for the notification messages. Notifications will be sent to the region of the event resource\'s location (e.g. VM in East Us will send message to the specified endpoint in East US).') + + with self.argument_context('providerhub notification-registration update') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('notification_registration_name', options_list=['--name', '-n', '--notification-registration-name'], + type=str, help='The notification registration.') + c.argument('notification_mode', arg_type=get_enum_type( + ['NotSpecified', 'EventHub', 'WebHook']), help='Determines how the notifications are sent to the RP. The two available modes are EventHub and Webhook.') + c.argument('message_scope', arg_type=get_enum_type( + ['NotSpecified', 'RegisteredSubscriptions']), help='Limits the messages that are sent to the RP. The default value is RegisteredSubscriptions. The available values are Global (all messages in Azure) and RegisteredSubscriptions (only messages in subscriptions registered by RP).') + c.argument('included_events', nargs='+', + help='These are the events that the RP should be messaged on. The message format is in the form {RP Namespace}/{Resource Type}/{action}. The availabe actions are: write, delete and move/action.') + c.argument('notification_endpoints', + action=AddNotificationEndpoints, nargs='+', help='These are the locations for the notification messages. Notifications will be sent to the region of the event resource\'s location (e.g. VM in East Us will send message to the specified endpoint in East US).') + + with self.argument_context('providerhub notification-registration delete') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('notification_registration_name', options_list=['--name', '-n', '--notification-registration-name'], + type=str, help='The notification registration.', id_part='child_name_1') + + with self.argument_context('providerhub operation list') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + + with self.argument_context('providerhub operation create') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('contents', type=validate_file_or_dict, + help=' Expected value: json-string/@json-file.') + + with self.argument_context('providerhub operation update') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('contents', type=validate_file_or_dict, + help=' Expected value: json-string/@json-file.') + + with self.argument_context('providerhub operation delete') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') with self.argument_context('providerhub provider-registration show') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', @@ -141,27 +203,27 @@ def load_arguments(self, _): with self.argument_context('providerhub provider-registration create') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.') - c.argument('provider_authentication', action=AddProviderAuthentication, nargs='+', + c.argument('provider_authentication', options_list=['--provider-authentication', '--provider-authn'], action=AddProviderAuthentication, nargs='+', help='Used to set alternative "audiences or resources" that ARM should accept from the token while authenticating requests for the provider. Only available to tenant level providers.') - c.argument('provider_authorizations', action=AddProviderAuthorizations, + c.argument('provider_authorizations', options_list=['--provider-authorizations', '--provider-authz'], action=AddProviderAuthorizations, nargs='+', help='The resource provider authorizations.') c.argument('provider_version', type=str, help='The provider version. 2.0 is the only supported version.') - c.argument('provider_type', arg_type=get_enum_type(['NotSpecified', 'Internal', 'External', 'Hidden', - 'RegistrationFree', 'LegacyRegistrationRequired', - 'TenantOnly', 'AuthorizationFree']), help='Value can be "Internal", "External", "Hidden", "RegistrationFree", "TenantOnly" or "LegacyRegistrationRequired". RegistrationFree is for providers that do not need subscriptions to explicitly register to use the provider. Hidden flag ensures that discovery APIs (GET /Providers) will not show the provider, however a user can still write to the provider explicitly. TenantOnly will not appear in Get /Providers and will not allow registration from users. LegacyRegistrationRequired is for legacy providers that need RDFE registration in addition to ARM registration.') + c.argument('provider_type', type=str, help='Value can be "Internal", "External", "Hidden", "RegistrationFree", "TenantOnly" or "LegacyRegistrationRequired". RegistrationFree is for providers that do not need subscriptions to explicitly register to use the provider. Hidden flag ensures that discovery APIs (GET /Providers) will not show the provider, however a user can still write to the provider explicitly. TenantOnly will not appear in Get /Providers and will not allow registration from users. LegacyRegistrationRequired is for legacy providers that need RDFE registration in addition to ARM registration.') c.argument('capabilities', action=AddCapabilities, nargs='+', help='Allow the access to the resource provider from a restrictive subscription quota (DreamSpark_2015-02-01 and CSP_2015-05-01​). The required​Features array is optional, if specified the subscription should meet the quota ​and at least one of the features. If no capabilities is specified the provider will be available to every subscription but the restrictive quotas. New providers are required to allow CSP_2015-05-01​​') c.argument('metadata', type=validate_file_or_dict, help='The metadata.') - c.argument('template_deployment_options', action=AddTemplateDeploymentOptions, + c.argument('template_deployment_options', options_list=['--template-deployment-options', '--tmplt-deploy-opt'], action=AddTemplateDeploymentOptions, nargs='+', help='The field for preflight options.') c.argument('schema_owners', nargs='+', help='Specifies an array of needed ACIS claims to modify the resource provider schema via ACIS.', arg_group='Management') c.argument('manifest_owners', nargs='+', help='Specifies an array of required ACIS claims to modify the resource provider\'s manifest content via ACIS.', arg_group='Management') - c.argument('incident_routing_service', type=str, + c.argument('required_features', nargs='+', + help='The required features.', arg_group='Management') + c.argument('incident_routing_service', options_list=['--incident-routing-service', '--incident-service'], type=str, help='The Service in IcM when creating or transferring incidents to the RP.', arg_group='Management') - c.argument('incident_routing_team', type=str, + c.argument('incident_routing_team', options_list=['--incident-routing-team', '--incident-team'], type=str, help='The Team in IcM when creating or transferring incidents to the RP.', arg_group='Management') c.argument('incident_contact_email', type=str, help='The email address of contacts for incidents related to the RP.', arg_group='Management') @@ -170,50 +232,52 @@ def load_arguments(self, _): c.argument('resource_access_policy', arg_type=get_enum_type(['NotSpecified', 'AcisReadAllowed', 'AcisActionAllowed']), help='The resource access policy.', arg_group='Management') + c.argument('resource_access_roles', type=validate_file_or_dict, + help='The resource access roles. Expected value: json-string/@json-file.', arg_group='Management') c.argument('opt_in_headers', arg_type=get_enum_type(['NotSpecified', 'SignedUserToken', 'ClientGroupMembership', 'SignedAuxiliaryTokens', 'UnboundedClientGroupMembership']), help='ARM allows customized headers when sending requests to the RP. This can be done both at the provider level or at the individual resource type level.', arg_group='Request Header Options') - c.argument('required_features_policy', arg_type=get_enum_type(['Any', 'All']), help='The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', arg_group='Features ' + c.argument('required_features_policy', options_list=['--required-features-policy', '--req-features-policy'], arg_type=get_enum_type(['Any', 'All']), help='The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', arg_group='Features ' 'Rule') - c.argument('providerhub_metadata_provider_authorizations', + c.argument('subscription_state_override_actions', options_list=['--subscription-state-override-actions', '--override-actions'], action=AddSubscriptionStateOverrideActions, nargs='+', + help='The subscription state override actions.', arg_group='Subscription Lifecycle Notification Specifications') + c.argument('soft_delete_ttl', help='The soft delete time to live.', + arg_group='Subscription Lifecycle Notification Specifications') + c.argument('providerhub_metadata_authorizations', options_list=['--providerhub-metadata-authorizations', '--metadata-authz'], action=AddProviderHubMetadataProviderAuthorizations, nargs='+', help='Available only for first party providers, this section can be used to bootstrap Service-to-Service authentication and authorization for the provider\'s application. When set, it would allow provider to access users\' subscription registered with them.', arg_group='Provider Hub Metadata') - c.argument('providerhub_metadata_rp_authentication', action=AddResourceProviderAuthentication, nargs='+', help='Used to set alternative "audiences or resources" that ARM should accept from the token while authenticating requests for the provider. Only available to tenant level providers.', + c.argument('providerhub_metadata_authentication', options_list=['--providerhub-metadata-authentication', '--metadata-authn'], action=AddProviderHubMetadataAuthentication, nargs='+', help='Used to set alternative "audiences or resources" that ARM should accept from the token while authenticating requests for the provider. Only available to tenant level providers.', arg_group='Provider Hub Metadata') - c.argument('lighthouse_authorizations', action=AddAuthorizations, nargs='+', help='The lighthouse authorizations.', arg_group='Provider Hub Metadata ' + c.argument('lighthouse_authorizations', options_list=['--lighthouse-authorizations', '--lighthouse-auth'], action=AddAuthorizations, nargs='+', help='The lighthouse authorizations.', arg_group='Provider Hub Metadata ' 'Third Party Provider Authorization') - c.argument('managed_by_tenant_id', type=str, help='The managed by tenant ID.', arg_group='Provider Hub Metadata Third Party Provider ' + c.argument('managed_by_tenant_id', type=str, help='The managed by tenant identifier.', arg_group='Provider Hub Metadata Third Party Provider ' 'Authorization') with self.argument_context('providerhub provider-registration update') as c: - c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', - id_part='name') - c.argument('provider_authentication', action=AddProviderAuthentication, nargs='+', + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('provider_authentication', options_list=['--provider-authentication', '--provider-authn'], action=AddProviderAuthentication, nargs='+', help='Used to set alternative "audiences or resources" that ARM should accept from the token while authenticating requests for the provider. Only available to tenant level providers.') - c.argument('provider_authorizations', action=AddProviderAuthorizations, + c.argument('provider_authorizations', options_list=['--provider-authorizations', '--provider-authz'], action=AddProviderAuthorizations, nargs='+', help='The resource provider authorizations.') - c.argument('namespace', type=str, - help='The name of the resource provider hosted within ProviderHub.') c.argument('provider_version', type=str, help='The provider version. 2.0 is the only supported version.') - c.argument('provider_type', arg_type=get_enum_type(['NotSpecified', 'Internal', 'External', 'Hidden', - 'RegistrationFree', 'LegacyRegistrationRequired', - 'TenantOnly', 'AuthorizationFree']), help='Value can be "Internal", "External", "Hidden", "RegistrationFree", "TenantOnly" or "LegacyRegistrationRequired". RegistrationFree is for providers that do not need subscriptions to explicitly register to use the provider. Hidden flag ensures that discovery APIs (GET /Providers) will not show the provider, however a user can still write to the provider explicitly. TenantOnly will not appear in Get /Providers and will not allow registration from users. LegacyRegistrationRequired is for legacy providers that need RDFE registration in addition to ARM registration.') - c.argument('required_features', action=AddRequiredFeatures, nargs='+', - help='If specified, only subscriptions registered to the corresponding feature flag will be allowed.') + c.argument('provider_type', type=str, help='Value can be "Internal", "External", "Hidden", "RegistrationFree", "TenantOnly" or "LegacyRegistrationRequired". RegistrationFree is for providers that do not need subscriptions to explicitly register to use the provider. Hidden flag ensures that discovery APIs (GET /Providers) will not show the provider, however a user can still write to the provider explicitly. TenantOnly will not appear in Get /Providers and will not allow registration from users. LegacyRegistrationRequired is for legacy providers that need RDFE registration in addition to ARM registration.') c.argument('capabilities', action=AddCapabilities, nargs='+', help='Allow the access to the resource provider from a restrictive subscription quota (DreamSpark_2015-02-01 and CSP_2015-05-01​). The required​Features array is optional, if specified the subscription should meet the quota ​and at least one of the features. If no capabilities is specified the provider will be available to every subscription but the restrictive quotas. New providers are required to allow CSP_2015-05-01​​') c.argument('metadata', type=validate_file_or_dict, - help='Any object Expected value: json-string/@json-file.') - c.argument('template_deployment_options', action=AddTemplateDeploymentOptions, + help='The metadata.') + c.argument('template_deployment_options', options_list=['--template-deployment-options', '--tmplt-deploy-opt'], action=AddTemplateDeploymentOptions, nargs='+', help='The field for preflight options.') c.argument('schema_owners', nargs='+', help='Specifies an array of needed ACIS claims to modify the resource provider schema via ACIS.', arg_group='Management') c.argument('manifest_owners', nargs='+', help='Specifies an array of required ACIS claims to modify the resource provider\'s manifest content via ACIS.', arg_group='Management') - c.argument('incident_routing_service', type=str, - help='The "Service" in IcM when creating or transferring incidents to the RP.', arg_group='Management') - c.argument('incident_routing_team', type=str, - help='The "Team" in IcM when creating or transferring incidents to the RP.', arg_group='Management') + c.argument('required_features', nargs='+', + help='The required features.', arg_group='Management') + c.argument('incident_routing_service', options_list=['--incident-routing-service', '--incident-service'], type=str, + help='The Service in IcM when creating or transferring incidents to the RP.', arg_group='Management') + c.argument('incident_routing_team', options_list=['--incident-routing-team', '--incident-team'], type=str, + help='The Team in IcM when creating or transferring incidents to the RP.', arg_group='Management') c.argument('incident_contact_email', type=str, help='The email address of contacts for incidents related to the RP.', arg_group='Management') c.argument('service_tree_infos', action=AddServiceTreeInfos, nargs='+', help='The ServiceTree information for the resource provider.', @@ -221,22 +285,26 @@ def load_arguments(self, _): c.argument('resource_access_policy', arg_type=get_enum_type(['NotSpecified', 'AcisReadAllowed', 'AcisActionAllowed']), help='The resource access policy.', arg_group='Management') + c.argument('resource_access_roles', type=validate_file_or_dict, + help='The resource access roles. Expected value: json-string/@json-file.', arg_group='Management') c.argument('opt_in_headers', arg_type=get_enum_type(['NotSpecified', 'SignedUserToken', 'ClientGroupMembership', 'SignedAuxiliaryTokens', 'UnboundedClientGroupMembership']), help='ARM allows customized headers when sending requests to the RP. This can be done both at the provider level or at the individual resource type level.', arg_group='Request Header Options') - c.argument('required_features_policy', arg_type=get_enum_type(['Any', 'All']), help='The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', arg_group='Features ' + c.argument('required_features_policy', options_list=['--required-features-policy', '--req-features-policy'], arg_type=get_enum_type(['Any', 'All']), help='The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', arg_group='Features ' 'Rule') - c.argument('providerhub_metadata_provider_authorizations', - action=AddProviderHubMetadataProviderAuthorizations, nargs='+', help='Available only for first party providers, this section can be used to bootstrap Service-to-Service authentication and authorization for the provider\'s application. When set, it would allow provider to access users\' subscription registered with them.', arg_group='Provider Hub ' - 'Metadata') - c.argument('providerhub_metadata_rp_authentication', action=AddResourceProviderAuthentication, nargs='+', help='Used to set alternative "audiences or resources" that ARM should accept from the token while authenticating requests for the provider. Only available to tenant level providers.', + c.argument('subscription_state_override_actions', options_list=['--subscription-state-override-actions', '--override-actions'], action=AddSubscriptionStateOverrideActions, nargs='+', + help='The subscription state override actions.', arg_group='Subscription Lifecycle Notification Specifications') + c.argument('soft_delete_ttl', help='The soft delete time to live.', + arg_group='Subscription Lifecycle Notification Specifications') + c.argument('providerhub_metadata_authorizations', options_list=['--providerhub-metadata-authorizations', '--metadata-authz'], + action=AddProviderHubMetadataProviderAuthorizations, nargs='+', help='Available only for first party providers, this section can be used to bootstrap Service-to-Service authentication and authorization for the provider\'s application. When set, it would allow provider to access users\' subscription registered with them.', arg_group='Provider Hub Metadata') + c.argument('providerhub_metadata_authentication', options_list=['--providerhub-metadata-authentication', '--metadata-authn'], action=AddProviderHubMetadataAuthentication, nargs='+', help='Used to set alternative "audiences or resources" that ARM should accept from the token while authenticating requests for the provider. Only available to tenant level providers.', arg_group='Provider Hub Metadata') - c.argument('lighthouse_authorizations', action=AddAuthorizations, nargs='+', help='The lighthouse authorizations.', arg_group='Provider Hub Metadata ' + c.argument('lighthouse_authorizations', options_list=['--lighthouse-authorizations', '--lighthouse-auth'], action=AddAuthorizations, nargs='+', help='The lighthouse authorizations.', arg_group='Provider Hub Metadata ' 'Third Party Provider Authorization') - c.argument('managed_by_tenant_id', type=str, help='The managed by tenant ID.', arg_group='Provider Hub Metadata Third Party Provider ' + c.argument('managed_by_tenant_id', type=str, help='The managed by tenant identifier.', arg_group='Provider Hub Metadata Third Party Provider ' 'Authorization') - c.ignore('properties') with self.argument_context('providerhub provider-registration delete') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', @@ -264,24 +332,18 @@ def load_arguments(self, _): c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.') c.argument('resource_type', type=str, help='The resource type.') - c.argument('routing_type', arg_type=get_enum_type(['Default', 'ProxyOnly', 'HostBased', 'Extension', - 'Tenant', 'Fanout', 'LocationBased', 'Failover', - 'CascadeExtension']), help='The resource routing type.') + c.argument('routing_type', type=str, help='The resource routing type.') c.argument('regionality', arg_type=get_enum_type( ['NotSpecified', 'Global', 'Regional']), help='The regionality of the resource type.') c.argument('endpoints', action=AddResourceTypeEndpointProperties, nargs='+', help='The resource ' 'type endpoint properties.') - c.argument('resource_creation_begin', action=AddResourceCreationBegin, nargs='+', - help='Extension options for handling the resource creation begin extension request.') - c.argument('resource_patch_begin', action=AddResourcePatchBegin, nargs='+', - help='Extension options for handling the resource patch begin extension request.') c.argument('marketplace_type', arg_type=get_enum_type( ['NotSpecified', 'AddOn', 'Bypass', 'Store']), help='The resource type behavior in the marketplace.') c.argument('swagger_specifications', action=AddSwaggerSpecifications, nargs='+', help='The OpenAPI (swagger specs) of the resource type. RPaaS will use the swagger specs to validate http requests/responses.') - c.argument('allowed_unauthorized_actions', nargs='+', + c.argument('allowed_unauthorized_actions', options_list=['--allowed-unauthorized-actions', '--aua'], nargs='+', help='The allowed unauthorized actions.') - c.argument('authorization_action_mappings', action=AddAuthorizationActionMappings, + c.argument('authorization_action_mappings', options_list=['--authorization-action-mappings', '--auth-mappings'], action=AddAuthorizationActionMappings, nargs='+', help='Allows RP to override action verb for RBAC purposes at ARM.') c.argument('linked_access_checks', action=AddLinkedAccessChecks, nargs='+', help='Enables additional Role Based Access Control (RBAC) checks on related resources.') @@ -291,61 +353,61 @@ def load_arguments(self, _): help='Enables additional event logs RP wants customers to see in their subscription for a particular action.') c.argument('throttling_rules', action=AddThrottlingRules, nargs='+', help='Allows RPs to set individual limits for different actions in terms of number of requests or number of resources (for collection read requests only).') - c.argument('required_features', action=AddRequiredFeatures, nargs='+', - help='If specified, only subscriptions registered to the corresponding feature flag will be allowed.') - c.argument('required_features_policy', arg_type=get_enum_type(['Any', 'All']), help='The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', arg_group='Features ' - 'Rule') - c.argument('enable_async_operation', arg_type=get_three_state_flag( - ), help='Indicates whether the async operation is enabled for this resource type.') - c.argument('enable_third_party_s2s', arg_type=get_three_state_flag( - ), help='Indicates whether to enable third party s2s.') + c.argument('enable_async_operation', + arg_type=get_three_state_flag(), help='The flag to enable async operation.') + c.argument('enable_third_party_s2s', + arg_type=get_three_state_flag(), help='The flag to enable Third Party S2S.') c.argument('is_pure_proxy', arg_type=get_three_state_flag(), - help='Indicates whether this is a "PureProxy" resource type.') - c.argument('identity_management', action=AddIdentityManagement, nargs='+', - help='MSI related settings. RPaaS supports Managed Identity and can help simplify the onboarding process.') - c.argument('check_name_availability_specifications', action=AddCheckNameAvailabilitySpecifications, nargs='+', - help='RPaaS provides this feature at the platform level to help UserRPs with name availability checks without calling into the POST extension endpoints for the "checkNameAvailability" resource type.') - c.argument('disallowed_action_verbs', nargs='+', - help='The supported values are "read", "write", "delete", "action".  This setting will block all operations of the specified type on the resource type. These actions map to the corresponding HTTP verbs.') - c.argument('service_tree_infos', action=AddResourcetyperegistrationServiceTreeInfos, - nargs='+', help='The ServiceTree information for the resource provider.') + help='The flag to indicate a pure proxy resource.') + c.argument('identity_management', + action=AddIdentityManagement, nargs='+', help='The Managed Identity Support.') + c.argument('check_name_availability_specifications', options_list=['--check-name-availability-specifications', '--checkname-specs'], action=AddCheckNameAvailabilitySpecifications, nargs='+', + help='The checkname availability specifications.') + c.argument('disallowed_action_verbs', options_list=[ + '--disallowed-action-verbs', '--dav'], nargs='+', help='The disallowed action verbs.') + c.argument('service_tree_infos', + action=AddServiceTreeInfos, nargs='+', help='The service tree infos.') + c.argument('subscription_state_rules', options_list=['--subscription-state-rules', '--sub-state-rules'], + action=AddSubscriptionStateRules, nargs='+', help='The subscription state rules.') + c.argument('template_deployment_options', options_list=['--template-deployment-options', '--tmplt-deploy-opt'], + action=AddTemplateDeploymentOptions, nargs='+', help='The template deployment options.') + c.argument('extended_locations', + action=AddExtendedLocations, nargs='+', help='The extended locations.') + c.argument('resource_move_policy', + action=AddResourceMovePolicy, nargs='+', help='The resource move policy.') + c.argument('resource_deletion_policy', options_list=['--resource-deletion-policy', '--deletion-policy'], arg_type=get_enum_type(['NotSpecified', 'CascadeDeleteAll', + 'CascadeDeleteProxyOnlyChildren']), help='The resource deletion policy.') c.argument('opt_in_headers', arg_type=get_enum_type(['NotSpecified', 'SignedUserToken', 'ClientGroupMembership', 'SignedAuxiliaryTokens', - 'UnboundedClientGroupMembership']), help='ARM allows customized headers when sending requests to the RP. This can be done both at the provider level or at the individual resource type level.', + 'UnboundedClientGroupMembership']), help='The opt in headers.', arg_group='Request Header Options') - c.argument('subscription_state_rules', action=AddSubscriptionStateRules, - nargs='+', help='The subscription policy.') - c.argument('template_deployment_options', action=AddTemplateDeploymentOptions, - nargs='+', help='The field for preflight options.') - c.argument('extended_locations', action=AddExtendedLocations, - nargs='+', help='The extended locations property.') - c.argument('resource_move_policy', action=AddResourceMovePolicy, nargs='+', - help='Indicates the resource type has opted in to move operations.') - c.argument('resource_deletion_policy', arg_type=get_enum_type(['NotSpecified', 'CascadeDeleteAll', - 'CascadeDeleteProxyOnlyChildren']), help='The property to customize RPaaS deletion operation.') + c.argument('subscription_state_override_actions', options_list=['--subscription-state-override-actions', '--override-actions'], action=AddSubscriptionStateOverrideActions, nargs='+', + help='The subscription state override action.', arg_group='Subscription Lifecycle Notification Specifications') + c.argument('soft_delete_ttl', help='The soft delete time to live.', + arg_group='Subscription Lifecycle Notification Specifications') + c.argument('required_features_policy', options_list=['--required-features-policy', '--req-features-policy'], arg_type=get_enum_type(['Any', 'All']), help='The required features policy.', arg_group='Features ' + 'Rule') + c.argument('resource_creation_begin', options_list=['--resource-creation-begin', '--creation-begin'], action=AddExtensionOptions, nargs='+', help='The resource creation begin extion option.', + arg_group='Extension Options') + c.argument('resource_patch_begin', options_list=['--resource-patch-begin', '--patch-begin'], action=AddExtensionOptions, nargs='+', help='The resource patch begin extion option.', + arg_group='Extension Options') with self.argument_context('providerhub resource-type-registration update') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.') c.argument('resource_type', type=str, help='The resource type.') - c.argument('routing_type', arg_type=get_enum_type(['Default', 'ProxyOnly', 'HostBased', 'Extension', - 'Tenant', 'Fanout', 'LocationBased', 'Failover', - 'CascadeExtension']), help='The resource routing type.') + c.argument('routing_type', type=str, help='The resource routing type.') c.argument('regionality', arg_type=get_enum_type( ['NotSpecified', 'Global', 'Regional']), help='The regionality of the resource type.') c.argument('endpoints', action=AddResourceTypeEndpointProperties, nargs='+', help='The resource ' 'type endpoint properties.') - c.argument('resource_creation_begin', action=AddResourceCreationBegin, nargs='+', - help='Extension options for handling the resource creation begin extension request.') - c.argument('resource_patch_begin', action=AddResourcePatchBegin, nargs='+', - help='Extension options for handling the resource patch begin extension request.') c.argument('marketplace_type', arg_type=get_enum_type( ['NotSpecified', 'AddOn', 'Bypass', 'Store']), help='The resource type behavior in the marketplace.') c.argument('swagger_specifications', action=AddSwaggerSpecifications, nargs='+', help='The OpenAPI (swagger specs) of the resource type. RPaaS will use the swagger specs to validate http requests/responses.') - c.argument('allowed_unauthorized_actions', nargs='+', + c.argument('allowed_unauthorized_actions', options_list=['--allowed-unauthorized-actions', '--aua'], nargs='+', help='The allowed unauthorized actions.') - c.argument('authorization_action_mappings', action=AddAuthorizationActionMappings, + c.argument('authorization_action_mappings', options_list=['--authorization-action-mappings', '--auth-mappings'], action=AddAuthorizationActionMappings, nargs='+', help='Allows RP to override action verb for RBAC purposes at ARM.') c.argument('linked_access_checks', action=AddLinkedAccessChecks, nargs='+', help='Enables additional Role Based Access Control (RBAC) checks on related resources.') @@ -355,41 +417,145 @@ def load_arguments(self, _): help='Enables additional event logs RP wants customers to see in their subscription for a particular action.') c.argument('throttling_rules', action=AddThrottlingRules, nargs='+', help='Allows RPs to set individual limits for different actions in terms of number of requests or number of resources (for collection read requests only).') - c.argument('required_features', action=AddRequiredFeatures, nargs='+', - help='If specified, only subscriptions registered to the corresponding feature flag will be allowed.') - c.argument('required_features_policy', arg_type=get_enum_type(['Any', 'All']), help='The accepted values are "Any" or "All". If the value is "All", then only the subscriptions registered to all the corresponding feature flag will be allowed.​', arg_group='Features ' - 'Rule') - c.argument('enable_async_operation', arg_type=get_three_state_flag( - ), help='Indicates whether the async operation is enabled for this resource type.') - c.argument('enable_third_party_s2s', arg_type=get_three_state_flag( - ), help='Indicates whether to enable third party s2s.') + c.argument('enable_async_operation', + arg_type=get_three_state_flag(), help='The flag to enable async operation.') + c.argument('enable_third_party_s2s', + arg_type=get_three_state_flag(), help='The flag to enable Third Party S2S.') c.argument('is_pure_proxy', arg_type=get_three_state_flag(), - help='Indicates whether this is a "PureProxy" resource type.') - c.argument('identity_management', action=AddIdentityManagement, nargs='+', - help='MSI related settings. RPaaS supports Managed Identity and can help simplify the onboarding process.') - c.argument('check_name_availability_specifications', action=AddCheckNameAvailabilitySpecifications, nargs='+', - help='RPaaS provides this feature at the platform level to help UserRPs with name availability checks without calling into the POST extension endpoints for the "checkNameAvailability" resource type.') - c.argument('disallowed_action_verbs', nargs='+', - help='The supported values are "read", "write", "delete", "action".  This setting will block all operations of the specified type on the resource type. These actions map to the corresponding HTTP verbs.') - c.argument('service_tree_infos', action=AddResourcetyperegistrationServiceTreeInfos, - nargs='+', help='The ServiceTree information for the resource provider.') + help='The flag to indicate a pure proxy resource.') + c.argument('identity_management', + action=AddIdentityManagement, nargs='+', help='The Managed Identity Support.') + c.argument('check_name_availability_specifications', options_list=['--check-name-availability-specifications', '--checkname-specs'], action=AddCheckNameAvailabilitySpecifications, nargs='+', + help='The checkname availability specifications.') + c.argument('disallowed_action_verbs', options_list=[ + '--disallowed-action-verbs', '--dav'], nargs='+', help='The disallowed action verbs.') + c.argument('service_tree_infos', + action=AddServiceTreeInfos, nargs='+', help='The service tree infos.') + c.argument('subscription_state_rules', options_list=['--subscription-state-rules', '--sub-state-rules'], + action=AddSubscriptionStateRules, nargs='+', help='The subscription state rules.') + c.argument('template_deployment_options', options_list=['--template-deployment-options', '--tmplt-deploy-opt'], + action=AddTemplateDeploymentOptions, nargs='+', help='The template deployment options.') + c.argument('extended_locations', + action=AddExtendedLocations, nargs='+', help='The extended locations.') + c.argument('resource_move_policy', + action=AddResourceMovePolicy, nargs='+', help='The resource move policy.') + c.argument('resource_deletion_policy', options_list=['--resource-deletion-policy', '--deletion-policy'], arg_type=get_enum_type(['NotSpecified', 'CascadeDeleteAll', + 'CascadeDeleteProxyOnlyChildren']), help='The resource deletion policy.') c.argument('opt_in_headers', arg_type=get_enum_type(['NotSpecified', 'SignedUserToken', 'ClientGroupMembership', 'SignedAuxiliaryTokens', - 'UnboundedClientGroupMembership']), help='ARM allows customized headers when sending requests to the RP. This can be done both at the provider level or at the individual resource type level.', + 'UnboundedClientGroupMembership']), help='The opt in headers.', arg_group='Request Header Options') - c.argument('subscription_state_rules', action=AddSubscriptionStateRules, - nargs='+', help='The subscription policy.') - c.argument('template_deployment_options', action=AddTemplateDeploymentOptions, - nargs='+', help='The field for preflight options.') - c.argument('extended_locations', action=AddExtendedLocations, - nargs='+', help='The extended locations property.') - c.argument('resource_move_policy', action=AddResourceMovePolicy, nargs='+', - help='Indicates the resource type has opted in to move operations.') - c.argument('resource_deletion_policy', arg_type=get_enum_type(['NotSpecified', 'CascadeDeleteAll', - 'CascadeDeleteProxyOnlyChildren']), help='The property to customize RPaaS deletion operation.') + c.argument('subscription_state_override_actions', options_list=['--subscription-state-override-actions', '--override-actions'], action=AddSubscriptionStateOverrideActions, nargs='+', + help='The subscription state override action.', arg_group='Subscription Lifecycle Notification Specifications') + c.argument('soft_delete_ttl', help='The soft delete time to live.', + arg_group='Subscription Lifecycle Notification Specifications') + c.argument('required_features_policy', options_list=['--required-features-policy', '--req-features-policy'], arg_type=get_enum_type(['Any', 'All']), help='The required features policy.', arg_group='Features ' + 'Rule') + c.argument('resource_creation_begin', options_list=['--resource-creation-begin', '--creation-begin'], action=AddExtensionOptions, nargs='+', help='The resource creation begin extion option.', + arg_group='Extension Options') + c.argument('resource_patch_begin', options_list=['--resource-patch-begin', '--patch-begin'], action=AddExtensionOptions, nargs='+', help='The resource patch begin extion option.', + arg_group='Extension Options') with self.argument_context('providerhub resource-type-registration delete') as c: c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', id_part='name') c.argument('resource_type', type=str, help='The resource type.', id_part='child_name_1') + + with self.argument_context('providerhub resource-type-registration wait') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('resource_type', type=str, + help='The resource type.', id_part='child_name_1') + + with self.argument_context('providerhub sku list') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('resource_type', type=str, help='The resource type.') + c.argument('nested_resource_type_first', options_list=['--nested-first', '--nested-resource-type-first'], type=str, + help='The first child resource type.') + c.argument('nested_resource_type_second', options_list=['--nested-second', '--nested-resource-type-second'], type=str, + help='The second child resource type.') + c.argument('nested_resource_type_third', options_list=['--nested-third', '--nested-resource-type-third'], type=str, + help='The third child resource type.') + + with self.argument_context('providerhub sku show') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('resource_type', type=str, + help='The resource type.', id_part='child_name_1') + c.argument('sku', type=str, help='The SKU.', id_part='child_name_2') + + with self.argument_context('providerhub sku create') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('resource_type', type=str, help='The resource type.') + c.argument('nested_resource_type_first', options_list=['--nested-first', '--nested-resource-type-first'], type=str, + help='The first child resource type.') + c.argument('nested_resource_type_second', options_list=['--nested-second', '--nested-resource-type-second'], type=str, + help='The second child resource type.') + c.argument('nested_resource_type_third', options_list=['--nested-third', '--nested-resource-type-third'], type=str, + help='The third child resource type.') + c.argument('sku', type=str, help='The SKU.') + c.argument('sku_settings', type=validate_file_or_dict, + help=' Expected value: json-string/@json-file.') + + with self.argument_context('providerhub sku update') as c: + c.argument('provider_namespace', type=str, + help='The name of the resource provider hosted within ProviderHub.') + c.argument('resource_type', type=str, help='The resource type.') + c.argument('nested_resource_type_first', options_list=['--nested-first', '--nested-resource-type-first'], type=str, + help='The first child resource type.') + c.argument('nested_resource_type_second', options_list=['--nested-second', '--nested-resource-type-second'], type=str, + help='The second child resource type.') + c.argument('nested_resource_type_third', options_list=['--nested-third', '--nested-resource-type-third'], type=str, + help='The third child resource type.') + c.argument('sku', type=str, help='The SKU.') + c.argument('sku_settings', type=validate_file_or_dict, + help=' Expected value: json-string/@json-file.') + + with self.argument_context('providerhub sku delete') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('resource_type', type=str, + help='The resource type.', id_part='child_name_1') + c.argument('nested_resource_type_first', options_list=['--nested-first', '--nested-resource-type-first'], type=str, help='The first child resource type.', + id_part='child_name_2') + c.argument('nested_resource_type_second', options_list=['--nested-second', '--nested-resource-type-second'], type=str, help='The second child resource type.', + id_part='child_name_3') + c.argument('nested_resource_type_third', options_list=['--nested-third', '--nested-resource-type-third'], type=str, help='The third child resource type.', + id_part='child_name_4') + c.argument('sku', type=str, help='The SKU.', id_part='child_name_5') + + with self.argument_context('providerhub sku show-nested-resource-type-first') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('resource_type', type=str, + help='The resource type.', id_part='child_name_1') + c.argument('nested_resource_type_first', options_list=['--nested-first', '--nested-resource-type-first'], type=str, help='The first child resource type.', + id_part='child_name_2') + c.argument('sku', type=str, help='The SKU.', id_part='child_name_3') + + with self.argument_context('providerhub sku show-nested-resource-type-second') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('resource_type', type=str, + help='The resource type.', id_part='child_name_1') + c.argument('nested_resource_type_first', options_list=['--nested-first', '--nested-resource-type-first'], type=str, help='The first child resource type.', + id_part='child_name_2') + c.argument('nested_resource_type_second', options_list=['--nested-second', '--nested-resource-type-second'], type=str, help='The second child resource type.', + id_part='child_name_3') + c.argument('sku', type=str, help='The SKU.', id_part='child_name_4') + + with self.argument_context('providerhub sku show-nested-resource-type-third') as c: + c.argument('provider_namespace', type=str, help='The name of the resource provider hosted within ProviderHub.', + id_part='name') + c.argument('resource_type', type=str, + help='The resource type.', id_part='child_name_1') + c.argument('nested_resource_type_first', options_list=['--nested-first', '--nested-resource-type-first'], type=str, help='The first child resource type.', + id_part='child_name_2') + c.argument('nested_resource_type_second', options_list=['--nested-second', '--nested-resource-type-second'], type=str, help='The second child resource type.', + id_part='child_name_3') + c.argument('nested_resource_type_third', options_list=['--nested-third', '--nested-resource-type-third'], type=str, help='The third child resource type.', + id_part='child_name_4') + c.argument('sku', type=str, help='The SKU.', id_part='child_name_5') diff --git a/src/providerhub/azext_providerhub/generated/action.py b/src/providerhub/azext_providerhub/generated/action.py index eb9f23e2c43..d12cdbd958c 100644 --- a/src/providerhub/azext_providerhub/generated/action.py +++ b/src/providerhub/azext_providerhub/generated/action.py @@ -10,6 +10,7 @@ # pylint: disable=protected-access import argparse +import json from collections import defaultdict from knack.util import CLIError @@ -20,10 +21,10 @@ def generate_list(inputStr): return [word.strip() for word in inputStr.split(',')] -class AddCanary(argparse.Action): +class AddDefaultRolloutROW2(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - namespace.canary = action + namespace.rest_of_the_world_group_two = action def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -31,17 +32,18 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() v = properties[k] - if kl == 'regions': - d['regions'] = v + if kl == 'wait-duration': + d['wait_duration'] = v[0] else: - raise CLIError('Unsupported Key {} is provided for parameter canary. All possible keys ' - 'are: regions'.format(k)) + raise CLIError('Unsupported Key {} is provided for parameter rest_of_the_world_group_two. All possible keys are: wait-duration'. + format(k)) return d @@ -56,8 +58,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -70,10 +73,10 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use return d -class AddResourceProviderAuthentication(argparse.Action): +class AddProviderHubMetadataAuthentication(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - namespace.providerhub_metadata_rp_authentication = action + namespace.providerhub_metadata_authentication = action def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -81,8 +84,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -98,7 +102,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddProviderAuthorizations(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddProviderAuthorizations, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -106,8 +111,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -127,7 +133,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddCapabilities(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddCapabilities, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -135,8 +142,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -162,13 +170,13 @@ def get_action(self, values): # pylint: disable=no-self-use return generate_list(values[0]) -class AddRequiredFeatures(argparse.Action): +class AddRequiredFeatures(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values) namespace.required_features = action def get_action(self, values): # pylint: disable=no-self-use - return generate_list(values[0]) + return values class AddTemplateDeploymentOptions(argparse.Action): @@ -182,8 +190,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -209,8 +218,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -236,9 +246,14 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error - d = {} + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = { + 'extensions': [ + {} + ] + } for k in properties: kl = k.lower() v = properties[k] @@ -247,14 +262,22 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use elif kl == 'locations': d['locations'] = generate_list(v[0]) elif kl == 'required-features': - d['required_features'] = generate_list(v[0]) + d['required_features'] = v + elif kl == 'extensions': + d['extensions'] = json.loads(v[0]) + elif kl == 'extension-endpoint-uri': + d['extensions'][0]['endpointUri'] = v[0] + elif kl == 'extension-categories': + d['extensions'][0]['extensionCategories'] = v + elif kl == 'extension-timeout': + d['extensions'][0]['timeout'] = v[0] else: - raise CLIError('Unsupported Key {} is provided for parameter service_tree_infos. All possible keys ' - 'are: api-versions, locations, required-features'.format(k)) + raise CLIError('Unsupported Key {} is provided for parameter endpoints. All possible keys ' + 'are: api-versions, locations, required-features, extension-endpoint-uri, extension-categories, extension-timeout'.format(k)) return d -class AddResourceCreationBegin(argparse.Action): +class AddExtensionOptions(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) namespace.resource_creation_begin = action @@ -265,16 +288,17 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() v = properties[k] if kl == 'request': - d['request'] = generate_list(v[0]) + d['request'] = v elif kl == 'response': - d['response'] = generate_list(v[0]) + d['response'] = v else: raise CLIError('Unsupported Key {} is provided for parameter resource_creation_begin. ' 'All possible keys are: request, response'.format(k)) @@ -292,16 +316,17 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() v = properties[k] if kl == 'request': - d['request'] = generate_list(v[0]) + d['request'] = v elif kl == 'response': - d['response'] = generate_list(v[0]) + d['response'] = v else: raise CLIError('Unsupported Key {} is provided for parameter resource_patch_begin. ' 'All possible keys are: request, response'.format(k)) @@ -311,7 +336,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddSubscriptionStateOverrideActions(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddSubscriptionStateOverrideActions, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -319,8 +345,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -338,7 +365,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddProviderHubMetadataProviderAuthorizations(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddProviderHubMetadataProviderAuthorizations, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -346,8 +374,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -359,7 +388,7 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use elif kl == 'managed-by-role-definition-id': d['managed_by_role_definition_id'] = v[0] else: - raise CLIError('Unsupported Key {} is provided for parameter providerhub_metadata_provider_authorizati' + raise CLIError('Unsupported Key {} is provided for parameter provider_hub_metadata_provider_authorizati' 'ons. All possible keys are: application-id, role-definition-id, ' 'managed-by-role-definition-id'.format(k)) return d @@ -368,7 +397,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddAuthorizations(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddAuthorizations, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -376,8 +406,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -392,10 +423,39 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use return d -class AddDisplay(argparse.Action): +class AddCanaryRegion(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.canary = 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 == 'skip-regions': + d['skip_regions'] = v + elif kl == 'regions': + d['regions'] = v + else: + raise CLIError('Unsupported Key {} is provided for parameter canary. All possible keys are: ' + 'skip-regions, regions'.format(k)) + return d + + +class AddNotificationEndpoints(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - namespace.display = action + super(AddNotificationEndpoints, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -403,30 +463,28 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() v = properties[k] - if kl == 'provider': - d['provider'] = v[0] - elif kl == 'resource': - d['resource'] = v[0] - elif kl == 'operation': - d['operation'] = v[0] - elif kl == 'description': - d['description'] = v[0] + if kl == 'notification-destination': + d['notification_destination'] = v[0] + elif kl == 'locations': + d['locations'] = v else: - raise CLIError('Unsupported Key {} is provided for parameter display. All possible keys are: provider, ' - 'resource, operation, description'.format(k)) + raise CLIError('Unsupported Key {} is provided for parameter notification_endpoints. All possible keys ' + 'are: notification-destination, locations'.format(k)) return d class AddSwaggerSpecifications(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddSwaggerSpecifications, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -434,8 +492,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -453,7 +512,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddAuthorizationActionMappings(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddAuthorizationActionMappings, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -461,8 +521,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -480,7 +541,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddLinkedAccessChecks(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddLinkedAccessChecks, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -488,8 +550,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -522,8 +585,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -543,7 +607,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddThrottlingRules(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddThrottlingRules, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -551,8 +616,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -580,8 +646,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -607,8 +674,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -624,37 +692,11 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use return d -class AddResourcetyperegistrationServiceTreeInfos(argparse._AppendAction): - def __call__(self, parser, namespace, values, option_string=None): - action = self.get_action(values, option_string) - super().__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 as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error - d = {} - for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'service-id': - d['service_id'] = v[0] - elif kl == 'component-id': - d['component_id'] = v[0] - else: - raise CLIError('Unsupported Key {} is provided for parameter service_tree_infos. All possible keys ' - 'are: service-id, component-id'.format(k)) - return d - - class AddSubscriptionStateRules(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddSubscriptionStateRules, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -662,8 +704,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -681,7 +724,8 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use class AddExtendedLocations(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super().__call__(parser, namespace, action, option_string) + super(AddExtendedLocations, self).__call__( + parser, namespace, action, option_string) def get_action(self, values, option_string): # pylint: disable=no-self-use try: @@ -689,8 +733,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -716,8 +761,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) - except ValueError as value_error: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) from value_error + except ValueError: + raise CLIError( + 'usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() @@ -733,3 +779,31 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use 'are: validation-required, cross-resource-group-move-enabled, ' 'cross-subscription-move-enabled'.format(k)) return d + + +class AddResourceCreationBegin(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.resource_creation_begin = 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 == 'request': + d['request'] = v + elif kl == 'response': + d['response'] = v + else: + raise CLIError('Unsupported Key {} is provided for parameter resource_creation_begin. All possible ' + 'keys are: request, response'.format(k)) + return d diff --git a/src/providerhub/azext_providerhub/generated/commands.py b/src/providerhub/azext_providerhub/generated/commands.py index b5bb0365632..4c067e85a3f 100644 --- a/src/providerhub/azext_providerhub/generated/commands.py +++ b/src/providerhub/azext_providerhub/generated/commands.py @@ -11,15 +11,11 @@ # pylint: disable=too-many-locals from azure.cli.core.commands import CliCommandType -from azext_providerhub.generated._client_factory import cf_custom_rollout -from azext_providerhub.generated._client_factory import cf_default_rollout -from azext_providerhub.generated._client_factory import cf_providerhub -from azext_providerhub.generated._client_factory import cf_provider_registration -from azext_providerhub.generated._client_factory import cf_resource_type_registration def load_command_table(self, _): + from azext_providerhub.generated._client_factory import cf_custom_rollout providerhub_custom_rollout = CliCommandType( operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._custom_rollouts_operations#CustomRollo' 'utsOperations.{}', @@ -30,6 +26,7 @@ def load_command_table(self, _): g.custom_show_command('show', 'providerhub_custom_rollout_show') g.custom_command('create', 'providerhub_custom_rollout_create') + from azext_providerhub.generated._client_factory import cf_default_rollout providerhub_default_rollout = CliCommandType( operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._default_rollouts_operations#DefaultRol' 'loutsOperations.{}', @@ -38,22 +35,41 @@ def load_command_table(self, _): client_factory=cf_default_rollout) as g: g.custom_command('list', 'providerhub_default_rollout_list') g.custom_show_command('show', 'providerhub_default_rollout_show') - g.custom_command( - 'create', 'providerhub_default_rollout_create', supports_no_wait=True) - g.custom_command( - 'delete', 'providerhub_default_rollout_delete', confirmation=True) + g.custom_command('create', 'providerhub_default_rollout_create', supports_no_wait=True) + g.custom_command('delete', 'providerhub_default_rollout_delete', confirmation=True) g.custom_command('stop', 'providerhub_default_rollout_stop') - g.custom_wait_command('wait', 'providerhub_default_rollout_show') + from azext_providerhub.generated._client_factory import cf_providerhub providerhub_ = CliCommandType( - operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._model_operations#ProviderhubOperations' + operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._model_operations#ProviderHubOperations' 'Mixin.{}', client_factory=cf_providerhub) - with self.command_group( - 'providerhub manifest', providerhub_, client_factory=cf_providerhub, is_experimental=True) as g: - g.custom_command('checkin', 'providerhub_manifest_checkin') - g.custom_command('generate', 'providerhub_manifest_generate') + with self.command_group('providerhub manifest', providerhub_, client_factory=cf_providerhub, is_experimental=True) as g: + g.custom_command('checkin', 'providerhub_checkin_manifest') + g.custom_command('generate', 'providerhub_generate_manifest') + + from azext_providerhub.generated._client_factory import cf_notification_registration + providerhub_notification_registration = CliCommandType( + operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._notification_registrations_operations#' + 'NotificationRegistrationsOperations.{}', + client_factory=cf_notification_registration) + with self.command_group('providerhub notification-registration', providerhub_notification_registration, + client_factory=cf_notification_registration) as g: + g.custom_command('list', 'providerhub_notification_registration_list') + g.custom_show_command('show', 'providerhub_notification_registration_show') + g.custom_command('create', 'providerhub_notification_registration_create') + g.custom_command('delete', 'providerhub_notification_registration_delete', confirmation=True) + + from azext_providerhub.generated._client_factory import cf_operation + providerhub_operation = CliCommandType( + operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._operations_operations#Operations.{}', + client_factory=cf_operation) + with self.command_group('providerhub operation', providerhub_operation, client_factory=cf_operation) as g: + g.custom_command('list', 'providerhub_operation_list') + g.custom_command('create', 'providerhub_operation_create') + g.custom_command('delete', 'providerhub_operation_delete', confirmation=True) + from azext_providerhub.generated._client_factory import cf_provider_registration providerhub_provider_registration = CliCommandType( operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._provider_registrations_operations#Prov' 'iderRegistrationsOperations.{}', @@ -62,14 +78,11 @@ def load_command_table(self, _): client_factory=cf_provider_registration) as g: g.custom_command('list', 'providerhub_provider_registration_list') g.custom_show_command('show', 'providerhub_provider_registration_show') - g.custom_command( - 'create', 'providerhub_provider_registration_create', supports_no_wait=True) - g.custom_command( - 'delete', 'providerhub_provider_registration_delete', confirmation=True) - g.custom_command('generate-operation', - 'providerhub_provider_registration_generate_operation') - g.custom_wait_command('wait', 'providerhub_provider_registration_show') + g.custom_command('create', 'providerhub_provider_registration_create', supports_no_wait=True) + g.custom_command('delete', 'providerhub_provider_registration_delete', confirmation=True) + g.custom_command('generate-operation', 'providerhub_provider_registration_generate_operation') + from azext_providerhub.generated._client_factory import cf_resource_type_registration providerhub_resource_type_registration = CliCommandType( operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._resource_type_registrations_operations' '#ResourceTypeRegistrationsOperations.{}', @@ -77,8 +90,7 @@ def load_command_table(self, _): with self.command_group('providerhub resource-type-registration', providerhub_resource_type_registration, client_factory=cf_resource_type_registration) as g: g.custom_command('list', 'providerhub_resource_type_registration_list') - g.custom_show_command( - 'show', 'providerhub_resource_type_registration_show') + g.custom_show_command('show', 'providerhub_resource_type_registration_show') providerhub_resource_type_registration = CliCommandType( operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._resource_type_registration_operations#' @@ -90,3 +102,16 @@ def load_command_table(self, _): 'create', 'providerhub_resource_type_registration_create') g.custom_command( 'delete', 'providerhub_resource_type_registration_delete', confirmation=True) + + from azext_providerhub.generated._client_factory import cf_sku + providerhub_sku = CliCommandType( + operations_tmpl='azext_providerhub.vendored_sdks.providerhub.operations._skus_operations#SkusOperations.{}', + client_factory=cf_sku) + with self.command_group('providerhub sku', providerhub_sku, client_factory=cf_sku) as g: + g.custom_command('list', 'providerhub_sku_list') + g.custom_show_command('show', 'providerhub_sku_show') + g.custom_command('create', 'providerhub_sku_create') + g.custom_command('delete', 'providerhub_sku_delete', confirmation=True) + g.custom_command('show-nested-resource-type-first', 'providerhub_sku_show_nested_resource_type_first') + g.custom_command('show-nested-resource-type-second', 'providerhub_sku_show_nested_resource_type_second') + g.custom_command('show-nested-resource-type-third', 'providerhub_sku_show_nested_resource_type_third') diff --git a/src/providerhub/azext_providerhub/generated/custom.py b/src/providerhub/azext_providerhub/generated/custom.py index 03163aeea57..b9643202dab 100644 --- a/src/providerhub/azext_providerhub/generated/custom.py +++ b/src/providerhub/azext_providerhub/generated/custom.py @@ -10,398 +10,682 @@ # pylint: disable=line-too-long # pylint: disable=too-many-lines # pylint: disable=unused-argument -# pylint: disable=too-many-locals from azure.cli.core.util import sdk_no_wait -def providerhub_custom_rollout_list(client, provider_namespace): +def providerhub_custom_rollout_list(client, + provider_namespace): return client.list_by_provider_registration(provider_namespace=provider_namespace) -def providerhub_custom_rollout_show(client, provider_namespace, rollout_name): - return client.get(provider_namespace=provider_namespace, rollout_name=rollout_name) +def providerhub_custom_rollout_show(client, + provider_namespace, + rollout_name): + return client.get(provider_namespace=provider_namespace, + rollout_name=rollout_name) -def providerhub_custom_rollout_create(client, provider_namespace, rollout_name, canary): - properties = {"specification": {"Canary": canary}} - return client.create_or_update( - provider_namespace=provider_namespace, - rollout_name=rollout_name, - properties=properties, - ) +def providerhub_custom_rollout_create(client, + provider_namespace, + rollout_name, + canary): + return client.create_or_update(provider_namespace=provider_namespace, + rollout_name=rollout_name, + canary=canary) -def providerhub_custom_rollout_update(client, provider_namespace, rollout_name, canary): - properties = {"specification": {"Canary": canary}} - return client.create_or_update( - provider_namespace=provider_namespace, - rollout_name=rollout_name, - properties=properties, - ) +def providerhub_custom_rollout_update(instance, + provider_namespace, + rollout_name, + canary): + if canary is not None: + instance.properties.specification.canary = canary + return instance -def providerhub_default_rollout_list(client, provider_namespace): + +def providerhub_default_rollout_list(client, + provider_namespace): return client.list_by_provider_registration(provider_namespace=provider_namespace) -def providerhub_default_rollout_show(client, provider_namespace, rollout_name): - return client.get(provider_namespace=provider_namespace, rollout_name=rollout_name) - - -def providerhub_default_rollout_create( - client, - provider_namespace, - rollout_name, - row2_wait_duration, - skip_regions=None, - no_wait=False, -): - return sdk_no_wait( - no_wait, - client.begin_create_or_update, - provider_namespace=provider_namespace, - rollout_name=rollout_name, - row2_wait_duration=row2_wait_duration, - skip_regions=skip_regions, - ) - - -def providerhub_default_rollout_update( - client, - provider_namespace, - rollout_name, - row2_wait_duration, - skip_regions=None, - no_wait=False, -): - return sdk_no_wait( - no_wait, - client.begin_create_or_update, - provider_namespace=provider_namespace, - rollout_name=rollout_name, - row2_wait_duration=row2_wait_duration, - skip_regions=skip_regions, - ) - - -def providerhub_default_rollout_delete(client, provider_namespace, rollout_name): - return client.delete( - provider_namespace=provider_namespace, rollout_name=rollout_name - ) - - -def providerhub_default_rollout_stop(client, provider_namespace, rollout_name): - return client.stop(provider_namespace=provider_namespace, rollout_name=rollout_name) - - -def providerhub_manifest_checkin( - client, provider_namespace, environment, arm_manifest_location -): +def providerhub_default_rollout_show(client, + provider_namespace, + rollout_name): + return client.get(provider_namespace=provider_namespace, + rollout_name=rollout_name) + + +def providerhub_default_rollout_create(client, + provider_namespace, + rollout_name, + rest_of_the_world_group_two=None, + canary=None, + no_wait=False): + properties = { + 'properties': { + 'specification': { + 'canary': canary, + 'rest_of_the_world_group_two': rest_of_the_world_group_two + } + } + } + return sdk_no_wait(no_wait, + client.begin_create_or_update, + provider_namespace=provider_namespace, + rollout_name=rollout_name, + properties=properties) + + +def providerhub_default_rollout_update(instance, + provider_namespace, + rollout_name, + rest_of_the_world_group_two=None, + canary=None, + no_wait=False): + if rest_of_the_world_group_two is not None: + instance.properties.specification.rest_of_the_world_group_two = rest_of_the_world_group_two + if canary is not None: + instance.properties.specification.canary = canary + return instance + + +def providerhub_default_rollout_delete(client, + provider_namespace, + rollout_name): + return client.delete(provider_namespace=provider_namespace, + rollout_name=rollout_name) + + +def providerhub_default_rollout_stop(client, + provider_namespace, + rollout_name): + return client.stop(provider_namespace=provider_namespace, + rollout_name=rollout_name) + + +def providerhub_checkin_manifest(client, + provider_namespace, + environment, + baseline_arm_manifest_location): checkin_manifest_params = {} - checkin_manifest_params["environment"] = environment - checkin_manifest_params[ - "baseline_arm_manifest_location" - ] = arm_manifest_location - return client.checkin_manifest( - provider_namespace=provider_namespace, - checkin_manifest_params=checkin_manifest_params, - ) + checkin_manifest_params['environment'] = environment + checkin_manifest_params['baseline_arm_manifest_location'] = baseline_arm_manifest_location + return client.checkin_manifest(provider_namespace=provider_namespace, + checkin_manifest_params=checkin_manifest_params) -def providerhub_manifest_generate(client, provider_namespace): +def providerhub_generate_manifest(client, + provider_namespace): return client.generate_manifest(provider_namespace=provider_namespace) -def providerhub_operation_list(client, provider_namespace): +def providerhub_notification_registration_list(client, + provider_namespace): + return client.list_by_provider_registration(provider_namespace=provider_namespace) + + +def providerhub_notification_registration_show(client, + provider_namespace, + notification_registration_name): + return client.get(provider_namespace=provider_namespace, + notification_registration_name=notification_registration_name) + + +def providerhub_notification_registration_create(client, + provider_namespace, + notification_registration_name, + notification_mode=None, + message_scope=None, + included_events=None, + notification_endpoints=None): + properties = {} + properties['properties'] = {} + properties['properties']['notification_mode'] = notification_mode + properties['properties']['message_scope'] = message_scope + properties['properties']['included_events'] = included_events + properties['properties']['notification_endpoints'] = notification_endpoints + return client.create_or_update(provider_namespace=provider_namespace, + notification_registration_name=notification_registration_name, + properties=properties) + + +def providerhub_notification_registration_update(instance, + provider_namespace, + notification_registration_name, + notification_mode=None, + message_scope=None, + included_events=None, + notification_endpoints=None): + if notification_mode is not None: + instance.properties.notification_mode = notification_mode + if message_scope is not None: + instance.properties.message_scope = message_scope + if included_events is not None: + instance.properties.included_events = included_events + if notification_endpoints is not None: + instance.properties.notification_endpoints = notification_endpoints + return instance + + +def providerhub_notification_registration_delete(client, + provider_namespace, + notification_registration_name): + return client.delete(provider_namespace=provider_namespace, + notification_registration_name=notification_registration_name) + + +def providerhub_operation_list(client, + provider_namespace): return client.list_by_provider_registration(provider_namespace=provider_namespace) -def providerhub_operation_create(client, provider_namespace): - return client.create_or_update(provider_namespace=provider_namespace) +def providerhub_operation_create(client, + provider_namespace, + contents): + operations_put_content = {} + operations_put_content['contents'] = contents + return client.create_or_update(provider_namespace=provider_namespace, + operations_put_content=operations_put_content) -def providerhub_operation_update(client, provider_namespace): - return client.create_or_update(provider_namespace=provider_namespace) +def providerhub_operation_update(client, + provider_namespace, + contents): + operations_put_content = {} + operations_put_content['contents'] = contents + return client.create_or_update(provider_namespace=provider_namespace, + operations_put_content=operations_put_content) -def providerhub_operation_delete(client, provider_namespace): +def providerhub_operation_delete(client, + provider_namespace): return client.delete(provider_namespace=provider_namespace) -def providerhub_provider_registration_list(client, resource_group_name=None): - if resource_group_name: - return client.list_by_resource_group(resource_group_name=resource_group_name) +def providerhub_provider_registration_list(client): return client.list() -def providerhub_provider_registration_show(client, provider_namespace): +def providerhub_provider_registration_show(client, + provider_namespace): return client.get(provider_namespace=provider_namespace) -def providerhub_provider_registration_create( - client, - provider_namespace, - provider_version="2.0", - namespace=None, - provider_type=None, - provider_authentication=None, - provider_authorizations=None, - capabilities=None, - metadata=None, - template_deployment_options=None, - schema_owners=None, - manifest_owners=None, - incident_routing_service=None, - incident_routing_team=None, - incident_contact_email=None, - service_tree_infos=None, - resource_access_policy=None, - opt_in_headers=None, - required_features_policy=None, - managed_by_tenant_id=None, - providerhub_metadata_provider_authorizations=None, - providerhub_metadata_rp_authentication=None, - lighthouse_authorizations=None, - no_wait=False, -): - return sdk_no_wait( - no_wait, - client.begin_create_or_update, - provider_namespace=provider_namespace, - provider_authentication=provider_authentication, - provider_authorizations=provider_authorizations, - namespace=namespace, - provider_version=provider_version, - provider_type=provider_type, - capabilities=capabilities, - metadata=metadata, - template_deployment_options=template_deployment_options, - schema_owners=schema_owners, - manifest_owners=manifest_owners, - incident_routing_service=incident_routing_service, - incident_routing_team=incident_routing_team, - incident_contact_email=incident_contact_email, - service_tree_infos=service_tree_infos, - resource_access_policy=resource_access_policy, - opt_in_headers=opt_in_headers, - required_features_policy=required_features_policy, - managed_by_tenant_id=managed_by_tenant_id, - providerhub_metadata_provider_authorizations=providerhub_metadata_provider_authorizations, - providerhub_metadata_rp_authentication=providerhub_metadata_rp_authentication, - lighthouse_authorizations=lighthouse_authorizations - ) - - -def providerhub_provider_registration_update( - client, - provider_namespace, - provider_version="2.0", - provider_type=None, - provider_authentication=None, - provider_authorizations=None, - capabilities=None, - metadata=None, - template_deployment_options=None, - schema_owners=None, - manifest_owners=None, - incident_routing_service=None, - incident_routing_team=None, - incident_contact_email=None, - service_tree_infos=None, - resource_access_policy=None, - opt_in_headers=None, - required_features_policy=None, - managed_by_tenant_id=None, - providerhub_metadata_provider_authorizations=None, - providerhub_metadata_rp_authentication=None, - lighthouse_authorizations=None, - no_wait=False, -): - return sdk_no_wait( - no_wait, - client.begin_create_or_update, - provider_namespace=provider_namespace, - provider_authentication=provider_authentication, - provider_authorizations=provider_authorizations, - provider_version=provider_version, - provider_type=provider_type, - capabilities=capabilities, - metadata=metadata, - template_deployment_options=template_deployment_options, - schema_owners=schema_owners, - manifest_owners=manifest_owners, - incident_routing_service=incident_routing_service, - incident_routing_team=incident_routing_team, - incident_contact_email=incident_contact_email, - service_tree_infos=service_tree_infos, - resource_access_policy=resource_access_policy, - opt_in_headers=opt_in_headers, - required_features_policy=required_features_policy, - managed_by_tenant_id=managed_by_tenant_id, - providerhub_metadata_provider_authorizations=providerhub_metadata_provider_authorizations, - providerhub_metadata_rp_authentication=providerhub_metadata_rp_authentication, - lighthouse_authorizations=lighthouse_authorizations - ) - - -def providerhub_provider_registration_delete(client, provider_namespace): +def providerhub_provider_registration_create(client, + provider_namespace, + provider_authentication=None, + provider_authorizations=None, + namespace=None, + provider_version=None, + provider_type=None, + required_features=None, + capabilities=None, + metadata=None, + template_deployment_options=None, + schema_owners=None, + manifest_owners=None, + incident_routing_service=None, + incident_routing_team=None, + incident_contact_email=None, + service_tree_infos=None, + resource_access_policy=None, + resource_access_roles=None, + opt_in_headers=None, + required_features_policy=None, + subscription_state_override_actions=None, + soft_delete_ttl=None, + managed_by_tenant_id=None, + providerhub_metadata_authorizations=None, + providerhub_metadata_authentication=None, + lighthouse_authorizations=None, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_create_or_update, + provider_namespace=provider_namespace, + provider_authentication=provider_authentication, + provider_authorizations=provider_authorizations, + namespace=namespace, + provider_version=provider_version, + provider_type=provider_type, + required_features=required_features, + capabilities=capabilities, + metadata=metadata, + template_deployment_options=template_deployment_options, + schema_owners=schema_owners, + manifest_owners=manifest_owners, + incident_routing_service=incident_routing_service, + incident_routing_team=incident_routing_team, + incident_contact_email=incident_contact_email, + service_tree_infos=service_tree_infos, + resource_access_policy=resource_access_policy, + opt_in_headers=opt_in_headers, + resource_access_roles=resource_access_roles, + subscription_state_override_actions=subscription_state_override_actions, + soft_delete_ttl=soft_delete_ttl, + required_features_policy=required_features_policy, + managed_by_tenant_id=managed_by_tenant_id, + providerhub_metadata_authorizations=providerhub_metadata_authorizations, + providerhub_metadata_authentication=providerhub_metadata_authentication, + lighthouse_authorizations=lighthouse_authorizations) + + +def providerhub_provider_registration_update(instance, + provider_namespace, + provider_authentication=None, + provider_authorizations=None, + namespace=None, + provider_version=None, + provider_type=None, + required_features=None, + capabilities=None, + metadata=None, + template_deployment_options=None, + schema_owners=None, + manifest_owners=None, + incident_routing_service=None, + incident_routing_team=None, + incident_contact_email=None, + service_tree_infos=None, + resource_access_policy=None, + resource_access_roles=None, + opt_in_headers=None, + required_features_policy=None, + subscription_state_override_actions=None, + soft_delete_ttl=None, + managed_by_tenant_id=None, + providerhub_metadata_authorizations=None, + providerhub_metadata_authentication=None, + lighthouse_authorizations=None, + no_wait=False): + if provider_authentication is not None: + instance.undefined = provider_authentication + if provider_authorizations is not None: + instance.undefined = provider_authorizations + if namespace is not None: + instance.undefined = namespace + if provider_version is not None: + instance.undefined = provider_version + if provider_type is not None: + instance.undefined = provider_type + if required_features is not None: + instance.undefined = required_features + if capabilities is not None: + instance.undefined = capabilities + if metadata is not None: + instance.undefined = metadata + if template_deployment_options is not None: + instance.undefined = template_deployment_options + if schema_owners is not None: + instance.undefined = schema_owners + if manifest_owners is not None: + instance.undefined = manifest_owners + if incident_routing_service is not None: + instance.undefined = incident_routing_service + if incident_routing_team is not None: + instance.undefined = incident_routing_team + if incident_contact_email is not None: + instance.undefined = incident_contact_email + if service_tree_infos is not None: + instance.undefined = service_tree_infos + if resource_access_policy is not None: + instance.undefined = resource_access_policy + if resource_access_roles is not None: + instance.undefined = resource_access_roles + if opt_in_headers is not None: + instance.undefined = opt_in_headers + if required_features_policy is not None: + instance.undefined = required_features_policy + if subscription_state_override_actions is not None: + instance.properties.subscription_lifecycle_notification_specifications.subscription_state_override_actions = subscription_state_override_actions + if soft_delete_ttl is not None: + instance.properties.subscription_lifecycle_notification_specifications.soft_delete_ttl = soft_delete_ttl + return instance + + +def providerhub_provider_registration_delete(client, + provider_namespace): return client.delete(provider_namespace=provider_namespace) -def providerhub_provider_registration_generate_operation(client, provider_namespace): +def providerhub_provider_registration_generate_operation(client, + provider_namespace): return client.generate_operations(provider_namespace=provider_namespace) -def providerhub_resource_type_registration_list(client, provider_namespace): +def providerhub_resource_type_registration_list(client, + provider_namespace): return client.list_by_provider_registration(provider_namespace=provider_namespace) -def providerhub_resource_type_registration_show( - client, provider_namespace, resource_type -): - return client.get( - provider_namespace=provider_namespace, resource_type=resource_type - ) - - -def providerhub_resource_type_registration_create( # pylint: disable=too-many-locals - client, - provider_namespace, - resource_type, - routing_type=None, - regionality=None, - endpoints=None, - marketplace_type=None, - resource_creation_begin=None, - resource_patch_begin=None, - swagger_specifications=None, - allowed_unauthorized_actions=None, - authorization_action_mappings=None, - linked_access_checks=None, - default_api_version=None, - logging_rules=None, - throttling_rules=None, - required_features=None, - enable_async_operation=None, - enable_third_party_s2s=None, - is_pure_proxy=None, - identity_management=None, - check_name_availability_specifications=None, - disallowed_action_verbs=None, - service_tree_infos=None, - subscription_state_rules=None, - template_deployment_options=None, - extended_locations=None, - resource_move_policy=None, - resource_deletion_policy=None, - opt_in_headers=None, - required_features_policy=None, -): - return client.begin_create_or_update( - provider_namespace=provider_namespace, - resource_type=resource_type, - routing_type=routing_type, - regionality=regionality, - endpoints=endpoints, - resource_creation_begin=resource_creation_begin, - resource_patch_begin=resource_patch_begin, - marketplace_type=marketplace_type, - swagger_specifications=swagger_specifications, - allowed_unauthorized_actions=allowed_unauthorized_actions, - authorization_action_mappings=authorization_action_mappings, - linked_access_checks=linked_access_checks, - default_api_version=default_api_version, - logging_rules=logging_rules, - throttling_rules=throttling_rules, - required_features=required_features, - enable_async_operation=enable_async_operation, - enable_third_party_s2s=enable_third_party_s2s, - is_pure_proxy=is_pure_proxy, - identity_management=identity_management, - check_name_availability_specifications=check_name_availability_specifications, - disallowed_action_verbs=disallowed_action_verbs, - service_tree_infos=service_tree_infos, - subscription_state_rules=subscription_state_rules, - template_deployment_options=template_deployment_options, - extended_locations=extended_locations, - resource_move_policy=resource_move_policy, - resource_deletion_policy=resource_deletion_policy, - opt_in_headers=opt_in_headers, - required_features_policy=required_features_policy, - ) - - -def providerhub_resource_type_registration_update( # pylint: disable=too-many-locals - client, - provider_namespace, - resource_type, - routing_type=None, - regionality=None, - endpoints=None, - marketplace_type=None, - resource_creation_begin=None, - resource_patch_begin=None, - swagger_specifications=None, - allowed_unauthorized_actions=None, - authorization_action_mappings=None, - linked_access_checks=None, - default_api_version=None, - logging_rules=None, - throttling_rules=None, - required_features=None, - enable_async_operation=None, - enable_third_party_s2s=None, - is_pure_proxy=None, - identity_management=None, - check_name_availability_specifications=None, - disallowed_action_verbs=None, - service_tree_infos=None, - subscription_state_rules=None, - template_deployment_options=None, - extended_locations=None, - resource_move_policy=None, - resource_deletion_policy=None, - opt_in_headers=None, - required_features_policy=None, -): - return client.begin_create_or_update( - provider_namespace=provider_namespace, - resource_type=resource_type, - routing_type=routing_type, - regionality=regionality, - endpoints=endpoints, - resource_creation_begin=resource_creation_begin, - resource_patch_begin=resource_patch_begin, - marketplace_type=marketplace_type, - swagger_specifications=swagger_specifications, - allowed_unauthorized_actions=allowed_unauthorized_actions, - authorization_action_mappings=authorization_action_mappings, - linked_access_checks=linked_access_checks, - default_api_version=default_api_version, - logging_rules=logging_rules, - throttling_rules=throttling_rules, - required_features=required_features, - enable_async_operation=enable_async_operation, - enable_third_party_s2s=enable_third_party_s2s, - is_pure_proxy=is_pure_proxy, - identity_management=identity_management, - check_name_availability_specifications=check_name_availability_specifications, - disallowed_action_verbs=disallowed_action_verbs, - service_tree_infos=service_tree_infos, - subscription_state_rules=subscription_state_rules, - template_deployment_options=template_deployment_options, - extended_locations=extended_locations, - resource_move_policy=resource_move_policy, - resource_deletion_policy=resource_deletion_policy, - opt_in_headers=opt_in_headers, - required_features_policy=required_features_policy, - ) - - -def providerhub_resource_type_registration_delete( - client, provider_namespace, resource_type -): - return client.delete( - provider_namespace=provider_namespace, resource_type=resource_type - ) +def providerhub_resource_type_registration_show(client, + provider_namespace, + resource_type): + return client.get(provider_namespace=provider_namespace, + resource_type=resource_type) + + +def providerhub_resource_type_registration_create(client, + provider_namespace, + resource_type, + routing_type=None, + regionality=None, + endpoints=None, + marketplace_type=None, + swagger_specifications=None, + allowed_unauthorized_actions=None, + authorization_action_mappings=None, + linked_access_checks=None, + default_api_version=None, + logging_rules=None, + throttling_rules=None, + required_features=None, + enable_async_operation=None, + enable_third_party_s2s=None, + is_pure_proxy=None, + identity_management=None, + check_name_availability_specifications=None, + disallowed_action_verbs=None, + service_tree_infos=None, + subscription_state_rules=None, + template_deployment_options=None, + extended_locations=None, + resource_move_policy=None, + resource_deletion_policy=None, + opt_in_headers=None, + subscription_state_override_actions=None, + soft_delete_ttl=None, + required_features_policy=None, + resource_creation_begin=None, + resource_patch_begin=None, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_create_or_update, + provider_namespace=provider_namespace, + resource_type=resource_type, + routing_type=routing_type, + regionality=regionality, + endpoints=endpoints, + marketplace_type=marketplace_type, + swagger_specifications=swagger_specifications, + allowed_unauthorized_actions=allowed_unauthorized_actions, + authorization_action_mappings=authorization_action_mappings, + linked_access_checks=linked_access_checks, + default_api_version=default_api_version, + logging_rules=logging_rules, + throttling_rules=throttling_rules, + required_features=required_features, + enable_async_operation=enable_async_operation, + enable_third_party_s2s=enable_third_party_s2s, + is_pure_proxy=is_pure_proxy, + identity_management=identity_management, + check_name_availability_specifications=check_name_availability_specifications, + disallowed_action_verbs=disallowed_action_verbs, + service_tree_infos=service_tree_infos, + subscription_state_rules=subscription_state_rules, + template_deployment_options=template_deployment_options, + extended_locations=extended_locations, + resource_move_policy=resource_move_policy, + resource_deletion_policy=resource_deletion_policy, + opt_in_headers=opt_in_headers, + subscription_state_override_actions=subscription_state_override_actions, + soft_delete_ttl=soft_delete_ttl, + required_features_policy=required_features_policy, + resource_creation_begin=resource_creation_begin, + resource_patch_begin=resource_patch_begin) + + +def providerhub_resource_type_registration_update(instance, + provider_namespace, + resource_type, + routing_type=None, + regionality=None, + endpoints=None, + marketplace_type=None, + swagger_specifications=None, + allowed_unauthorized_actions=None, + authorization_action_mappings=None, + linked_access_checks=None, + default_api_version=None, + logging_rules=None, + throttling_rules=None, + required_features=None, + enable_async_operation=None, + enable_third_party_s2s=None, + is_pure_proxy=None, + identity_management=None, + check_name_availability_specifications=None, + disallowed_action_verbs=None, + service_tree_infos=None, + subscription_state_rules=None, + template_deployment_options=None, + extended_locations=None, + resource_move_policy=None, + resource_deletion_policy=None, + opt_in_headers=None, + subscription_state_override_actions=None, + soft_delete_ttl=None, + required_features_policy=None, + resource_creation_begin=None, + resource_patch_begin=None, + no_wait=False): + if routing_type is not None: + instance.properties.routing_type = routing_type + if regionality is not None: + instance.properties.regionality = regionality + if endpoints is not None: + instance.properties.endpoints = endpoints + if marketplace_type is not None: + instance.properties.marketplace_type = marketplace_type + if swagger_specifications is not None: + instance.properties.swagger_specifications = swagger_specifications + if allowed_unauthorized_actions is not None: + instance.properties.allowed_unauthorized_actions = allowed_unauthorized_actions + if authorization_action_mappings is not None: + instance.properties.authorization_action_mappings = authorization_action_mappings + if linked_access_checks is not None: + instance.properties.linked_access_checks = linked_access_checks + if default_api_version is not None: + instance.properties.default_api_version = default_api_version + if logging_rules is not None: + instance.properties.logging_rules = logging_rules + if throttling_rules is not None: + instance.properties.throttling_rules = throttling_rules + if required_features is not None: + instance.properties.required_features = required_features + if enable_async_operation is not None: + instance.properties.enable_async_operation = enable_async_operation + if enable_third_party_s2s is not None: + instance.properties.enable_third_party_s2s = enable_third_party_s2s + if is_pure_proxy is not None: + instance.properties.is_pure_proxy = is_pure_proxy + if identity_management is not None: + instance.properties.identity_management = identity_management + if check_name_availability_specifications is not None: + instance.properties.check_name_availability_specifications = check_name_availability_specifications + if disallowed_action_verbs is not None: + instance.properties.disallowed_action_verbs = disallowed_action_verbs + if service_tree_infos is not None: + instance.properties.service_tree_infos = service_tree_infos + if subscription_state_rules is not None: + instance.properties.subscription_state_rules = subscription_state_rules + if template_deployment_options is not None: + instance.properties.template_deployment_options = template_deployment_options + if extended_locations is not None: + instance.properties.extended_locations = extended_locations + if resource_move_policy is not None: + instance.properties.resource_move_policy = resource_move_policy + if resource_deletion_policy is not None: + instance.properties.resource_deletion_policy = resource_deletion_policy + if opt_in_headers is not None: + instance.properties.request_header_options.opt_in_headers = opt_in_headers + if subscription_state_override_actions is not None: + instance.properties.subscription_lifecycle_notification_specifications.subscription_state_override_actions = subscription_state_override_actions + if soft_delete_ttl is not None: + instance.properties.subscription_lifecycle_notification_specifications.soft_delete_ttl = soft_delete_ttl + if required_features_policy is not None: + instance.properties.features_rule.required_features_policy = required_features_policy + if resource_creation_begin is not None: + instance.properties.extension_options.resource_creation_begin = resource_creation_begin + return instance + + +def providerhub_resource_type_registration_delete(client, + provider_namespace, + resource_type): + return client.delete(provider_namespace=provider_namespace, + resource_type=resource_type) + + +def providerhub_sku_list(client, + provider_namespace, + resource_type, + nested_resource_type_first=None, + nested_resource_type_second=None, + nested_resource_type_third=None): + if provider_namespace is not None and resource_type is not None and nested_resource_type_first is not None and nested_resource_type_second is not None and nested_resource_type_third is not None: + return client.list_by_resource_type_registrations_nested_resource_type_third(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second, + nested_resource_type_third=nested_resource_type_third) + elif provider_namespace is not None and resource_type is not None and nested_resource_type_first is not None and nested_resource_type_second is not None: + return client.list_by_resource_type_registrations_nested_resource_type_second(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second) + elif provider_namespace is not None and resource_type is not None and nested_resource_type_first is not None: + return client.list_by_resource_type_registrations_nested_resource_type_first(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first) + return client.list_by_resource_type_registrations(provider_namespace=provider_namespace, + resource_type=resource_type) + + +def providerhub_sku_show(client, + provider_namespace, + resource_type, + sku): + return client.get(provider_namespace=provider_namespace, + resource_type=resource_type, + sku=sku) + + +def providerhub_sku_create(client, + provider_namespace, + resource_type, + sku, + sku_settings, + nested_resource_type_first=None, + nested_resource_type_second=None, + nested_resource_type_third=None): + properties = {} + properties['sku_settings'] = sku_settings + if nested_resource_type_first is not None and nested_resource_type_second is not None and nested_resource_type_third is not None: + return client.create_or_update_nested_resource_type_third(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second, + nested_resource_type_third=nested_resource_type_third, + sku=sku, + properties=properties) + elif nested_resource_type_first is not None and nested_resource_type_second is not None: + return client.create_or_update_nested_resource_type_second(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second, + sku=sku, + properties=properties) + elif nested_resource_type_first is not None: + return client.create_or_update_nested_resource_type_first(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + sku=sku, + properties=properties) + return client.create_or_update(provider_namespace=provider_namespace, + resource_type=resource_type, + sku=sku, + properties=properties) + + +def providerhub_sku_update(client, + provider_namespace, + resource_type, + sku, + sku_settings): + properties = {} + properties['skuSettings'] = sku_settings + return client.create_or_update(provider_namespace=provider_namespace, + resource_type=resource_type, + sku=sku, + properties=properties) + + +def providerhub_sku_delete(client, + provider_namespace, + resource_type, + sku, + nested_resource_type_first=None, + nested_resource_type_second=None, + nested_resource_type_third=None): + if provider_namespace is not None and resource_type is not None and nested_resource_type_first is not None and nested_resource_type_second is not None and nested_resource_type_third is not None and sku is not None: + return client.delete_nested_resource_type_third(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second, + nested_resource_type_third=nested_resource_type_third, + sku=sku) + elif provider_namespace is not None and resource_type is not None and nested_resource_type_first is not None and nested_resource_type_second is not None and sku is not None: + return client.delete_nested_resource_type_second(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second, + sku=sku) + elif provider_namespace is not None and resource_type is not None and nested_resource_type_first is not None and sku is not None: + return client.delete_nested_resource_type_first(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + sku=sku) + return client.delete(provider_namespace=provider_namespace, + resource_type=resource_type, + sku=sku) + + +def providerhub_sku_show_nested_resource_type_first(client, + provider_namespace, + resource_type, + nested_resource_type_first, + sku): + return client.get_nested_resource_type_first(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + sku=sku) + + +def providerhub_sku_show_nested_resource_type_second(client, + provider_namespace, + resource_type, + nested_resource_type_first, + nested_resource_type_second, + sku): + return client.get_nested_resource_type_second(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second, + sku=sku) + + +def providerhub_sku_show_nested_resource_type_third(client, + provider_namespace, + resource_type, + nested_resource_type_first, + nested_resource_type_second, + nested_resource_type_third, + sku): + return client.get_nested_resource_type_third(provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type_first=nested_resource_type_first, + nested_resource_type_second=nested_resource_type_second, + nested_resource_type_third=nested_resource_type_third, + sku=sku) diff --git a/src/providerhub/azext_providerhub/tests/__init__.py b/src/providerhub/azext_providerhub/tests/__init__.py index 060861cf3e3..70488e93851 100644 --- a/src/providerhub/azext_providerhub/tests/__init__.py +++ b/src/providerhub/azext_providerhub/tests/__init__.py @@ -14,7 +14,6 @@ import sys import traceback import datetime as dt -from importlib import import_module from azure.core.exceptions import AzureError from azure.cli.testsdk.exceptions import CliTestError, CliExecutionError, JMESPathCheckAssertionError @@ -31,6 +30,7 @@ def try_manual(func): def import_manual_function(origin_func): + from importlib import import_module decorated_path = inspect.getfile(origin_func).lower() module_path = __path__[0].lower() if not decorated_path.startswith(module_path): @@ -70,8 +70,7 @@ def wrapper(*args, **kwargs): raise test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() test_map[func.__name__]["result"] = FAILED - test_map[func.__name__]["error_message"] = str( - e).replace("\r\n", " ").replace("\n", " ")[:500] + test_map[func.__name__]["error_message"] = str(e).replace("\r\n", " ").replace("\n", " ")[:500] test_map[func.__name__]["error_stack"] = traceback.format_exc().replace( "\r\n", " ").replace("\n", " ")[:500] logger.info("--------------------------------------") @@ -93,8 +92,7 @@ def calc_coverage(filename): filename = filename.split(".")[0] coverage_name = filename + "_coverage.md" with open(coverage_name, "w") as f: - f.write( - "|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt|\n") + f.write("|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt|\n") total = len(test_map) covered = 0 for k, v in test_map.items(): @@ -113,8 +111,6 @@ 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:]]) + 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/providerhub/azext_providerhub/tests/latest/example_steps.py b/src/providerhub/azext_providerhub/tests/latest/example_steps.py index a93fbbdbded..d8d9b2591d5 100644 --- a/src/providerhub/azext_providerhub/tests/latest/example_steps.py +++ b/src/providerhub/azext_providerhub/tests/latest/example_steps.py @@ -21,8 +21,7 @@ def step_custom_rollout_create(test, checks=None): test.cmd('az providerhub custom-rollout create ' '--provider-namespace "{providerNamespace}" ' '--rollout-name "{customRolloutName}" ' - '--canary regions="BrazilUS" ' - '--canary regions="EastUS2EUAP"', + '--canary regions="EastUS2EUAP" regions="centraluseuap"', checks=[]) @@ -57,8 +56,8 @@ def step_default_rollout_create(test, checks=None): test.cmd('az providerhub default-rollout create ' '--provider-namespace "{providerNamespace}" ' '--rollout-name "{defaultRolloutName}" ' - '--row2-wait-duration "PT2H" ' - '--skip-regions "brazilus, centraluseuap"', + '--rest-of-the-world-group-two wait-duration="PT2H" ' + '--canary skip-regions="centraluseuap"', checks=checks) @@ -107,6 +106,19 @@ def step_default_rollout_delete(test, checks=None): checks=checks) +# EXAMPLE: /Operations/put/Operations_CreateOrUpdate +@try_manual +def step_operation_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub operation create ' + '--contents "[{{\\"name\\":\\"Microsoft.Contoso/Employees/Read\\",\\"display\\":{{\\"description\\":\\"Rea' + 'd employees\\",\\"operation\\":\\"Gets/List employee resources\\",\\"provider\\":\\"Microsoft.Contoso\\",' + '\\"resource\\":\\"Employees\\"}}}}]" ' + '--provider-namespace "{providerNamespace}"', + checks=checks) + + # EXAMPLE: /Operations/get/Operations_ListByProviderRegistration @AllowLargeResponse() @try_manual @@ -135,7 +147,7 @@ def step_manifest_checkin(test, checks=None): checks = [] test.cmd('az providerhub manifest checkin ' '--environment "Prod" ' - '--arm-manifest-location "EastUS2EUAP" ' + '--baseline-arm-manifest-location "EastUS2EUAP" ' '--provider-namespace "{providerNamespace}"', checks=checks) @@ -158,10 +170,9 @@ def step_provider_registration_create(test, checks=None): if checks is None: checks = [] test.cmd('az providerhub provider-registration create ' - '--providerhub-metadata-provider-authorizations ' - 'application-id="3d834152-5efa-46f7-85a4-a18c2b5d46f9" ' + '--providerhub-metadata-authorizations application-id="3d834152-5efa-46f7-85a4-a18c2b5d46f9" ' 'role-definition-id="760505bf-dcfa-4311-b890-18da392a00b2" ' - '--providerhub-metadata-rp-authentication allowed-audiences="https://management.core.windows.net/" ' + '--providerhub-metadata-authentication allowed-audiences="https://management.core.windows.net/" ' '--service-tree-infos service-id="6f53185c-ea09-4fc3-9075-318dec805303" ' 'component-id="6f53185c-ea09-4fc3-9075-318dec805303" ' '--capabilities effect="Allow" quota-id="CSP_2015-05-01" ' @@ -170,7 +181,7 @@ def step_provider_registration_create(test, checks=None): '--incident-contact-email "helpme@contoso.com" ' '--incident-routing-service "Contoso Resource Provider" ' '--incident-routing-team "Contoso Triage" ' - '--provider-type "Internal" ' + '--provider-type "Internal, Hidden" ' '--provider-version "2.0" ' '--provider-namespace "{providerNamespace}"', checks=checks) @@ -225,53 +236,387 @@ def step_resource_type_registration_create(test, checks=None): if checks is None: checks = [] test.cmd('az providerhub resource-type-registration create ' - '--endpoints api-versions="2018-11-01-preview,2020-01-01-preview,2019-01-01" ' - 'locations="West US, West Central US,West Europe,Southeast Asia, West US 2,' - 'East US 2 EUAP, North Europe, East US, East Asia" ' - 'required-features="Microsoft.Contoso/RPaaSSampleApp" ' - '--regionality "Regional" ' - '--routing-type "Default" ' - '--swagger-specifications api-versions="2018-11-01-preview,' - '2020-01-01-preview,2019-01-01" swagger-spec-folder-uri="https://github.com/' - 'Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/' - 'resource-manager/Microsoft.Contoso/" ' + '--endpoints api-versions="2020-01-01-preview" ' + 'locations="" required-features="Microsoft.Contoso/RPaaSSampleApp" ' + '--regionality "Global" ' + '--routing-type "Proxyonly, Extension" ' + '--swagger-specifications api-versions="2020-01-01-preview" swagger-spec-folder-uri="https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/" ' '--provider-namespace "{providerNamespace}" ' - '--enable-async-operation true ' - '--resource-move-policy validation-required=false ' - 'cross-resource-group-move-enabled=true cross-subscription-move-enabled=true ' - '--resource-type "{resourceType}"', + '--enable-async-operation false ' + '--enable-third-party-s2s false ' + '--resource-type "extensionresourcetype"', + checks=checks) + + +# EXAMPLE: /ResourceTypeRegistrations/get/ResourceTypeRegistrations_ListByProviderRegistration +@AllowLargeResponse() +@try_manual +def step_resource_type_registration_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub resource-type-registration list ' + '--provider-namespace "{providerNamespace}"', + checks=checks) + + +# EXAMPLE: /ResourceTypeRegistrations/get/ResourceTypeRegistrations_Get +@AllowLargeResponse() +@try_manual +def step_resource_type_registration_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub resource-type-registration show ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "employees"', + checks=checks) + + +# EXAMPLE: /ResourceTypeRegistration/put/ResourceTypeRegistration_CreateOrUpdate +@AllowLargeResponse() +@try_manual +def step_nested_resource_type_registration_create(test, checks=None): + if checks is None: + checks = [ + test.check("properties.name", "employees/NestedResourceType", case_sensitive=False), + test.check("properties.routingType", "ProxyOnly", case_sensitive=False), + test.check("properties.regionality", "Global", case_sensitive=False) + ] + test.cmd('az providerhub resource-type-registration create ' + '--endpoints api-versions="2019-01-01" locations="Global" ' + 'required-features="Microsoft.Contoso/RPaaSSampleApp" extension-endpoint-uri="https://contoso-test-extension-endpoint.com/" extension-categories="ResourceReadValidate" extension-categories="ResourceDeletionValidate" ' + '--regionality "Global" ' + '--routing-type "ProxyOnly" ' + '--swagger-specifications api-versions="2019-01-01" swagger-spec-folder-uri="https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/" ' + '--provider-namespace "{providerNamespace}" ' + '--enable-async-operation false ' + '--template-deployment-options preflight-supported="true" preflight-options="DefaultValidationOnly" preflight-options="continueDeploymentOnFailure" ' + '--resource-type "{resourceType}/{nestedResourceType}"', + checks=checks) + + +# EXAMPLE: /ResourceTypeRegistration/put/ResourceTypeRegistration_CreateOrUpdate +@AllowLargeResponse() +@try_manual +def step_nested_resource_type_registration_extensions_create(test, checks=None): + if checks is None: + checks = [ + test.check("properties.name", "employees/NestedResourceType", case_sensitive=False), + test.check("properties.routingType", "ProxyOnly", case_sensitive=False), + test.check("properties.regionality", "Global", case_sensitive=False) + ] + test.cmd('az providerhub resource-type-registration create ' + '--endpoints api-versions="2019-01-01" locations="Global" ' + 'required-features="Microsoft.Contoso/RPaaSSampleApp" extensions=[{{\\"endpointUri\\":\\"https://contoso-test-extension-endpoint.com/\\",\\"extensionCategories\\":[\\"ResourceReadValidate\\",\\"ResourceDeletionValidate\\"]}}] ' + '--regionality "Global" ' + '--routing-type "ProxyOnly" ' + '--swagger-specifications api-versions="2019-01-01" swagger-spec-folder-uri="https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/" ' + '--provider-namespace "{providerNamespace}" ' + '--enable-async-operation false ' + '--template-deployment-options preflight-supported="true" preflight-options="DefaultValidationOnly" preflight-options="continueDeploymentOnFailure" ' + '--resource-type "{resourceType}/{nestedResourceType}"', checks=checks) # EXAMPLE: /ResourceTypeRegistration/delete/ResourceTypeRegistration_Delete @try_manual -def step_resource_type_registration_delete(test, checks=None): +def step_nested_resource_type_registration_delete(test, checks=None): if checks is None: checks = [] test.cmd('az providerhub resource-type-registration delete -y ' '--provider-namespace "{providerNamespace}" ' - '--resource-type "{resourceType}"', + '--resource-type "{resourceType}/{nestedResourceType}"', checks=checks) # EXAMPLE: /ResourceTypeRegistrations/get/ResourceTypeRegistrations_Get @AllowLargeResponse() @try_manual -def step_resource_type_registration_show(test, checks=None): +def step_nested_resource_type_registration_show(test, checks=None): if checks is None: checks = [] test.cmd('az providerhub resource-type-registration show ' '--provider-namespace "{providerNamespace}" ' - '--resource-type "{resourceType}"', + '--resource-type "{resourceType}/{nestedResourceType}"', checks=checks) -# EXAMPLE: /ResourceTypeRegistrations/get/ResourceTypeRegistrations_ListByProviderRegistration -@AllowLargeResponse() +# EXAMPLE: /NotificationRegistrations/put/NotificationRegistrations_CreateOrUpdate @try_manual -def step_resource_type_registration_list(test, checks=None): +def step_notification_registration_create(test, checks=None): + if checks is None: + checks = [ + test.check("name", "{notificationRegistration}", case_sensitive=False), + test.check("properties.messageScope", "RegisteredSubscriptions", case_sensitive=False), + test.check("properties.notificationMode", "EventHub", case_sensitive=False) + ] + test.cmd('az providerhub notification-registration create ' + '--name "{notificationRegistration}" ' + '--included-events "*/write" "Microsoft.Contoso/employees/delete" ' + '--message-scope "RegisteredSubscriptions" ' + '--notification-endpoints locations="" locations="East US" notification-destination="/subscriptions/ac6bcfb5-3dc1-491f-95a6-646b89bf3e88/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications" ' + '--notification-endpoints locations="East US" notification-destination="/subscriptions/{subscription_' + 'id}/resourceGroups/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkedno' + 'tifications" ' + '--notification-mode "EventHub" ' + '--provider-namespace "{providerNamespace}"', + checks=checks) + + +# EXAMPLE: /NotificationRegistrations/get/NotificationRegistrations_Get +@try_manual +def step_notification_registration_show(test, checks=None): + if checks is None: + checks = [ + test.check("name", "{notificationRegistration}", case_sensitive=False), + test.check("properties.messageScope", "RegisteredSubscriptions", case_sensitive=False), + test.check("properties.notificationMode", "EventHub", case_sensitive=False), + ] + test.cmd('az providerhub notification-registration show ' + '--name "{notificationRegistration}" ' + '--provider-namespace "{providerNamespace}"', + checks=checks) + + +# EXAMPLE: /NotificationRegistrations/get/NotificationRegistrations_ListByProviderRegistration +@try_manual +def step_notification_registration_list(test, checks=None): + if checks is None: + checks = [ + test.check('length(@)', 2), + ] + test.cmd('az providerhub notification-registration list ' + '--provider-namespace "{providerNamespace}"', + checks=checks) + + +# EXAMPLE: /NotificationRegistrations/delete/NotificationRegistrations_Delete +@try_manual +def step_notification_registration_delete(test, checks=None): if checks is None: checks = [] - test.cmd('az providerhub resource-type-registration list ' + test.cmd('az providerhub notification-registration delete -y ' + '--name "{notificationRegistration}" ' '--provider-namespace "{providerNamespace}"', checks=checks) + + +# EXAMPLE: /Skus/put/Skus_CreateOrUpdate +@try_manual +def step_sku_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku create ' + '--sku-settings "[{{\\"name\\":\\"freeSku\\"}}]" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/put/Skus_CreateOrUpdateNestedResourceTypeFirst +@try_manual +def step_sku_create2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku create ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--sku-settings "[{{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\":\\"Tier1\\"}},{{\\"name' + '\\":\\"premiumSku\\",\\"costs\\":[{{\\"meterId\\":\\"xxx\\"}}],\\"kind\\":\\"Premium\\",\\"tier\\":\\"Tie' + 'r2\\"}}]" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/put/Skus_CreateOrUpdateNestedResourceTypeSecond +@try_manual +def step_sku_create3(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku create ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--sku-settings "[{{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\":\\"Tier1\\"}},{{\\"name' + '\\":\\"premiumSku\\",\\"costs\\":[{{\\"meterId\\":\\"xxx\\"}}],\\"kind\\":\\"Premium\\",\\"tier\\":\\"Tie' + 'r2\\"}}]" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/put/Skus_CreateOrUpdateNestedResourceTypeThird +@try_manual +def step_sku_create4(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku create ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--nested-resource-type-third "nestedResourceTypeThird" ' + '--sku-settings "[{{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\":\\"Tier1\\"}},{{\\"name' + '\\":\\"premiumSku\\",\\"costs\\":[{{\\"meterId\\":\\"xxx\\"}}],\\"kind\\":\\"Premium\\",\\"tier\\":\\"Tie' + 'r2\\"}}]" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_Get +@try_manual +def step_sku_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku show ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_GetNestedResourceTypeFirst +@try_manual +def step_sku_show_nested_resource_type_first(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku show-nested-resource-type-first ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_GetNestedResourceTypeSecond +@try_manual +def step_sku_show_nested_resource_type_second(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku show-nested-resource-type-second ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_GetNestedResourceTypeThird +@try_manual +def step_sku_show_nested_resource_type_third(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku show-nested-resource-type-third ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--nested-resource-type-third "nestedResourceTypeThird" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_ListByResourceTypeRegistrations +@try_manual +def step_sku_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku list ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst +@try_manual +def step_sku_list2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku list ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond +@try_manual +def step_sku_list3(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku list ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}"', + checks=checks) + + +# EXAMPLE: /Skus/get/Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird +@try_manual +def step_sku_list4(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku list ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--nested-resource-type-third "nestedResourceTypeThird" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}"', + checks=checks) + + +# EXAMPLE: /Skus/delete/Skus_Delete +@try_manual +def step_sku_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku delete -y ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/delete/Skus_DeleteNestedResourceTypeFirst +@try_manual +def step_sku_delete2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku delete -y ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/delete/Skus_DeleteNestedResourceTypeSecond +@try_manual +def step_sku_delete3(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku delete -y ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) + + +# EXAMPLE: /Skus/delete/Skus_DeleteNestedResourceTypeThird +@try_manual +def step_sku_delete4(test, checks=None): + if checks is None: + checks = [] + test.cmd('az providerhub sku delete -y ' + '--nested-resource-type-first "nestedResourceTypeFirst" ' + '--nested-resource-type-second "nestedResourceTypeSecond" ' + '--nested-resource-type-third "nestedResourceTypeThird" ' + '--provider-namespace "{providerNamespace}" ' + '--resource-type "{resourceType}" ' + '--sku "{skuName}"', + checks=checks) diff --git a/src/providerhub/azext_providerhub/tests/latest/recordings/test_providerhub_Scenario.yaml b/src/providerhub/azext_providerhub/tests/latest/recordings/test_providerhub_Scenario.yaml index e18cdf1c3db..6f93ad484cf 100644 --- a/src/providerhub/azext_providerhub/tests/latest/recordings/test_providerhub_Scenario.yaml +++ b/src/providerhub/azext_providerhub/tests/latest/recordings/test_providerhub_Scenario.yaml @@ -1,6 +1,188 @@ interactions: - request: - body: '{"properties": {"specification": {"canary": {"regions": ["EastUS2EUAP"]}}}}' + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub manifest generate + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --provider-namespace + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/generateManifest?api-version=2020-11-20 + response: + body: + string: '{"providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal, + Hidden","resourceTypes":[{"name":"extensionresourcetype","routingType":"ProxyOnly, + Extension","resourceValidation":"ReservedWords, ProfaneWords","endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://global.metarp.azure.com/","locations":[""],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"}],"metadata":{"providerHubMetadata":{"providerExtendsPreflight":true}},"templateDeploymentPolicy":{"capabilities":"Preflight","preflightOptions":"ValidationRequests, + DeploymentRequests"},"linkedOperationRules":[]},{"name":"Operations","routingType":"ProxyOnly, + Tenant","resourceValidation":"ReservedWords, ProfaneWords","allowedUnauthorizedActions":["microsoft.contoso/operations/read"],"endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://global.metarp.azure.com/","locations":[""],"timeout":"PT20S","endpointType":"NotSpecified"}],"metadata":{"providerHubMetadata":{"providerExtendsPreflight":true}},"templateDeploymentPolicy":{"capabilities":"Preflight","preflightOptions":"ValidationRequests, + DeploymentRequests"},"linkedOperationRules":[]},{"name":"clusters","routingType":"BypassEndpointSelectionOptimization","resourceValidation":"ReservedWords, + ProfaneWords","linkedAccessChecks":[{"actionName":"Microsoft.Contoso/clusters/write","linkedProperty":"extendedLocation.name","linkedAction":"Microsoft.ExtendedLocation/customLocations/deploy/action"}],"endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East + US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"Canary"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus2/","locations":["East + US 2"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/westus/","locations":["West + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westus2.metarp.azure.com/rolelocation/westus2/","locations":["West + US 2"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/centralus/","locations":["Central + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/westcentralus/","locations":["West + Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/southcentralus/","locations":["South + Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/northcentralus/","locations":["North + Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/francecentral/","locations":["France + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/southeastasia/","locations":["Southeast + Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/eastasia/","locations":["East + Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/koreacentral/","locations":["Korea + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/australiaeast/","locations":["Australia + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/uksouth/","locations":["UK + South"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/japaneast/","locations":["Japan + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West + Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/northeurope/","locations":["North + Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"}],"metadata":{"providerHubMetadata":{"providerExtendsPreflight":true}},"templateDeploymentPolicy":{"capabilities":"Preflight","preflightOptions":"ValidationRequests, + DeploymentRequests"},"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}],"linkedOperationRules":[{"linkedOperation":"CrossResourceGroupResourceMove","linkedAction":"Blocked"},{"linkedOperation":"CrossSubscriptionResourceMove","linkedAction":"Blocked"}]},{"name":"locations","routingType":"ProxyOnly","resourceValidation":"ReservedWords, + ProfaneWords","endpoints":[{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://global.metarp.azure.com/","locations":[""],"timeout":"PT20S","endpointType":"NotSpecified"}],"metadata":{"providerHubMetadata":{"providerExtendsPreflight":true}},"templateDeploymentPolicy":{"capabilities":"Preflight","preflightOptions":"ValidationRequests, + DeploymentRequests"},"linkedOperationRules":[]},{"name":"locations/operationStatuses","routingType":"ProxyOnly, + Tenant, LocationBased","resourceValidation":"ReservedWords, ProfaneWords","allowedUnauthorizedActions":["Microsoft.Contoso/Locations/OperationStatuses/read","Microsoft.Contoso/Locations/OperationStatuses/write"],"endpoints":[{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East + US"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus2/","locations":["East + US 2"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://westus2.metarp.azure.com/rolelocation/westus2/","locations":["West + US 2"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/uksouth/","locations":["UK + South"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/centralus/","locations":["Central + US"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/westcentralus/","locations":["West + Central US"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/japaneast/","locations":["Japan + East"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/eastasia/","locations":["East + Asia"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/westus/","locations":["West + US"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East + US 2 EUAP"],"timeout":"PT20S","endpointType":"Canary"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/australiaeast/","locations":["Australia + East"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/southeastasia/","locations":["Southeast + Asia"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/francecentral/","locations":["France + Central"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West + Europe"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/northeurope/","locations":["North + Europe"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/southcentralus/","locations":["South + Central US"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/northcentralus/","locations":["North + Central US"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/koreacentral/","locations":["Korea + Central"],"timeout":"PT20S","endpointType":"NotSpecified"}],"linkedOperationRules":[]},{"name":"towers","routingType":"BypassEndpointSelectionOptimization","resourceValidation":"ReservedWords, + ProfaneWords","linkedAccessChecks":[{"actionName":"Microsoft.Contoso/towers/write","linkedProperty":"extendedLocation.name","linkedAction":"Microsoft.ExtendedLocation/customLocations/deploy/action"}],"endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East + US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"Canary"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus2/","locations":["East + US 2"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/westus/","locations":["West + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westus2.metarp.azure.com/rolelocation/westus2/","locations":["West + US 2"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/centralus/","locations":["Central + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/westcentralus/","locations":["West + Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/southcentralus/","locations":["South + Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/northcentralus/","locations":["North + Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/francecentral/","locations":["France + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/koreacentral/","locations":["Korea + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/southeastasia/","locations":["Southeast + Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/eastasia/","locations":["East + Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/australiaeast/","locations":["Australia + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/uksouth/","locations":["UK + South"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/japaneast/","locations":["Japan + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West + Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/northeurope/","locations":["North + Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"NotSpecified"}],"metadata":{"providerHubMetadata":{"providerExtendsPreflight":true}},"templateDeploymentPolicy":{"capabilities":"Preflight","preflightOptions":"ValidationRequests, + DeploymentRequests"},"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}],"linkedOperationRules":[{"linkedOperation":"CrossResourceGroupResourceMove","linkedAction":"Blocked"},{"linkedOperation":"CrossSubscriptionResourceMove","linkedAction":"Blocked"}]},{"name":"employees","routingType":"BypassEndpointSelectionOptimization","resourceValidation":"ReservedWords, + ProfaneWords","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/westus/","locations":["West + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/westcentralus/","locations":["West + Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West + Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/southeastasia/","locations":["Southeast + Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westus2.metarp.azure.com/rolelocation/westus2/","locations":["West + US 2"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East + US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"Canary"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/northeurope/","locations":["North + Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East + US"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/eastasia/","locations":["East + Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S","endpointType":"NotSpecified"}],"metadata":{"providerHubMetadata":{"providerExtendsPreflight":true}},"templateDeploymentPolicy":{"capabilities":"Preflight","preflightOptions":"ValidationRequests, + DeploymentRequests"},"linkedOperationRules":[{"linkedOperation":"CrossResourceGroupResourceMove","linkedAction":"Enabled"},{"linkedOperation":"CrossSubscriptionResourceMove","linkedAction":"Enabled"}]},{"name":"installations","routingType":"BypassEndpointSelectionOptimization","resourceValidation":"ReservedWords, + ProfaneWords","linkedAccessChecks":[{"actionName":"Microsoft.Contoso/installations/write","linkedProperty":"extendedLocation.name","linkedAction":"Microsoft.ExtendedLocation/customLocations/deploy/action"}],"endpoints":[{"apiVersions":["2021-04-01-preview"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East + US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S","endpointType":"Canary"}],"metadata":{"providerHubMetadata":{"providerExtendsPreflight":true}},"templateDeploymentPolicy":{"capabilities":"Preflight","preflightOptions":"ValidationRequests, + DeploymentRequests"},"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}],"linkedOperationRules":[{"linkedOperation":"CrossResourceGroupResourceMove","linkedAction":"Blocked"},{"linkedOperation":"CrossSubscriptionResourceMove","linkedAction":"Blocked"}]}],"management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Resource + Provider Service as a Service","incidentRoutingTeam":"RPaaS","incidentContactEmail":"rpaascore@microsoft.com","serviceTreeInfos":[{"serviceId":"d1b7d8ba-05e2-48e6-90d6-d781b99c6e69","componentId":"d1b7d8ba-05e2-48e6-90d6-d781b99c6e69"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}],"metadata":{"onboardedVia":"ProviderHub"},"globalNotificationEndpoints":[{"enabled":true,"endpointUri":"https://global.metarp.azure.com"}],"reRegisterSubscriptionMetadata":{"enabled":true,"concurrencyLimit":100}}' + headers: + cache-control: + - no-cache + content-length: + - '21151' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:53: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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"environment": "Prod", "baselineArmManifestLocation": "EastUS2EUAP"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub manifest checkin + Connection: + - keep-alive + Content-Length: + - '69' + Content-Type: + - application/json + ParameterSetName: + - --environment --baseline-arm-manifest-location --provider-namespace + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/checkinManifest?api-version=2020-11-20 + response: + body: + string: '{"isCheckedIn":false,"statusMessage":"Manifest is successfully merged. + Use the Default/Custom rollout (http://aka.ms/rpaasrollout) to roll out the + manifest in ARM."}' + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:02 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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"specification": {"canary": {"regions": ["EastUS2EUAP", + "centraluseuap"]}}}}' headers: Accept: - application/json @@ -11,33 +193,645 @@ interactions: Connection: - keep-alive Content-Length: - - '75' + - '92' + Content-Type: + - application/json + ParameterSetName: + - --provider-namespace --rollout-name --canary + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/canaryTesting01?api-version=2020-11-20 + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["EastUS2EUAP","centraluseuap"]}},"status":{"completedRegions":["centraluseuap","EastUS2EUAP"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"canaryTesting01"}' + headers: + cache-control: + - no-cache + content-length: + - '371' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:09 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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub custom-rollout show + Connection: + - keep-alive + ParameterSetName: + - --provider-namespace --rollout-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/canaryTesting01?api-version=2020-11-20 + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["EastUS2EUAP","centraluseuap"]}},"status":{"completedRegions":["centraluseuap","EastUS2EUAP"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"canaryTesting01"}' + headers: + cache-control: + - no-cache + content-length: + - '371' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub custom-rollout list + Connection: + - keep-alive + ParameterSetName: + - --provider-namespace + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts?api-version=2020-11-20 + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2euap","brazilus","centraluseuap"]}},"status":{"completedRegions":["Eastus2euap","centraluseuap","brazilus"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"cr1"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"rolloutTest1"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["EastUS2EUAP","centraluseuap"]}},"status":{"completedRegions":["centraluseuap","EastUS2EUAP"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"canaryTesting01"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"2021week2"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"test_rollout"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"cliRollout"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2euap","centraluseuap","brazilus"]}},"status":{"completedRegions":["Eastus2euap","brazilus","centraluseuap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"cliDefaultRollout"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2euap","centraluseuap","brazilus"]}},"status":{"completedRegions":["centraluseuap","Eastus2euap","brazilus"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"2020week2"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2euap"]}},"status":{"completedRegions":["Eastus2euap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"customRolloutSDK"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2euap","centraluseuap","brazilus"]}},"status":{"completedRegions":["centraluseuap","brazilus","Eastus2euap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"drTest"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["eastus2euap"]}},"status":{"completedRegions":["eastus2euap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"psCustomRollout"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2EUAP"]}},"status":{"completedRegions":["Eastus2EUAP"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"customRollout1"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["eastus2euap"]}},"status":{"completedRegions":["eastus2euap"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationscustomRollouts","name":"contosoDRollout"}]}' + headers: + cache-control: + - no-cache + content-length: + - '4653' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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": {"specification": {"canary": {"skipRegions": ["centraluseuap"]}, + "restOfTheWorldGroupTwo": {"waitDuration": "PT2H"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub default-rollout create + Connection: + - keep-alive + Content-Length: + - '133' Content-Type: - application/json ParameterSetName: - - --provider-namespace --rollout-name --canary --canary + - --provider-namespace --rollout-name --rest-of-the-world-group-two --canary + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout?api-version=2020-11-20 + response: + body: + string: '{"properties":{"provisioningState":"RolloutInProgress","specification":{"canary":{"skipRegions":["centraluseuap"],"regions":["eastus2euap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia","brazilus"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral","brazilsoutheast"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","eastusslv","southindia","westus3","jioindiawest"]}},"status":{"nextTrafficRegion":"Canary","nextTrafficRegionScheduledTime":"2021-06-08T02:54:13.109957Z","completedRegions":[],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"cliDefaultRollout"}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ProviderHub/operationStatuses/313385b3-adfe-4203-b908-69a998807048?api-version=2019-10-01 + cache-control: + - no-cache + content-length: + - '1370' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:14 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: + - providerhub default-rollout show + Connection: + - keep-alive + ParameterSetName: + - --provider-namespace --rollout-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout?api-version=2020-11-20 + response: + body: + string: '{"properties":{"provisioningState":"RolloutInProgress","specification":{"canary":{"skipRegions":["centraluseuap"],"regions":["eastus2euap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia","brazilus"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral","brazilsoutheast"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","eastusslv","southindia","westus3","jioindiawest"]}},"status":{"nextTrafficRegion":"Canary","nextTrafficRegionScheduledTime":"2021-06-08T02:54:13.109957Z","completedRegions":[],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"cliDefaultRollout"}' + headers: + cache-control: + - no-cache + content-length: + - '1370' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub default-rollout list + Connection: + - keep-alive + ParameterSetName: + - --provider-namespace + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts?api-version=2020-11-20 + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","centraluseuap","eastasia","southeastasia","eastus","eastus2","eastus2euap","westus","westus2","northcentralus","southcentralus","westcentralus","northeurope","westeurope","japaneast","japanwest","brazilsouth","brazilus","australiasoutheast","australiaeast","westindia","southindia","centralindia","canadacentral","canadaeast","uksouth","ukwest","koreacentral","koreasouth","francecentral","francesouth","australiacentral","australiacentral2","uaecentral","uaenorth","southafricanorth","southafricawest","switzerlandnorth","switzerlandwest","germanynorth","germanywestcentral","norwayeast","norwaywest","brazilsoutheast"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"rolloutTest1"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"MediumTraffic","nextTrafficRegionScheduledTime":"2020-07-24T22:11:01.4914842Z","completedRegions":["brazilus","eastus2euap","centraluseuap","westcentralus"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"rolloutTest5"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","centraluseuap","eastasia","southeastasia","eastus","eastus2","eastus2euap","westus","westus2","northcentralus","southcentralus","westcentralus","northeurope","westeurope","japaneast","japanwest","brazilsouth","brazilus","australiasoutheast","australiaeast","westindia","southindia","centralindia","canadacentral","canadaeast","uksouth","ukwest","koreacentral","koreasouth","francecentral","francesouth","australiacentral","australiacentral2","uaecentral","uaenorth","southafricanorth","southafricawest","switzerlandnorth","switzerlandwest","germanynorth","germanywestcentral","norwayeast","norwaywest","brazilsoutheast"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"rolloutTest9"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","centraluseuap","eastasia","southeastasia","eastus","eastus2","eastus2euap","westus","westus2","northcentralus","southcentralus","westcentralus","northeurope","westeurope","japaneast","japanwest","brazilsouth","brazilus","australiasoutheast","australiaeast","westindia","southindia","centralindia","canadacentral","canadaeast","uksouth","ukwest","koreacentral","koreasouth","francecentral","francesouth","australiacentral","australiacentral2","uaecentral","uaenorth","southafricanorth","southafricawest","switzerlandnorth","switzerlandwest","germanynorth","germanywestcentral","norwayeast","norwaywest","brazilsoutheast"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"foo"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","eastasia","southeastasia","eastus","westus","northcentralus","southcentralus","northeurope","westeurope","eastus2","brazilsouth","japanwest","japaneast","australiaeast","australiasoutheast","westindia","southindia","centralindia","canadacentral","canadaeast","australiacentral","australiacentral2","westus2","westcentralus","uksouth","ukwest","centraluseuap","koreacentral","koreasouth","francecentral","francesouth","germanynorth","germanywestcentral","southafricanorth","southafricawest","uaecentral","uaenorth","norwayeast","norwaywest","switzerlandnorth","switzerlandwest","brazilsoutheast","eastus2euap","brazilus","westus3"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"foo3"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-01-12T19:51:13.5550006Z","completedRegions":["brazilus","eastus2euap","centraluseuap"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"indiawest":null,"uknorth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"germanycentral":null,"norwaywest":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"indiasouth":null,"uksouth2":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"sanjaiga_rollout"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-01-13T07:16:00.0719813Z","completedRegions":["eastus2euap","centraluseuap","brazilus"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"indiawest":null,"uknorth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"germanycentral":null,"norwaywest":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"indiasouth":null,"uksouth2":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"2021week2"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-01-14T05:09:56.8517117Z","completedRegions":["eastus2euap","centraluseuap","brazilus"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"indiawest":null,"uknorth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"germanycentral":null,"norwaywest":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"indiasouth":null,"uksouth2":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"2020week2"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"PT4H","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"PT4H","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"PT4H","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"PT4H","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT4H","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-05-12T05:02:43.6450086Z","completedRegions":["brazilus","eastus2euap","centraluseuap"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"norwaywest":null,"westindia":null,"germanywestcentral":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null,"brazilsoutheast":null,"eastusslv":null,"southindia":null,"westus3":null}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"2021_w03_sanjaiga"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"None","subscriptionReregistrationResult":"Failed","completedRegions":["centraluseuap","eastus2euap","brazilus","westcentralus","centralindia","northcentralus","westus2","southafricawest","westindia","australiacentral","australiasoutheast","uaecentral","uksouth","francecentral","eastus","koreacentral","japanwest","eastasia","canadacentral","southcentralus","germanywestcentral","norwaywest","switzerlandwest","westus","westeurope","uaenorth","southindia","southeastasia","koreasouth","japaneast","brazilsoutheast","germanynorth","switzerlandnorth","southafricanorth","eastus2","australiaeast","brazilsouth","ukwest","centralus","westus3","eastusslv","norwayeast","australiacentral2","francesouth","northeurope","canadaeast"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"2021_03_17_sanjaiga"},{"properties":{"provisioningState":"Failed","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"RestOfTheWorldGroupOne","nextTrafficRegionScheduledTime":"2021-03-27T17:14:48.2120898Z","completedRegions":["centraluseuap","eastus2euap","brazilus","westcentralus","northcentralus","centralindia"],"failedOrSkippedRegions":{"westus2":{"code":"InternalServerError","message":"Exception + thrown while trying to get manifest for provider ''Microsoft.Contoso'', commitID + ''5044e04d01b3c08e2aa956cdfd93fba9cc966726''"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"jobreen_3232021"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-03-31T18:49:15.2512037Z","completedRegions":["brazilus","centraluseuap","eastus2euap"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"norwaywest":null,"westindia":null,"germanywestcentral":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null,"brazilsoutheast":null,"eastusslv":null,"southindia":null,"westus3":null}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"jobreen_3232022"},{"properties":{"provisioningState":"Failed","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-03-31T21:30:26.9641926Z","completedRegions":["centraluseuap","eastus2euap","brazilus"],"failedOrSkippedRegions":{"francesouth":{"code":"RolloutFailedWithUnexpectedError","message":"Unexpected + error to rollout manifest or regional registration for ''Microsoft.Contoso'' + in region ''francesouth''"}}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"jobreen_03302021"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-04-07T21:18:16.0130609Z","completedRegions":["eastus2euap","brazilus","centraluseuap"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"norwaywest":null,"westindia":null,"germanywestcentral":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null,"brazilsoutheast":null,"eastusslv":null,"southindia":null,"westus3":null}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"jobreen_04062022"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"None","subscriptionReregistrationResult":"Failed","completedRegions":["eastus2euap","brazilus","centraluseuap","westcentralus","northcentralus","centralindia","westus2","australiacentral","germanywestcentral","uaecentral","koreacentral","eastasia","westindia","southafricawest","westus","canadacentral","uksouth","norwaywest","eastus","switzerlandwest","australiasoutheast","japanwest","francecentral","southcentralus","westeurope","southindia","switzerlandnorth","norwayeast","uaenorth","francesouth","australiacentral2","koreasouth","westus3","southafricanorth","brazilsouth","canadaeast","japaneast","eastusslv","brazilsoutheast","germanynorth","centralus","eastus2","australiaeast","northeurope","ukwest","southeastasia"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"jobreen_04072022"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","brazilsoutheast","eastusslv","southindia","westus3"]}},"status":{"nextTrafficRegion":"None","subscriptionReregistrationResult":"Failed","completedRegions":["centraluseuap","brazilus","eastus2euap","westcentralus","centralindia","northcentralus","westus2","germanywestcentral","norwaywest","westindia","switzerlandwest","francecentral","australiacentral","southafricawest","southcentralus","uaecentral","canadacentral","eastasia","westus","eastus","uksouth","australiasoutheast","japanwest","koreacentral","westeurope","westus3","eastusslv","southafricanorth","uaenorth","australiacentral2","francesouth","eastus2","brazilsouth","northeurope","switzerlandnorth","norwayeast","koreasouth","japaneast","southeastasia","southindia","brazilsoutheast","germanynorth","australiaeast","ukwest","centralus","canadaeast"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"jobreen_05042022"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia","brazilus"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral","brazilsoutheast"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","eastusslv","southindia","westus3","jioindiawest"]}},"status":{"nextTrafficRegion":"None","subscriptionReregistrationResult":"Failed","completedRegions":["eastus2euap","centraluseuap","westcentralus","centralindia","northcentralus","brazilus","westus2","japanwest","switzerlandwest","westindia","uaecentral","francecentral","australiacentral","canadacentral","eastus","westus","southafricawest","uksouth","koreacentral","southcentralus","brazilsoutheast","germanywestcentral","norwaywest","eastasia","australiasoutheast","westeurope","jioindiawest","westus3","norwayeast","australiacentral2","francesouth","eastus2","eastusslv","germanynorth","australiaeast","switzerlandnorth","uaenorth","northeurope","southafricanorth","canadaeast","southindia","brazilsouth","koreasouth","japaneast","southeastasia","ukwest","centralus"],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"jobreen_05282021"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia","brazilus"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral","brazilsoutheast"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","eastusslv","southindia","westus3","jioindiawest"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-06-09T02:10:00.6240253Z","completedRegions":["centraluseuap","eastus2euap"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"brazilus":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"norwaywest":null,"westindia":null,"germanywestcentral":null,"brazilsoutheast":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null,"eastusslv":null,"southindia":null,"westus3":null,"jioindiawest":null}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"contosoDRollout"},{"properties":{"provisioningState":"RolloutInProgress","specification":{"canary":{"skipRegions":["centraluseuap"],"regions":["eastus2euap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia","brazilus"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","norwaywest","westindia","germanywestcentral","brazilsoutheast"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast","eastusslv","southindia","westus3","jioindiawest"]}},"status":{"nextTrafficRegion":"Canary","nextTrafficRegionScheduledTime":"2021-06-08T02:54:13.109957Z","completedRegions":[],"failedOrSkippedRegions":{}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsdefaultRollouts","name":"cliDefaultRollout"}]}' + headers: + cache-control: + - no-cache + content-length: + - '36569' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub default-rollout stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --provider-namespace --rollout-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout/stop?api-version=2020-11-20 + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:15 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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"routingType": "Proxyonly, Extension", "regionality": "Global", + "endpoints": [{"apiVersions": ["2020-01-01-preview"], "locations": [""], "requiredFeatures": + ["Microsoft.Contoso/RPaaSSampleApp"], "extensions": [{}]}], "swaggerSpecifications": + [{"apiVersions": ["2020-01-01-preview"], "swaggerSpecFolderUri": "https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}], + "enableAsyncOperation": false, "enableThirdPartyS2S": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub resource-type-registration create + Connection: + - keep-alive + Content-Length: + - '514' + Content-Type: + - application/json + ParameterSetName: + - --endpoints --regionality --routing-type --swagger-specifications --provider-namespace + --enable-async-operation --enable-third-party-s2s --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/extensionresourcetype?api-version=2020-11-20 + response: + body: + string: '{"properties":{"name":"extensionresourcetype","routingType":"ProxyOnly, + Extension","regionality":"Global","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":[""],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"extensions":[{}]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"extensionresourcetype"}' + headers: + cache-control: + - no-cache + content-length: + - '835' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:21 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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub resource-type-registration show + Connection: + - keep-alive + ParameterSetName: + - --provider-namespace --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees?api-version=2020-11-20 + response: + body: + string: '{"properties":{"name":"employees","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"locations":["West + US","West Central US","West Europe","Southeast Asia","West US 2","East US + 2 EUAP","North Europe","East US","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"]}],"swaggerSpecifications":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]},"resourceMovePolicy":{"validationRequired":false,"crossResourceGroupMoveEnabled":true,"crossSubscriptionMoveEnabled":true}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"employees"}' + headers: + cache-control: + - no-cache + content-length: + - '1093' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub resource-type-registration list + Connection: + - keep-alive + ParameterSetName: + - --provider-namespace + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations?api-version=2020-11-20 + response: + body: + string: '{"value":[{"properties":{"name":"extensionresourcetype","routingType":"ProxyOnly, + Extension","regionality":"Global","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":[""],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"extensions":[{}]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"extensionresourcetype"},{"properties":{"name":"Operations","routingType":"ProxyOnly, + Tenant","regionality":"Global","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":[""]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"allowedUnauthorizedActions":["microsoft.contoso/operations/read"],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"Operations"},{"properties":{"name":"clusters","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":["East + US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.canary.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["East + US","East US2","West US","West US2","Central US","West Central US","South + Central US","North Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.unitedstates.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["France + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.france.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Southeast + Asia","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.asiapacific.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Korea + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.korea.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Australia + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.australia.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["UK + South"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.unitedkingdom.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Japan + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.japan.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["West + Europe","North Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.europe.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"linkedAccessChecks":[{"actionName":"Microsoft.Contoso/clusters/write","linkedProperty":"extendedLocation.name","linkedAction":"Microsoft.ExtendedLocation/customLocations/deploy/action"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]},"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"clusters"},{"properties":{"name":"locations","routingType":"ProxyOnly","regionality":"Global","endpoints":[{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"locations":[""]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"},{"apiVersions":["2021-04-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"locations"},{"properties":{"name":"locations/operationStatuses","routingType":"ProxyOnly, + Tenant, LocationBased","regionality":"Regional","endpoints":[{"apiVersions":["2020-01-01-preview","2021-04-01-preview"],"locations":["East + US","East US 2","West US 2","UK South","Central US","West Central US","Japan + East","East Asia","West US","East US 2 EUAP","Australia East","South East + Asia","France Central","West Europe","North Europe","South Central US","North + Central US","Korea Central"]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"},{"apiVersions":["2021-04-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"allowedUnauthorizedActions":["Microsoft.Contoso/Locations/OperationStatuses/read","Microsoft.Contoso/Locations/OperationStatuses/write"],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":false}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"locations/operationStatuses"},{"properties":{"name":"towers","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":["East + US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.canary.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["East + US","East US2","West US","West US2","Central US","West Central US","South + Central US","North Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.unitedstates.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["France + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.france.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Korea + Central"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.korea.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Southeast + Asia","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.asiapacific.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Australia + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.australia.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["UK + South"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.unitedkingdom.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["Japan + East"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.japan.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["West + Europe","North Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.europe.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePatchBegin"]}]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"linkedAccessChecks":[{"actionName":"Microsoft.Contoso/towers/write","linkedProperty":"extendedLocation.name","linkedAction":"Microsoft.ExtendedLocation/customLocations/deploy/action"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]},"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"towers"},{"properties":{"name":"employees","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"locations":["West + US","West Central US","West Europe","Southeast Asia","West US 2","East US + 2 EUAP","North Europe","East US","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"]}],"swaggerSpecifications":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]},"resourceMovePolicy":{"validationRequired":false,"crossResourceGroupMoveEnabled":true,"crossSubscriptionMoveEnabled":true}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"employees"},{"properties":{"name":"installations","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2021-04-01-preview"],"locations":["EastUS2EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.Canary.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin","ResourcePostAction"]}]}],"swaggerSpecifications":[{"apiVersions":["2021-04-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"linkedAccessChecks":[{"actionName":"Microsoft.Contoso/installations/write","linkedProperty":"extendedLocation.name","linkedAction":"Microsoft.ExtendedLocation/customLocations/deploy/action"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly"]},"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"installations"}]}' + headers: + cache-control: + - no-cache + content-length: + - '13838' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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": {"routingType": "ProxyOnly", "regionality": "Global", "endpoints": + [{"apiVersions": ["2019-01-01"], "locations": ["Global"], "requiredFeatures": + ["Microsoft.Contoso/RPaaSSampleApp"], "extensions": [{"endpointUri": "https://contoso-test-extension-endpoint.com/", + "extensionCategories": ["ResourceReadValidate", "ResourceDeletionValidate"]}]}], + "swaggerSpecifications": [{"apiVersions": ["2019-01-01"], "swaggerSpecFolderUri": + "https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}], + "enableAsyncOperation": false, "templateDeploymentOptions": {"preflightSupported": + true, "preflightOptions": ["DefaultValidationOnly", "continueDeploymentOnFailure"]}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub resource-type-registration create + Connection: + - keep-alive + Content-Length: + - '737' + Content-Type: + - application/json + ParameterSetName: + - --endpoints --regionality --routing-type --swagger-specifications --provider-namespace + --enable-async-operation --template-deployment-options --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/resourcetypeRegistrations/nestedResourceType?api-version=2020-11-20 + response: + body: + string: '{"properties":{"name":"employees/nestedResourceType","routingType":"ProxyOnly","regionality":"Global","endpoints":[{"apiVersions":["2019-01-01"],"locations":["Global"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"extensions":[{"endpointUri":"https://contoso-test-extension-endpoint.com/","extensionCategories":["ResourceReadValidate","ResourceDeletionValidate"]}]}],"swaggerSpecifications":[{"apiVersions":["2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly","ContinueDeploymentOnFailure"]}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"employees/nestedResourceType"}' + headers: + cache-control: + - no-cache + content-length: + - '991' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:24 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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"routingType": "ProxyOnly", "regionality": "Global", "endpoints": + [{"apiVersions": ["2019-01-01"], "locations": ["Global"], "requiredFeatures": + ["Microsoft.Contoso/RPaaSSampleApp"], "extensions": [{"endpointUri": "https://contoso-test-extension-endpoint.com/", + "extensionCategories": ["ResourceReadValidate", "ResourceDeletionValidate"]}]}], + "swaggerSpecifications": [{"apiVersions": ["2019-01-01"], "swaggerSpecFolderUri": + "https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}], + "enableAsyncOperation": false, "templateDeploymentOptions": {"preflightSupported": + true, "preflightOptions": ["DefaultValidationOnly", "continueDeploymentOnFailure"]}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub resource-type-registration create + Connection: + - keep-alive + Content-Length: + - '737' + Content-Type: + - application/json + ParameterSetName: + - --endpoints --regionality --routing-type --swagger-specifications --provider-namespace + --enable-async-operation --template-deployment-options --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/resourcetypeRegistrations/nestedResourceType?api-version=2020-11-20 + response: + body: + string: '{"properties":{"name":"employees/nestedResourceType","routingType":"ProxyOnly","regionality":"Global","endpoints":[{"apiVersions":["2019-01-01"],"locations":["Global"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"extensions":[{"endpointUri":"https://contoso-test-extension-endpoint.com/","extensionCategories":["ResourceReadValidate","ResourceDeletionValidate"]}]}],"swaggerSpecifications":[{"apiVersions":["2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly","ContinueDeploymentOnFailure"]}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"employees/nestedResourceType"}' + headers: + cache-control: + - no-cache + content-length: + - '991' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Jun 2021 02:54:25 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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - providerhub resource-type-registration show + Connection: + - keep-alive + ParameterSetName: + - --provider-namespace --resource-type User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/canaryTesting01?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/resourcetypeRegistrations/nestedResourceType?api-version=2020-11-20 response: body: - string: '{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["EastUS2EUAP"]}},"status":{"completedRegions":["EastUS2EUAP"],"failedOrSkippedRegions":{}}},"name":"canaryTesting01"}' + string: '{"properties":{"name":"employees/nestedResourceType","routingType":"ProxyOnly","regionality":"Global","endpoints":[{"apiVersions":["2019-01-01"],"locations":["Global"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"extensions":[{"endpointUri":"https://contoso-test-extension-endpoint.com/","extensionCategories":["ResourceReadValidate","ResourceDeletionValidate"]}]}],"swaggerSpecifications":[{"apiVersions":["2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/tree/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"templateDeploymentOptions":{"preflightSupported":true,"preflightOptions":["DefaultValidationOnly","ContinueDeploymentOnFailure"]}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/","type":"Microsoft.ProviderHub/providerRegistrationsresourceTypeRegistrations","name":"employees/nestedResourceType"}' headers: cache-control: - no-cache content-length: - - '202' + - '991' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:12 GMT + - Tue, 08 Jun 2021 02:54:25 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -46,8 +840,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: code: 200 message: OK @@ -59,41 +851,37 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub custom-rollout show + - providerhub resource-type-registration delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - - --provider-namespace --rollout-name + - -y --provider-namespace --resource-type User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts/canaryTesting01?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/resourcetypeRegistrations/nestedResourceType?api-version=2020-11-20 response: body: - string: '{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["EastUS2EUAP"]}},"status":{"completedRegions":["EastUS2EUAP"],"failedOrSkippedRegions":{}}},"name":"canaryTesting01"}' + string: '' headers: cache-control: - no-cache content-length: - - '202' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Wed, 13 Jan 2021 01:41:12 GMT + - Tue, 08 Jun 2021 02:54: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 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 200 message: OK @@ -105,33 +893,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub custom-rollout list + - providerhub default-rollout delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - - --provider-namespace + - -y --provider-namespace --rollout-name User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/customRollouts?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout?api-version=2020-11-20 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2euap","brazilus","centraluseuap"]}},"status":{"completedRegions":["Eastus2euap","centraluseuap","brazilus"],"failedOrSkippedRegions":{}}},"name":"cr1"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"name":"rolloutTest1"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["EastUS2EUAP"]}},"status":{"completedRegions":["EastUS2EUAP"],"failedOrSkippedRegions":{}}},"name":"canaryTesting01"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"name":"2021week2"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"name":"test_rollout"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["centraluseuap"]}},"status":{"completedRegions":["centraluseuap"],"failedOrSkippedRegions":{}}},"name":"cliRollout"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["Eastus2euap","centraluseuap","brazilus"]}},"status":{"completedRegions":["Eastus2euap","brazilus","centraluseuap"],"failedOrSkippedRegions":{}}},"name":"cliDefaultRollout"}]}' + string: 'null' headers: cache-control: - no-cache content-length: - - '1529' + - '4' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:14 GMT + - Tue, 08 Jun 2021 02:54:26 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -140,58 +928,74 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 200 message: OK - request: - body: '{"properties": {"specification": {"canary": {"skipRegions": ["brazilus", - "centraluseuap"]}, "restOfTheWorldGroupTwo": {"waitDuration": "PT2H"}}}}' + body: '{"properties": {"providerVersion": "2.0", "providerType": "Internal, Hidden", + "management": {"manifestOwners": ["SPARTA-PlatformServiceAdministrator"], "incidentRoutingService": + "Contoso Resource Provider", "incidentRoutingTeam": "Contoso Triage", "incidentContactEmail": + "helpme@contoso.com", "serviceTreeInfos": [{"serviceId": "6f53185c-ea09-4fc3-9075-318dec805303", + "componentId": "6f53185c-ea09-4fc3-9075-318dec805303"}]}, "capabilities": [{"quotaId": + "CSP_2015-05-01", "effect": "Allow"}, {"quotaId": "CSP_MG_2017-12-01", "effect": + "Allow"}], "providerHubMetadata": {"providerAuthorizations": [{"applicationId": + "3d834152-5efa-46f7-85a4-a18c2b5d46f9", "roleDefinitionId": "760505bf-dcfa-4311-b890-18da392a00b2"}], + "providerAuthentication": {"allowedAudiences": ["https://management.core.windows.net/"]}}}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - providerhub default-rollout create + - providerhub provider-registration create Connection: - keep-alive Content-Length: - - '145' + - '810' + Content-Type: + - application/json ParameterSetName: - - --provider-namespace --rollout-name --row2-wait-duration --skip-regions + - --providerhub-metadata-authorizations --providerhub-metadata-authentication + --service-tree-infos --capabilities --capabilities --manifest-owners --incident-contact-email + --incident-routing-service --incident-routing-team --provider-type --provider-version + --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 response: body: - string: '{"properties":{"provisioningState":"RolloutInProgress","specification":{"canary":{"skipRegions":["brazilus","centraluseuap"],"regions":["eastus2euap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"Canary","nextTrafficRegionScheduledTime":"2021-01-13T01:41:16.3440609Z","completedRegions":[],"failedOrSkippedRegions":{}}},"name":"cliDefaultRollout"}' + string: '{"properties":{"providerHubMetadata":{"providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"provisioningState":"Succeeded","namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal, + Hidden","management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso + Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}]},"type":"Microsoft.ProviderHub/providerRegistrations"}' headers: - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ProviderHub/operationStatuses/00000000-0000-0000-0000-000000000000?api-version=2019-10-01 cache-control: - no-cache content-length: - - '1195' + - '929' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:18 GMT + - Tue, 08 Jun 2021 02:54: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 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -200,33 +1004,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub default-rollout list + - providerhub provider-registration show Connection: - keep-alive ParameterSetName: - --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","centraluseuap","eastasia","southeastasia","eastus","eastus2","eastus2euap","westus","westus2","northcentralus","southcentralus","westcentralus","northeurope","westeurope","japaneast","japanwest","brazilsouth","brazilus","australiasoutheast","australiaeast","westindia","southindia","centralindia","canadacentral","canadaeast","uksouth","ukwest","koreacentral","koreasouth","francecentral","francesouth","australiacentral","australiacentral2","uaecentral","uaenorth","southafricanorth","southafricawest","switzerlandnorth","switzerlandwest","germanynorth","germanywestcentral","norwayeast","norwaywest","brazilsoutheast"],"failedOrSkippedRegions":{}}},"name":"rolloutTest1"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"MediumTraffic","nextTrafficRegionScheduledTime":"2020-07-24T22:11:01.4914842Z","completedRegions":["brazilus","eastus2euap","centraluseuap","westcentralus"],"failedOrSkippedRegions":{}}},"name":"rolloutTest5"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","centraluseuap","eastasia","southeastasia","eastus","eastus2","eastus2euap","westus","westus2","northcentralus","southcentralus","westcentralus","northeurope","westeurope","japaneast","japanwest","brazilsouth","brazilus","australiasoutheast","australiaeast","westindia","southindia","centralindia","canadacentral","canadaeast","uksouth","ukwest","koreacentral","koreasouth","francecentral","francesouth","australiacentral","australiacentral2","uaecentral","uaenorth","southafricanorth","southafricawest","switzerlandnorth","switzerlandwest","germanynorth","germanywestcentral","norwayeast","norwaywest","brazilsoutheast"],"failedOrSkippedRegions":{}}},"name":"rolloutTest9"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","centraluseuap","eastasia","southeastasia","eastus","eastus2","eastus2euap","westus","westus2","northcentralus","southcentralus","westcentralus","northeurope","westeurope","japaneast","japanwest","brazilsouth","brazilus","australiasoutheast","australiaeast","westindia","southindia","centralindia","canadacentral","canadaeast","uksouth","ukwest","koreacentral","koreasouth","francecentral","francesouth","australiacentral","australiacentral2","uaecentral","uaenorth","southafricanorth","southafricawest","switzerlandnorth","switzerlandwest","germanynorth","germanywestcentral","norwayeast","norwaywest","brazilsoutheast"],"failedOrSkippedRegions":{}}},"name":"foo"},{"properties":{"provisioningState":"Succeeded","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"None","completedRegions":["centralus","eastasia","southeastasia","eastus","westus","northcentralus","southcentralus","northeurope","westeurope","eastus2","brazilsouth","japanwest","japaneast","australiaeast","australiasoutheast","westindia","southindia","centralindia","canadacentral","canadaeast","australiacentral","australiacentral2","westus2","westcentralus","uksouth","ukwest","centraluseuap","koreacentral","koreasouth","francecentral","francesouth","germanynorth","germanywestcentral","southafricanorth","southafricawest","uaecentral","uaenorth","norwayeast","norwaywest","switzerlandnorth","switzerlandwest","brazilsoutheast","eastus2euap","brazilus","westus3"],"failedOrSkippedRegions":{}}},"name":"foo3"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"P1D","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-01-12T19:51:13.5550006Z","completedRegions":["brazilus","eastus2euap","centraluseuap"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"indiawest":null,"uknorth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"germanycentral":null,"norwaywest":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"indiasouth":null,"uksouth2":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null}}},"name":"sanjaiga_rollout"},{"properties":{"provisioningState":"Canceled","specification":{"canary":{"regions":["brazilus","eastus2euap","centraluseuap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"LowTraffic","nextTrafficRegionScheduledTime":"2021-01-13T07:16:00.0719813Z","completedRegions":["eastus2euap","centraluseuap","brazilus"],"failedOrSkippedRegions":{"westcentralus":null,"northcentralus":null,"centralindia":null,"westus2":null,"westeurope":null,"eastus":null,"southcentralus":null,"eastasia":null,"uksouth":null,"indiawest":null,"uknorth":null,"canadacentral":null,"japanwest":null,"australiasoutheast":null,"koreacentral":null,"francecentral":null,"australiacentral":null,"westus":null,"uaecentral":null,"southafricawest":null,"switzerlandwest":null,"germanycentral":null,"norwaywest":null,"northeurope":null,"centralus":null,"southeastasia":null,"ukwest":null,"indiasouth":null,"uksouth2":null,"canadaeast":null,"brazilsouth":null,"japaneast":null,"australiaeast":null,"koreasouth":null,"eastus2":null,"francesouth":null,"australiacentral2":null,"uaenorth":null,"southafricanorth":null,"switzerlandnorth":null,"germanynorth":null,"norwayeast":null}}},"name":"2021week2"},{"properties":{"provisioningState":"RolloutInProgress","specification":{"canary":{"skipRegions":["brazilus","centraluseuap"],"regions":["eastus2euap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"Canary","nextTrafficRegionScheduledTime":"2021-01-13T01:41:16.3440609Z","completedRegions":[],"failedOrSkippedRegions":{}}},"name":"cliDefaultRollout"}]}' + string: '{"properties":{"providerHubMetadata":{"providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"provisioningState":"Succeeded","namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal, + Hidden","management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso + Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}],"metadata":null},"type":"Microsoft.ProviderHub/providerRegistrations"}' headers: cache-control: - no-cache content-length: - - '13378' + - '945' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:18 GMT + - Tue, 08 Jun 2021 02:54:28 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -246,33 +1050,31 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub default-rollout show + - providerhub provider-registration list Connection: - keep-alive - ParameterSetName: - - --provider-namespace --rollout-name User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations?api-version=2020-11-20 response: body: - string: '{"properties":{"provisioningState":"RolloutInProgress","specification":{"canary":{"skipRegions":["brazilus","centraluseuap"],"regions":["eastus2euap"]},"lowTraffic":{"waitDuration":"P1D","regions":["westcentralus"]},"mediumTraffic":{"waitDuration":"P1D","regions":["northcentralus","centralindia"]},"highTraffic":{"waitDuration":"P1D","regions":["westus2"]},"restOfTheWorldGroupOne":{"waitDuration":"P1D","regions":["westeurope","eastus","southcentralus","eastasia","uksouth","indiawest","uknorth","canadacentral","japanwest","australiasoutheast","koreacentral","francecentral","australiacentral","westus","uaecentral","southafricawest","switzerlandwest","germanycentral","norwaywest"]},"restOfTheWorldGroupTwo":{"waitDuration":"PT2H","regions":["northeurope","centralus","southeastasia","ukwest","indiasouth","uksouth2","canadaeast","brazilsouth","japaneast","australiaeast","koreasouth","eastus2","francesouth","australiacentral2","uaenorth","southafricanorth","switzerlandnorth","germanynorth","norwayeast"]}},"status":{"nextTrafficRegion":"Canary","nextTrafficRegionScheduledTime":"2021-01-13T01:41:16.3440609Z","completedRegions":[],"failedOrSkippedRegions":{}}},"name":"cliDefaultRollout"}' + string: '{"value":[{"subscriptionId":"6f53185c-ea09-4fc3-9075-318dec805303","namespace":"Microsoft.Contoso","providerHubMetadata":{"providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso + Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"providerType":"Internal, + Hidden","providerVersion":"2.0","capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}],"provisioningState":"Succeeded","metadata":null,"partitionKey":"FIXED","id":"MICROSOFTCONTOSO","createdTime":"2021-06-08T02:54:27.900755Z","changedTime":"2021-06-08T02:54:27.900755Z","_etag":"\"8502a0f4-0000-0700-0000-60bedbe30000\""}]}' headers: cache-control: - no-cache content-length: - - '1195' + - '1131' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:18 GMT + - Tue, 08 Jun 2021 02:54:28 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -292,85 +1094,90 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub default-rollout stop + - providerhub provider-registration delete Connection: - keep-alive Content-Length: - '0' ParameterSetName: - - --provider-namespace --rollout-name + - -y --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout/stop?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 response: body: - string: 'null' + string: '' headers: cache-control: - no-cache content-length: - - '4' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Wed, 13 Jan 2021 01:41:20 GMT + - Tue, 08 Jun 2021 02:54: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 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 200 message: OK - request: - body: null + body: '{"properties": {"providerVersion": "2.0", "providerType": "Internal, Hidden", + "management": {"manifestOwners": ["SPARTA-PlatformServiceAdministrator"], "incidentRoutingService": + "Contoso Resource Provider", "incidentRoutingTeam": "Contoso Triage", "incidentContactEmail": + "helpme@contoso.com", "serviceTreeInfos": [{"serviceId": "6f53185c-ea09-4fc3-9075-318dec805303", + "componentId": "6f53185c-ea09-4fc3-9075-318dec805303"}]}, "capabilities": [{"quotaId": + "CSP_2015-05-01", "effect": "Allow"}, {"quotaId": "CSP_MG_2017-12-01", "effect": + "Allow"}], "providerHubMetadata": {"providerAuthorizations": [{"applicationId": + "3d834152-5efa-46f7-85a4-a18c2b5d46f9", "roleDefinitionId": "760505bf-dcfa-4311-b890-18da392a00b2"}], + "providerAuthentication": {"allowedAudiences": ["https://management.core.windows.net/"]}}}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - providerhub default-rollout delete + - providerhub provider-registration create Connection: - keep-alive Content-Length: - - '0' + - '810' + Content-Type: + - application/json ParameterSetName: - - -y --provider-namespace --rollout-name + - --providerhub-metadata-authorizations --providerhub-metadata-authentication + --service-tree-infos --capabilities --capabilities --manifest-owners --incident-contact-email + --incident-routing-service --incident-routing-team --provider-type --provider-version + --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/defaultRollouts/cliDefaultRollout?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 response: body: - string: 'null' + string: '{"properties":{"providerHubMetadata":{"providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"provisioningState":"Succeeded","namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal, + Hidden","management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso + Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}]},"type":"Microsoft.ProviderHub/providerRegistrations"}' headers: cache-control: - no-cache content-length: - - '4' + - '929' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:21 GMT + - Tue, 08 Jun 2021 02:54:30 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -379,8 +1186,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK @@ -392,7 +1199,7 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub manifest generate + - providerhub provider-registration generate-operation Connection: - keep-alive Content-Length: @@ -400,53 +1207,50 @@ interactions: ParameterSetName: - --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/generateManifest?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/generateOperations?api-version=2020-11-20 response: body: - string: '{"providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal","resourceTypes":[{"name":"extensionresourcetype","routingType":"ProxyOnly, - Extension","resourceValidation":"ReservedWords, ProfaneWords","endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://global.metarp.azure.com/","locations":[""],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"}],"linkedOperationRules":[]},{"name":"Operations","routingType":"ProxyOnly, - Tenant","resourceValidation":"ReservedWords, ProfaneWords","allowedUnauthorizedActions":["microsoft.contoso/operations/read"],"endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://global.metarp.azure.com/","locations":[""],"timeout":"PT20S"}],"linkedOperationRules":[]},{"name":"clusters","routingType":"Default","resourceValidation":"ReservedWords, - ProfaneWords","endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East - US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East - US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West - Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S"}],"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}],"linkedOperationRules":[]},{"name":"Locations","routingType":"ProxyOnly","resourceValidation":"ReservedWords, - ProfaneWords","endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://global.metarp.azure.com/","locations":[""],"timeout":"PT20S"}],"linkedOperationRules":[]},{"name":"locations/operationstatuses","routingType":"ProxyOnly, - Tenant, LocationBased","resourceValidation":"ReservedWords, ProfaneWords","allowedUnauthorizedActions":["Microsoft.Contoso/Locations/OperationStatuses/read","Microsoft.Contoso/Locations/OperationStatuses/write"],"endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East - US 2 EUAP"],"timeout":"PT20S"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East - US"],"timeout":"PT20S"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West - Europe"],"timeout":"PT20S"}],"linkedOperationRules":[]},{"name":"towers","routingType":"Default","resourceValidation":"ReservedWords, - ProfaneWords","endpoints":[{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East - US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East - US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S"},{"apiVersions":["2020-01-01-preview"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West - Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"timeout":"PT20S"}],"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}],"linkedOperationRules":[]},{"name":"employees","routingType":"Default","resourceValidation":"ReservedWords, - ProfaneWords","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westus.metarp.azure.com/rolelocation/westus/","locations":["West - US"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westcentralus.metarp.azure.com/rolelocation/westcentralus/","locations":["West - Central US"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westeurope.metarp.azure.com/rolelocation/westeurope/","locations":["West - Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/southeastasia/","locations":["Southeast - Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://westus2.metarp.azure.com/rolelocation/westus2/","locations":["West - US 2"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://eastus2euap.metarp.azure.com/rolelocation/eastus2euap/","locations":["East - US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://northeurope.metarp.azure.com/rolelocation/northeurope/","locations":["North - Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://eastus.metarp.azure.com/rolelocation/eastus/","locations":["East - US"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"},{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"endpointUri":"https://southeastasia.metarp.azure.com/rolelocation/eastasia/","locations":["East - Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"],"timeout":"PT20S"}],"linkedOperationRules":[{"linkedOperation":"CrossResourceGroupResourceMove","linkedAction":"Enabled"},{"linkedOperation":"CrossSubscriptionResourceMove","linkedAction":"Enabled"}]}],"management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso - Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}],"metadata":{"onboardedVia":"ProviderHub"},"globalNotificationEndpoints":[{"enabled":true,"endpointUri":"https://global.metarp.azure.com"}],"reRegisterSubscriptionMetadata":{"enabled":true,"concurrencyLimit":100}}' + string: '[{"name":"Microsoft.Contoso/operations/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"operations","operation":"Operations_List","description":"read + operations"}},{"name":"Microsoft.Contoso/clusters/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"clusters","operation":"clusters_Retrieve","description":"read + clusters"}},{"name":"Microsoft.Contoso/clusters/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"clusters","operation":"clusters_CreateOrUpdate","description":"write + clusters"}},{"name":"Microsoft.Contoso/clusters/delete","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"clusters","operation":"clusters_Delete","description":"delete + clusters"}},{"name":"Microsoft.Contoso/clusters/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"clusters","operation":"clusters_Update","description":"write + clusters"}},{"name":"Microsoft.Contoso/clusters/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"clusters","operation":"clusters_ListByResourceGroup","description":"read + clusters"}},{"name":"Microsoft.Contoso/clusters/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"clusters","operation":"clusters_ListBySubscription","description":"read + clusters"}},{"name":"Microsoft.Contoso/towers/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"towers","operation":"Towers_Get","description":"read + towers"}},{"name":"Microsoft.Contoso/towers/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"towers","operation":"Towers_CreateOrUpdate","description":"write + towers"}},{"name":"Microsoft.Contoso/towers/delete","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"towers","operation":"Towers_Delete","description":"delete + towers"}},{"name":"Microsoft.Contoso/towers/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"towers","operation":"Towers_Update","description":"write + towers"}},{"name":"Microsoft.Contoso/towers/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"towers","operation":"Towers_ListByResourceGroup","description":"read + towers"}},{"name":"Microsoft.Contoso/towers/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"towers","operation":"Towers_ListBySubscription","description":"read + towers"}},{"name":"microsoft.contoso/employees/read","isDataAction":false,"display":{"provider":"microsoft.contoso","resource":"employees","operation":"Employee_ListBySubscription","description":"Returns + list of employees."}},{"name":"microsoft.contoso/employees/read","isDataAction":false,"display":{"provider":"microsoft.contoso","resource":"employees","operation":"Employee_List","description":"Returns + list of employees."}},{"name":"microsoft.contoso/employees/read","isDataAction":false,"display":{"provider":"microsoft.contoso","resource":"employees","operation":"Employee_Get","description":"Returns + employee resource for a given name."}},{"name":"microsoft.contoso/employees/write","isDataAction":false,"display":{"provider":"microsoft.contoso","resource":"employees","operation":"Employee_CreateAndUpdate","description":"Create + or update employee resource."}},{"name":"microsoft.contoso/employees/delete","isDataAction":false,"display":{"provider":"microsoft.contoso","resource":"employees","operation":"Employee_Delete","description":"Deletes + employee resource for a given name."}},{"name":"microsoft.contoso/employees/write","isDataAction":false,"display":{"provider":"microsoft.contoso","resource":"employees","operation":"Employees_Update","description":"Update + employee details."}},{"name":"Microsoft.Contoso/installations/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"installations","operation":"installations_Retrieve","description":"read + installations"}},{"name":"Microsoft.Contoso/installations/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"installations","operation":"installations_CreateOrUpdate","description":"write + installations"}},{"name":"Microsoft.Contoso/installations/delete","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"installations","operation":"installations_Delete","description":"delete + installations"}},{"name":"Microsoft.Contoso/installations/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"installations","operation":"installations_Update","description":"write + installations"}},{"name":"Microsoft.Contoso/installations/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"installations","operation":"installations_ListByResourceGroup","description":"read + installations"}},{"name":"Microsoft.Contoso/installations/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"installations","operation":"installations_ListBySubscription","description":"read + installations"}}]' headers: cache-control: - no-cache content-length: - - '6932' + - '5080' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:22 GMT + - Tue, 08 Jun 2021 02:54:30 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -461,46 +1265,49 @@ interactions: code: 200 message: OK - request: - body: '{"environment": "Prod", "baselineArmManifestLocation": "EastUS2EUAP"}' + body: '{"properties": {"notificationMode": "EventHub", "messageScope": "RegisteredSubscriptions", + "includedEvents": ["*/write", "Microsoft.Contoso/employees/delete"], "notificationEndpoints": + [{"notificationDestination": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications", + "locations": ["", "East US"]}, {"notificationDestination": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications", + "locations": ["East US"]}]}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - providerhub manifest checkin + - providerhub notification-registration create Connection: - keep-alive Content-Length: - - '69' + - '644' Content-Type: - application/json ParameterSetName: - - --environment --arm-manifest-location --provider-namespace + - --name --included-events --message-scope --notification-endpoints --notification-endpoints + --notification-mode --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/checkinManifest?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/notificationRegistrations/testNotificationRegistration?api-version=2020-11-20 response: body: - string: '{"isCheckedIn":false,"statusMessage":"Manifest is successfully merged. - Use the Default/Custom rollout (http://aka.ms/rpaasrollout) to roll out the - manifest in ARM."}' + string: '{"name":"testNotificationRegistration","properties":{"notificationMode":"EventHub","messageScope":"RegisteredSubscriptions","includedEvents":["*/write","Microsoft.Contoso/employees/delete"],"notificationEndpoints":[{"notificationDestination":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications","locations":["","East + US"]},{"notificationDestination":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications","locations":["East + US"]}]}}' headers: cache-control: - no-cache content-length: - - '165' + - '665' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:24 GMT + - Tue, 08 Jun 2021 02:54:30 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -515,56 +1322,40 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"providerAuthorizations": [{"applicationId": "3d834152-5efa-46f7-85a4-a18c2b5d46f9", - "roleDefinitionId": "760505bf-dcfa-4311-b890-18da392a00b2"}], "namespace": "Microsoft.Contoso", - "providerVersion": "2.0", "providerType": "Internal", "management": {"manifestOwners": - ["SPARTA-PlatformServiceAdministrator"], "incidentRoutingService": "Contoso - Resource Provider", "incidentRoutingTeam": "Contoso Triage", "incidentContactEmail": - "helpme@contoso.com", "serviceTreeInfos": [{"serviceId": "6f53185c-ea09-4fc3-9075-318dec805303", - "componentId": "6f53185c-ea09-4fc3-9075-318dec805303"}]}, "capabilities": [{"quotaId": - "CSP_2015-05-01", "effect": "Allow"}, {"quotaId": "CSP_MG_2017-12-01", "effect": - "Allow"}], "providerHubMetadata": {"providerAuthentication": {"allowedAudiences": - ["https://management.core.windows.net/"]}}}}' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - providerhub provider-registration create + - providerhub notification-registration show Connection: - keep-alive - Content-Length: - - '836' - Content-Type: - - application/json ParameterSetName: - - --provider-authorizations --resource-provider-authentication --service-tree-infos - --capabilities --capabilities --manifest-owners --incident-contact-email --incident-routing-service - --incident-routing-team --provider-type --provider-version --provider-namespace + - --name --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/notificationRegistrations/testNotificationRegistration?api-version=2020-11-20 response: body: - string: '{"properties":{"providerHubMetadata":{"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"provisioningState":"Succeeded","providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal","management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso - Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}]}}' + string: '{"name":"testNotificationRegistration","properties":{"notificationMode":"EventHub","messageScope":"RegisteredSubscriptions","includedEvents":["*/write","Microsoft.Contoso/employees/delete"],"notificationEndpoints":[{"notificationDestination":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications","locations":["","East + US"]},{"notificationDestination":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications","locations":["East + US"]}]}}' headers: cache-control: - no-cache content-length: - - '868' + - '665' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:26 GMT + - Tue, 08 Jun 2021 02:54:31 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -573,8 +1364,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: code: 200 message: OK @@ -586,34 +1375,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub provider-registration show + - providerhub notification-registration list Connection: - keep-alive ParameterSetName: - --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/notificationRegistrations?api-version=2020-11-20 response: body: - string: '{"properties":{"providerHubMetadata":{"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"provisioningState":"Succeeded","providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal","management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso - Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}],"metadata":null}}' + string: '{"value":[{"name":"employeesNotificationRegistration","properties":{"notificationMode":"EventHub","messageScope":"RegisteredSubscriptions","includedEvents":["*/write","Microsoft.Contoso/employees/delete"],"notificationEndpoints":[{"notificationDestination":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications","locations":["","East + US"]}]}},{"name":"testNotificationRegistration","properties":{"notificationMode":"EventHub","messageScope":"RegisteredSubscriptions","includedEvents":["*/write","Microsoft.Contoso/employees/delete"],"notificationEndpoints":[{"notificationDestination":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mgmtexp-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications","locations":["","East + US"]},{"notificationDestination":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlinkednotifications","locations":["East + US"]}]}}]}' headers: cache-control: - no-cache content-length: - - '884' + - '1136' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:27 GMT + - Tue, 08 Jun 2021 02:54:32 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -633,34 +1422,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub provider-registration list + - providerhub notification-registration delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - - -g + - -y --name --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/notificationRegistrations/testNotificationRegistration?api-version=2020-11-20 response: body: - string: '{"value":[{"subscriptionId":"6f53185c-ea09-4fc3-9075-318dec805303","namespace":"Microsoft.Contoso","providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"providerHubMetadata":{"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso - Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"providerType":"Internal","providerVersion":"2.0","capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}],"provisioningState":"Succeeded","metadata":null,"partitionKey":"FIXED","id":"MICROSOFTCONTOSO","createdTime":"2021-01-13T01:41:26.9872993Z","changedTime":"2021-01-13T01:41:26.9872993Z","_ETag":"\"63060b2b-0000-0700-0000-5ffe4fc60000\""}]}' + string: 'null' headers: cache-control: - no-cache content-length: - - '1125' + - '4' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:28 GMT + - Tue, 08 Jun 2021 02:54:32 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -669,6 +1457,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 200 message: OK @@ -680,93 +1470,82 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub provider-registration delete + - providerhub operation list Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - -y --provider-namespace + - --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/operations/default?api-version=2020-11-20 response: body: - string: '' + string: 'null' headers: cache-control: - no-cache content-length: - - '0' + - '4' + content-type: + - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:29 GMT + - Tue, 08 Jun 2021 02:54: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 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' status: code: 200 message: OK - request: - body: '{"properties": {"providerAuthorizations": [{"applicationId": "3d834152-5efa-46f7-85a4-a18c2b5d46f9", - "roleDefinitionId": "760505bf-dcfa-4311-b890-18da392a00b2"}], "namespace": "Microsoft.Contoso", - "providerVersion": "2.0", "providerType": "Internal", "management": {"manifestOwners": - ["SPARTA-PlatformServiceAdministrator"], "incidentRoutingService": "Contoso - Resource Provider", "incidentRoutingTeam": "Contoso Triage", "incidentContactEmail": - "helpme@contoso.com", "serviceTreeInfos": [{"serviceId": "6f53185c-ea09-4fc3-9075-318dec805303", - "componentId": "6f53185c-ea09-4fc3-9075-318dec805303"}]}, "capabilities": [{"quotaId": - "CSP_2015-05-01", "effect": "Allow"}, {"quotaId": "CSP_MG_2017-12-01", "effect": - "Allow"}], "providerHubMetadata": {"providerAuthentication": {"allowedAudiences": - ["https://management.core.windows.net/"]}}}}' + body: '{"contents": [{"name": "Microsoft.Contoso/Employees/Read", "display": {"provider": + "Microsoft.Contoso", "resource": "Employees", "operation": "Gets/List employee + resources", "description": "Read employees"}}]}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - providerhub provider-registration create + - providerhub operation create Connection: - keep-alive Content-Length: - - '836' + - '209' Content-Type: - application/json ParameterSetName: - - --provider-authorizations --resource-provider-authentication --service-tree-infos - --capabilities --capabilities --manifest-owners --incident-contact-email --incident-routing-service - --incident-routing-team --provider-type --provider-version --provider-namespace + - --contents --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/operations/default?api-version=2020-11-20 response: body: - string: '{"properties":{"providerHubMetadata":{"providerAuthentication":{"allowedAudiences":["https://management.core.windows.net/"]}},"provisioningState":"Succeeded","providerAuthorizations":[{"applicationId":"3d834152-5efa-46f7-85a4-a18c2b5d46f9","roleDefinitionId":"760505bf-dcfa-4311-b890-18da392a00b2"}],"namespace":"Microsoft.Contoso","providerVersion":"2.0","providerType":"Internal","management":{"manifestOwners":["SPARTA-PlatformServiceAdministrator"],"incidentRoutingService":"Contoso - Resource Provider","incidentRoutingTeam":"Contoso Triage","incidentContactEmail":"helpme@contoso.com","serviceTreeInfos":[{"serviceId":"6f53185c-ea09-4fc3-9075-318dec805303","componentId":"6f53185c-ea09-4fc3-9075-318dec805303"}],"resourceAccessPolicy":"NotSpecified"},"capabilities":[{"quotaId":"CSP_2015-05-01","effect":"Allow"},{"quotaId":"CSP_MG_2017-12-01","effect":"Allow"}]}}' + string: '{"contents":[{"name":"Microsoft.Contoso/Employees/Read","isDataAction":false,"display":{"provider":"Microsoft.Contoso","resource":"Employees","operation":"Gets/List + employee resources","description":"Read employees"}}]}' headers: cache-control: - no-cache content-length: - - '868' + - '219' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:31 GMT + - Tue, 08 Jun 2021 02:54:34 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -788,117 +1567,77 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub provider-registration generate-operation + - providerhub operation delete Connection: - keep-alive Content-Length: - '0' ParameterSetName: - - --provider-namespace + - -y --provider-namespace User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/generateOperations?api-version=2020-11-20 + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/operations/default?api-version=2020-11-20 response: body: - string: '[{"name":"Microsoft.Contoso/operations/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"operations","operation":"Operations_List","description":"read - operations"}},{"name":"Microsoft.Contoso/clusters/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"clusters","operation":"clusters_Retrieve","description":"read - clusters"}},{"name":"Microsoft.Contoso/clusters/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"clusters","operation":"clusters_CreateOrUpdate","description":"write - clusters"}},{"name":"Microsoft.Contoso/clusters/delete","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"clusters","operation":"clusters_Delete","description":"delete - clusters"}},{"name":"Microsoft.Contoso/clusters/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"clusters","operation":"clusters_Update","description":"write - clusters"}},{"name":"Microsoft.Contoso/clusters/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"clusters","operation":"clusters_ListByResourceGroup","description":"read - clusters"}},{"name":"Microsoft.Contoso/clusters/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"clusters","operation":"clusters_ListBySubscription","description":"read - clusters"}},{"name":"Microsoft.Contoso/towers/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"towers","operation":"Towers_Get","description":"read - towers"}},{"name":"Microsoft.Contoso/towers/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"towers","operation":"Towers_CreateOrUpdate","description":"write - towers"}},{"name":"Microsoft.Contoso/towers/delete","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"towers","operation":"Towers_Delete","description":"delete - towers"}},{"name":"Microsoft.Contoso/towers/write","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"towers","operation":"Towers_Update","description":"write - towers"}},{"name":"Microsoft.Contoso/towers/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"towers","operation":"Towers_ListByResourceGroup","description":"read - towers"}},{"name":"Microsoft.Contoso/towers/read","isDataAction":false,"display":{"provider":"Microsoft.Contoso/","resource":"towers","operation":"Towers_ListBySubscription","description":"read - towers"}},{"name":"microsoft.contoso/employees/read","isDataAction":false,"display":{"provider":"microsoft.contoso/","resource":"employees","operation":"Employee_ListBySubscription","description":"Returns - list of employees."}},{"name":"microsoft.contoso/employees/read","isDataAction":false,"display":{"provider":"microsoft.contoso/","resource":"employees","operation":"Employee_List","description":"Returns - list of employees."}},{"name":"microsoft.contoso/employees/read","isDataAction":false,"display":{"provider":"microsoft.contoso/","resource":"employees","operation":"Employee_Get","description":"Returns - employee resource for a given name."}},{"name":"microsoft.contoso/employees/write","isDataAction":false,"display":{"provider":"microsoft.contoso/","resource":"employees","operation":"Employee_CreateAndUpdate","description":"Create - or update employee resource."}},{"name":"microsoft.contoso/employees/delete","isDataAction":false,"display":{"provider":"microsoft.contoso/","resource":"employees","operation":"Employee_Delete","description":"Deletes - employee resource for a given name."}},{"name":"microsoft.contoso/employees/write","isDataAction":false,"display":{"provider":"microsoft.contoso/","resource":"employees","operation":"Employees_Update","description":"Update - employee details."}}]' + string: '' headers: cache-control: - no-cache - content-length: - - '3802' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:34 GMT + - Tue, 08 Jun 2021 02:54:34 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-subscription-deletes: + - '14998' status: - code: 200 - message: OK + code: 204 + message: No Content - request: - body: '{"properties": {"routingType": "Default", "regionality": "Regional", "endpoints": - [{"apiVersions": ["2018-11-01-preview", "2020-01-01-preview", "2019-01-01"], - "locations": ["West US", "West Central US", "West Europe", "Southeast Asia", - "West US 2", "East US 2 EUAP", "North Europe", "East US", "East Asia"], "requiredFeatures": - ["Microsoft.Contoso/RPaaSSampleApp"]}], "swaggerSpecifications": [{"apiVersions": - ["2018-11-01-preview", "2020-01-01-preview", "2019-01-01"], "swaggerSpecFolderUri": - "https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}], - "enableAsyncOperation": true, "resourceMovePolicy": {"validationRequired": false, - "crossResourceGroupMoveEnabled": true, "crossSubscriptionMoveEnabled": true}}}' + body: '{"properties": {"skuSettings": [{"name": "freeSku"}]}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - providerhub resource-type-registration create + - providerhub sku create Connection: - keep-alive Content-Length: - - '783' + - '54' Content-Type: - application/json ParameterSetName: - - --endpoints --regionality --routing-type --swagger-specifications --provider-namespace - --enable-async-operation --resource-move-policy --resource-type + - --sku-settings --provider-namespace --resource-type --sku User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/skus/default?api-version=2020-11-20 response: body: - string: '{"properties":{"name":"employees","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"locations":["West - US","West Central US","West Europe","Southeast Asia","West US 2","East US - 2 EUAP","North Europe","East US","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"]}],"swaggerSpecifications":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"resourceMovePolicy":{"validationRequired":false,"crossResourceGroupMoveEnabled":true,"crossSubscriptionMoveEnabled":true}},"name":"employees"}' + string: '{"properties":{"skuSettings":[{"name":"freeSku"}]},"type":"Microsoft.ProviderHub/providerRegistrationsskus","name":"default"}' headers: cache-control: - no-cache content-length: - - '844' + - '125' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:47 GMT + - Tue, 08 Jun 2021 02:54:34 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -920,35 +1659,31 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub resource-type-registration show + - providerhub sku show Connection: - keep-alive ParameterSetName: - - --provider-namespace --resource-type + - --provider-namespace --resource-type --sku User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/skus/default?api-version=2020-11-20 response: body: - string: '{"properties":{"name":"employees","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"locations":["West - US","West Central US","West Europe","Southeast Asia","West US 2","East US - 2 EUAP","North Europe","East US","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"]}],"swaggerSpecifications":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"resourceMovePolicy":{"validationRequired":false,"crossResourceGroupMoveEnabled":true,"crossSubscriptionMoveEnabled":true}},"name":"employees"}' + string: '{"properties":{"skuSettings":[{"name":"freeSku"}]},"type":"Microsoft.ProviderHub/providerRegistrationsskus","name":"default"}' headers: cache-control: - no-cache content-length: - - '844' + - '125' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:47 GMT + - Tue, 08 Jun 2021 02:54:35 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -968,46 +1703,31 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub resource-type-registration list + - providerhub sku list Connection: - keep-alive ParameterSetName: - - --provider-namespace + - --provider-namespace --resource-type User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/skus?api-version=2020-11-20 response: body: - string: '{"value":[{"properties":{"name":"extensionresourcetype","routingType":"ProxyOnly, - Extension","regionality":"Global","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":[""],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false},"name":"extensionresourcetype"},{"properties":{"name":"Operations","routingType":"ProxyOnly, - Tenant","regionality":"Global","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":[""]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"allowedUnauthorizedActions":["microsoft.contoso/operations/read"],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false},"name":"Operations"},{"properties":{"name":"clusters","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":["East - US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.canary.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["East - US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.unitedstates.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["West - Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.europe.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin"]}]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}]},"name":"clusters"},{"properties":{"name":"Locations","routingType":"ProxyOnly","regionality":"Global","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":[""]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false},"name":"Locations"},{"properties":{"name":"locations/operationstatuses","routingType":"ProxyOnly, - Tenant, LocationBased","regionality":"Regional","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":["East - US 2 EUAP"]},{"apiVersions":["2020-01-01-preview"],"locations":["East US"]},{"apiVersions":["2020-01-01-preview"],"locations":["West - Europe"]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"allowedUnauthorizedActions":["Microsoft.Contoso/Locations/OperationStatuses/read","Microsoft.Contoso/Locations/OperationStatuses/write"],"enableAsyncOperation":false,"provisioningState":"Succeeded","enableThirdPartyS2S":false},"name":"locations/operationstatuses"},{"properties":{"name":"towers","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2020-01-01-preview"],"locations":["East - US 2 EUAP"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.canary.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["East - US"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.unitedstates.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin"]}]},{"apiVersions":["2020-01-01-preview"],"locations":["West - Europe"],"requiredFeatures":["Microsoft.Contoso/RPaaSBridge"],"extensions":[{"endpointUri":"https://k8bridge.europe.production.fusion.azure.com/","extensionCategories":["ResourceCreationBegin","ResourceDeletionBegin"]}]}],"swaggerSpecifications":[{"apiVersions":["2020-01-01-preview"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/contoso/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"extendedLocations":[{"type":"CustomLocation","supportedPolicy":"NotSpecified"}]},"name":"towers"},{"properties":{"name":"employees","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"locations":["West - US","West Central US","West Europe","Southeast Asia","West US 2","East US - 2 EUAP","North Europe","East US","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"]}],"swaggerSpecifications":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"resourceMovePolicy":{"validationRequired":false,"crossResourceGroupMoveEnabled":true,"crossSubscriptionMoveEnabled":true}},"name":"employees"}]}' + string: '{"value":[{"properties":{"skuSettings":[{"name":"freeSku"}]},"type":"Microsoft.ProviderHub/providerRegistrationsskus","name":"default"}]}' headers: cache-control: - no-cache content-length: - - '5951' + - '137' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Jan 2021 01:41:48 GMT + - Tue, 08 Jun 2021 02:54:36 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1027,17 +1747,17 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - providerhub resource-type-registration delete + - providerhub sku delete Connection: - keep-alive Content-Length: - '0' ParameterSetName: - - -y --provider-namespace --resource-type + - -y --provider-namespace --resource-type --sku User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-providerhub/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees?api-version=2020-11-20 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees/skus/default?api-version=2020-11-20 response: body: string: '' @@ -1047,13 +1767,11 @@ interactions: content-length: - '0' date: - - Wed, 13 Jan 2021 01:41:49 GMT + - Tue, 08 Jun 2021 02:54:36 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: @@ -1063,67 +1781,4 @@ interactions: status: code: 200 message: OK -- request: - body: '{"properties": {"routingType": "Default", "regionality": "Regional", "endpoints": - [{"apiVersions": ["2018-11-01-preview", "2020-01-01-preview", "2019-01-01"], - "locations": ["West US", "West Central US", "West Europe", "Southeast Asia", - "West US 2", "East US 2 EUAP", "North Europe", "East US", "East Asia"], "requiredFeatures": - ["Microsoft.Contoso/RPaaSSampleApp"]}], "swaggerSpecifications": [{"apiVersions": - ["2018-11-01-preview", "2020-01-01-preview", "2019-01-01"], "swaggerSpecFolderUri": - "https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}], - "enableAsyncOperation": true, "resourceMovePolicy": {"validationRequired": false, - "crossResourceGroupMoveEnabled": true, "crossSubscriptionMoveEnabled": true}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - providerhub resource-type-registration create - Connection: - - keep-alive - Content-Length: - - '783' - Content-Type: - - application/json - ParameterSetName: - - --endpoints --regionality --routing-type --swagger-specifications --provider-namespace - --enable-async-operation --resource-move-policy --resource-type - User-Agent: - - AZURECLI/2.15.0 azsdk-python-providerhub/unknown Python/3.8.6 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ProviderHub/providerRegistrations/Microsoft.Contoso/resourcetypeRegistrations/employees?api-version=2020-11-20 - response: - body: - string: '{"properties":{"name":"employees","routingType":"Default","regionality":"Regional","endpoints":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"locations":["West - US","West Central US","West Europe","Southeast Asia","West US 2","East US - 2 EUAP","North Europe","East US","East Asia"],"requiredFeatures":["Microsoft.Contoso/RPaaSSampleApp"]}],"swaggerSpecifications":[{"apiVersions":["2018-11-01-preview","2020-01-01-preview","2019-01-01"],"swaggerSpecFolderUri":"https://github.com/Azure/azure-rest-api-specs-pr/blob/RPSaaSMaster/specification/rpsaas/resource-manager/Microsoft.Contoso/"}],"enableAsyncOperation":true,"provisioningState":"Succeeded","enableThirdPartyS2S":false,"resourceMovePolicy":{"validationRequired":false,"crossResourceGroupMoveEnabled":true,"crossSubscriptionMoveEnabled":true}},"name":"employees"}' - headers: - cache-control: - - no-cache - content-length: - - '844' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Jan 2021 01:42:01 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 version: 1 diff --git a/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario.py b/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario.py index ce193d16008..ca8e768665c 100644 --- a/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario.py +++ b/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario.py @@ -19,6 +19,13 @@ from .example_steps import step_default_rollout_list from .example_steps import step_default_rollout_stop from .example_steps import step_default_rollout_delete +from .example_steps import step_notification_registration_create +from .example_steps import step_notification_registration_show +from .example_steps import step_notification_registration_list +from .example_steps import step_notification_registration_delete +from .example_steps import step_operation_create +from .example_steps import step_operation_list +from .example_steps import step_operation_delete from .example_steps import step_manifest_checkin from .example_steps import step_manifest_generate from .example_steps import step_provider_registration_create @@ -27,9 +34,28 @@ from .example_steps import step_provider_registration_generate_operation from .example_steps import step_provider_registration_delete from .example_steps import step_resource_type_registration_create -from .example_steps import step_resource_type_registration_delete from .example_steps import step_resource_type_registration_show from .example_steps import step_resource_type_registration_list +from .example_steps import step_nested_resource_type_registration_create +from .example_steps import step_nested_resource_type_registration_extensions_create +from .example_steps import step_nested_resource_type_registration_show +from .example_steps import step_nested_resource_type_registration_delete +from .example_steps import step_sku_create +from .example_steps import step_sku_create2 +from .example_steps import step_sku_create3 +from .example_steps import step_sku_create4 +from .example_steps import step_sku_show +from .example_steps import step_sku_show_nested_resource_type_first +from .example_steps import step_sku_show_nested_resource_type_second +from .example_steps import step_sku_show_nested_resource_type_third +from .example_steps import step_sku_list +from .example_steps import step_sku_list2 +from .example_steps import step_sku_list3 +from .example_steps import step_sku_list4 +from .example_steps import step_sku_delete +from .example_steps import step_sku_delete2 +from .example_steps import step_sku_delete3 +from .example_steps import step_sku_delete4 from .. import ( try_manual, raise_if, @@ -42,42 +68,55 @@ # Env setup_scenario @try_manual -def setup_scenario(test, rg): +def setup_scenario(test_2): pass # Env cleanup_scenario @try_manual -def cleanup_scenario(test, rg): +def cleanup_scenario(test_2): pass # Testcase: Scenario @try_manual -def call_scenario(test, rg): - setup_scenario(test, rg) - step_custom_rollout_create(test, checks=[]) - step_custom_rollout_show(test, checks=[]) - step_custom_rollout_list(test, checks=[]) - step_default_rollout_create(test, checks=[]) - step_default_rollout_list(test, checks=[]) - step_default_rollout_show(test, checks=[]) - step_default_rollout_stop(test, checks=[]) - step_default_rollout_delete(test, checks=[]) - step_manifest_generate(test, checks=[]) - step_manifest_checkin(test, checks=[]) - step_provider_registration_create(test, checks=[]) - step_provider_registration_show(test, checks=[]) - step_provider_registration_list(test, checks=[]) - step_provider_registration_delete(test, checks=[]) - step_provider_registration_create(test, checks=[]) - step_provider_registration_generate_operation(test, checks=[]) - step_resource_type_registration_create(test, checks=[]) - step_resource_type_registration_show(test, checks=[]) - step_resource_type_registration_list(test, checks=[]) - step_resource_type_registration_delete(test, checks=[]) - step_resource_type_registration_create(test, checks=[]) - cleanup_scenario(test, rg) +def call_scenario(test_2): + setup_scenario(test_2) + step_manifest_generate(test_2, checks=[]) + step_manifest_checkin(test_2, checks=[]) + step_custom_rollout_create(test_2, checks=[]) + step_custom_rollout_show(test_2, checks=[]) + step_custom_rollout_list(test_2, checks=[]) + step_default_rollout_create(test_2, checks=[]) + step_default_rollout_show(test_2, checks=[]) + step_default_rollout_list(test_2, checks=[]) + step_default_rollout_stop(test_2, checks=[]) + step_resource_type_registration_create(test_2, checks=[]) + step_resource_type_registration_show(test_2, checks=[]) + step_resource_type_registration_list(test_2, checks=[]) + step_nested_resource_type_registration_create(test_2, checks=[]) + step_nested_resource_type_registration_extensions_create(test_2, checks=[]) + step_nested_resource_type_registration_show(test_2, checks=[]) + step_nested_resource_type_registration_delete(test_2, checks=[]) + step_default_rollout_delete(test_2, checks=[]) + step_provider_registration_create(test_2, checks=[]) + step_provider_registration_show(test_2, checks=[]) + step_provider_registration_list(test_2, checks=[]) + step_provider_registration_delete(test_2, checks=[]) + step_provider_registration_create(test_2, checks=[]) + step_provider_registration_generate_operation(test_2, checks=[]) + step_notification_registration_create(test_2, checks=[]) + step_notification_registration_show(test_2, checks=[]) + step_notification_registration_list(test_2, checks=[]) + step_notification_registration_delete(test_2, checks=[]) + step_operation_list(test_2, checks=[]) + step_operation_create(test_2, checks=[]) + step_operation_delete(test_2, checks=[]) + step_sku_create(test_2, checks=[]) + step_sku_show(test_2, checks=[]) + step_sku_list(test_2, checks=[]) + step_sku_delete(test_2, checks=[]) + cleanup_scenario(test_2) # Test class for Scenario @@ -95,11 +134,18 @@ def __init__(self, *args, **kwargs): 'resourceType': 'employees', 'customRolloutName': 'canaryTesting01', 'defaultRolloutName': 'cliDefaultRollout', - 'region': 'eastus2euap' + 'region': 'eastus2euap', + 'notificationRegistration': 'testNotificationRegistration', + 'nestedResourceType': 'nestedResourceType', + 'skuName': 'default' }) - @ResourceGroupPreparer(name_prefix='clitestproviderhub_sampleResourceGroup'[:7], key='rg', parameter_name='rg') - def test_providerhub_Scenario(self, rg): - call_scenario(self, rg) + + @ResourceGroupPreparer(name_prefix='clitestproviderhub_mgmtexp-eastus'[:7], key='rg', parameter_name='rg') + @ResourceGroupPreparer(name_prefix='clitestproviderhub_mgmtexp-northeurope'[:7], key='rg_2', + parameter_name='rg_2') + def test_providerhub_Scenario(self_2): + call_scenario(self_2) calc_coverage(__file__) raise_if() + diff --git a/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario_coverage.md b/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario_coverage.md index d2057d33ada..39f24566770 100644 --- a/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario_coverage.md +++ b/src/providerhub/azext_providerhub/tests/latest/test_providerhub_scenario_coverage.md @@ -1,20 +1,34 @@ |Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| -|step_custom_rollout_create|successed||||2021-01-13 01:41:07.261039|2021-01-13 01:41:12.879376| -|step_custom_rollout_show|successed||||2021-01-13 01:41:12.880378|2021-01-13 01:41:13.645307| -|step_custom_rollout_list|successed||||2021-01-13 01:41:13.646328|2021-01-13 01:41:14.438678| -|step_default_rollout_list|successed||||2021-01-13 01:41:18.056142|2021-01-13 01:41:18.908663| -|step_default_rollout_show|successed||||2021-01-13 01:41:18.909661|2021-01-13 01:41:19.623311| -|step_default_rollout_stop|successed||||2021-01-13 01:41:19.624315|2021-01-13 01:41:21.161668| -|step_default_rollout_delete|successed||||2021-01-13 01:41:21.162662|2021-01-13 01:41:21.928006| -|step_manifest_generate|successed||||2021-01-13 01:41:21.928994|2021-01-13 01:41:23.096705| -|step_manifest_checkin|successed||||2021-01-13 01:41:23.097756|2021-01-13 01:41:25.246395| -|step_provider_registration_create|successed||||2021-01-13 01:41:30.020627|2021-01-13 01:41:31.932222| -|step_provider_registration_show|successed||||2021-01-13 01:41:26.903766|2021-01-13 01:41:28.061203| -|step_provider_registration_list|successed||||2021-01-13 01:41:28.062244|2021-01-13 01:41:29.121825| -|step_provider_registration_delete|successed||||2021-01-13 01:41:29.122822|2021-01-13 01:41:30.019575| -|step_provider_registration_generate_operation|successed||||2021-01-13 01:41:31.933165|2021-01-13 01:41:34.786072| -|step_resource_type_registration_create|successed||||2021-01-13 01:41:50.020725|2021-01-13 01:42:01.929241| -|step_resource_type_registration_show|successed||||2021-01-13 01:41:47.851452|2021-01-13 01:41:48.601877| -|step_resource_type_registration_list|successed||||2021-01-13 01:41:48.601877|2021-01-13 01:41:49.202365| -|step_resource_type_registration_delete|successed||||2021-01-13 01:41:49.203286|2021-01-13 01:41:50.019731| -Coverage: 18/18 +|step_manifest_generate|successed||||2021-06-08 02:53:57.810834|2021-06-08 02:53:59.072465| +|step_manifest_checkin|successed||||2021-06-08 02:53:59.072465|2021-06-08 02:54:02.180973| +|step_custom_rollout_create|successed||||2021-06-08 02:54:02.180973|2021-06-08 02:54:08.818632| +|step_custom_rollout_show|successed||||2021-06-08 02:54:08.818632|2021-06-08 02:54:09.268460| +|step_custom_rollout_list|successed||||2021-06-08 02:54:09.269461|2021-06-08 02:54:09.712838| +|step_default_rollout_show|successed||||2021-06-08 02:54:14.427425|2021-06-08 02:54:14.724710| +|step_default_rollout_list|successed||||2021-06-08 02:54:14.724710|2021-06-08 02:54:15.179839| +|step_default_rollout_stop|successed||||2021-06-08 02:54:15.179839|2021-06-08 02:54:15.704376| +|step_resource_type_registration_create|successed||||2021-06-08 02:54:15.705372|2021-06-08 02:54:21.207524| +|step_resource_type_registration_show|successed||||2021-06-08 02:54:21.207524|2021-06-08 02:54:21.615440| +|step_resource_type_registration_list|successed||||2021-06-08 02:54:21.615505|2021-06-08 02:54:22.148684| +|step_nested_resource_type_registration_create|successed||||2021-06-08 02:54:22.148684|2021-06-08 02:54:24.434808| +|step_nested_resource_type_registration_extensions_create|successed||||2021-06-08 02:54:24.434808|2021-06-08 02:54:25.285812| +|step_nested_resource_type_registration_show|successed||||2021-06-08 02:54:25.285812|2021-06-08 02:54:25.684807| +|step_nested_resource_type_registration_delete|successed||||2021-06-08 02:54:25.685829|2021-06-08 02:54:26.246285| +|step_default_rollout_delete|successed||||2021-06-08 02:54:26.246810|2021-06-08 02:54:26.615305| +|step_provider_registration_create|successed||||2021-06-08 02:54:28.918144|2021-06-08 02:54:29.870022| +|step_provider_registration_show|successed||||2021-06-08 02:54:27.277876|2021-06-08 02:54:27.657873| +|step_provider_registration_list|successed||||2021-06-08 02:54:27.657873|2021-06-08 02:54:28.276591| +|step_provider_registration_delete|successed||||2021-06-08 02:54:28.277591|2021-06-08 02:54:28.918144| +|step_provider_registration_generate_operation|successed||||2021-06-08 02:54:29.871024|2021-06-08 02:54:30.352592| +|step_notification_registration_create|successed||||2021-06-08 02:54:30.352592|2021-06-08 02:54:31.009540| +|step_notification_registration_show|successed||||2021-06-08 02:54:31.010543|2021-06-08 02:54:31.550092| +|step_notification_registration_list|successed||||2021-06-08 02:54:31.550092|2021-06-08 02:54:31.941707| +|step_notification_registration_delete|successed||||2021-06-08 02:54:31.941707|2021-06-08 02:54:32.400663| +|step_operation_list|successed||||2021-06-08 02:54:32.401663|2021-06-08 02:54:32.882290| +|step_operation_create|successed||||2021-06-08 02:54:32.883291|2021-06-08 02:54:33.803226| +|step_operation_delete|successed||||2021-06-08 02:54:33.803226|2021-06-08 02:54:34.192666| +|step_sku_create|successed||||2021-06-08 02:54:34.192666|2021-06-08 02:54:34.743965| +|step_sku_show|successed||||2021-06-08 02:54:34.744958|2021-06-08 02:54:35.194421| +|step_sku_list|successed||||2021-06-08 02:54:35.195421|2021-06-08 02:54:35.625073| +|step_sku_delete|successed||||2021-06-08 02:54:35.625073|2021-06-08 02:54:36.184739| +Coverage: 32/32 diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/__init__.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/__init__.py index 7897fe3ec2a..74c6428c597 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/__init__.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/__init__.py @@ -6,8 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._providerhub import Providerhub -__all__ = ['Providerhub'] +from ._provider_hub import ProviderHub +__all__ = ['ProviderHub'] try: from ._patch import patch_sdk # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/_configuration.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/_configuration.py index 93b7e0396b3..34bef1e29bf 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/_configuration.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/_configuration.py @@ -20,9 +20,8 @@ VERSION = "unknown" - -class ProviderhubConfiguration(Configuration): - """Configuration for Providerhub. +class ProviderHubConfiguration(Configuration): + """Configuration for ProviderHub. Note that all parameters used to create this instance are saved as instance attributes. @@ -44,7 +43,7 @@ def __init__( raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(ProviderhubConfiguration, self).__init__(**kwargs) + super(ProviderHubConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/_provider_hub.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/_provider_hub.py new file mode 100644 index 00000000000..fa00f71e01f --- /dev/null +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/_provider_hub.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. +# -------------------------------------------------------------------------- + +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 ProviderHubConfiguration +from .operations import CustomRolloutsOperations +from .operations import DefaultRolloutsOperations +from .operations import ProviderHubOperationsMixin +from .operations import NotificationRegistrationsOperations +from .operations import Operations +from .operations import ProviderRegistrationsOperations +from .operations import ResourceTypeRegistrationsOperations +from .operations import ResourceTypeRegistrationOperations +from .operations import SkusOperations +from . import models + + +class ProviderHub(ProviderHubOperationsMixin): + """Microsoft ProviderHub. + + :ivar custom_rollouts: CustomRolloutsOperations operations + :vartype custom_rollouts: provider_hub.operations.CustomRolloutsOperations + :ivar default_rollouts: DefaultRolloutsOperations operations + :vartype default_rollouts: provider_hub.operations.DefaultRolloutsOperations + :ivar providerhub_operations: ProviderHubOperationsMixin operations + :vartype providerhub_operations: provider_hub.operations.ProviderHubOperationsMixin + :ivar notification_registrations: NotificationRegistrationsOperations operations + :vartype notification_registrations: provider_hub.operations.NotificationRegistrationsOperations + :ivar operations: Operations operations + :vartype operations: provider_hub.operations.Operations + :ivar provider_registrations: ProviderRegistrationsOperations operations + :vartype provider_registrations: provider_hub.operations.ProviderRegistrationsOperations + :ivar resource_type_registrations: ResourceTypeRegistrationsOperations operations + :vartype resource_type_registrations: provider_hub.operations.ResourceTypeRegistrationsOperations + :ivar resource_type_registration: ResourceTypeRegistrationOperations operations + :vartype resource_type_registration: provider_hub.operations.ResourceTypeRegistrationOperations + :ivar skus: SkusOperations operations + :vartype skus: provider_hub.operations.SkusOperations + :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 = ProviderHubConfiguration(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.providerhub_operations = ProviderHubOperationsMixin( + self._client, self._config, self._serialize, self._deserialize) + self.custom_rollouts = CustomRolloutsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.default_rollouts = DefaultRolloutsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.notification_registrations = NotificationRegistrationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.provider_registrations = ProviderRegistrationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_type_registrations = ResourceTypeRegistrationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_type_registration = ResourceTypeRegistrationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> ProviderHub + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/__init__.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/__init__.py index 6fceca1c3bf..236fc35034b 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/__init__.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._providerhub import Providerhub -__all__ = ['Providerhub'] +from ._provider_hub import ProviderHub +__all__ = ['ProviderHub'] diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_configuration.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_configuration.py index 433096e7048..aa58874fb3f 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_configuration.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_configuration.py @@ -18,9 +18,8 @@ VERSION = "unknown" - -class ProviderhubConfiguration(Configuration): - """Configuration for Providerhub. +class ProviderHubConfiguration(Configuration): + """Configuration for ProviderHub. Note that all parameters used to create this instance are saved as instance attributes. @@ -41,7 +40,7 @@ def __init__( raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(ProviderhubConfiguration, self).__init__(**kwargs) + super(ProviderHubConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_provider_hub.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_provider_hub.py new file mode 100644 index 00000000000..fa8fb81bb5d --- /dev/null +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/_provider_hub.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, 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 import ProviderHubConfiguration +from .operations import CustomRolloutsOperations +from .operations import DefaultRolloutsOperations +from .operations import ProviderHubOperationsMixin +from .operations import NotificationRegistrationsOperations +from .operations import Operations +from .operations import ProviderRegistrationsOperations +from .operations import ResourceTypeRegistrationsOperations +from .operations import ResourceTypeRegistrationOperations +from .operations import SkusOperations +from .. import models + + +class ProviderHub(ProviderHubOperationsMixin): + """Microsoft ProviderHub. + + :ivar custom_rollouts: CustomRolloutsOperations operations + :vartype custom_rollouts: provider_hub.aio.operations.CustomRolloutsOperations + :ivar default_rollouts: DefaultRolloutsOperations operations + :vartype default_rollouts: provider_hub.aio.operations.DefaultRolloutsOperations + :ivar notification_registrations: NotificationRegistrationsOperations operations + :vartype notification_registrations: provider_hub.aio.operations.NotificationRegistrationsOperations + :ivar operations: Operations operations + :vartype operations: provider_hub.aio.operations.Operations + :ivar provider_registrations: ProviderRegistrationsOperations operations + :vartype provider_registrations: provider_hub.aio.operations.ProviderRegistrationsOperations + :ivar resource_type_registrations: ResourceTypeRegistrationsOperations operations + :vartype resource_type_registrations: provider_hub.aio.operations.ResourceTypeRegistrationsOperations + :ivar resource_type_registration: ResourceTypeRegistrationOperations operations + :vartype resource_type_registration: provider_hub.aio.operations.ResourceTypeRegistrationOperations + :ivar skus: SkusOperations operations + :vartype skus: provider_hub.aio.operations.SkusOperations + :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 = ProviderHubConfiguration(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.custom_rollouts = CustomRolloutsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.default_rollouts = DefaultRolloutsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.notification_registrations = NotificationRegistrationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.provider_registrations = ProviderRegistrationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_type_registrations = ResourceTypeRegistrationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_type_registration = ResourceTypeRegistrationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "ProviderHub": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/__init__.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/__init__.py index c71a7768157..cf67c5ce099 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/__init__.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/__init__.py @@ -8,7 +8,7 @@ from ._custom_rollouts_operations import CustomRolloutsOperations from ._default_rollouts_operations import DefaultRolloutsOperations -from ._providerhub_operations import ProviderhubOperationsMixin +from ._provider_hub_operations import ProviderHubOperationsMixin from ._notification_registrations_operations import NotificationRegistrationsOperations from ._operations import Operations from ._provider_registrations_operations import ProviderRegistrationsOperations @@ -19,7 +19,7 @@ __all__ = [ 'CustomRolloutsOperations', 'DefaultRolloutsOperations', - 'ProviderhubOperationsMixin', + 'ProviderHubOperationsMixin', 'NotificationRegistrationsOperations', 'Operations', 'ProviderRegistrationsOperations', diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_custom_rollouts_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_custom_rollouts_operations.py index 857f393d3d0..49780a1a2b7 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_custom_rollouts_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_custom_rollouts_operations.py @@ -17,9 +17,7 @@ from ... import models T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, - AsyncHttpResponse], T, Dict[str, Any]], Any]] - +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class CustomRolloutsOperations: """CustomRolloutsOperations async operations. @@ -28,7 +26,7 @@ class CustomRolloutsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -57,7 +55,7 @@ async def get( :type rollout_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: CustomRollout, or the result of cls(response) - :rtype: ~providerhub.models.CustomRollout + :rtype: ~provider_hub.models.CustomRollout :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.CustomRollout"] @@ -79,24 +77,20 @@ async def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('CustomRollout', pipeline_response) @@ -110,7 +104,7 @@ async def create_or_update( self, provider_namespace: str, rollout_name: str, - properties: "models.CustomRolloutSpecification", + properties: "models.CustomRollout", **kwargs ) -> "models.CustomRollout": """Creates or updates the rollout details. @@ -120,10 +114,10 @@ async def create_or_update( :param rollout_name: The rollout name. :type rollout_name: str :param properties: The custom rollout properties supplied to the CreateOrUpdate operation. - :type properties: ~providerhub.models.CustomRolloutSpecification + :type properties: ~provider_hub.models.CustomRollout :keyword callable cls: A custom type or function that will be passed the direct response :return: CustomRollout, or the result of cls(response) - :rtype: ~providerhub.models.CustomRollout + :rtype: ~provider_hub.models.CustomRollout :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.CustomRollout"] @@ -146,31 +140,24 @@ async def create_or_update( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, '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'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body( - properties, 'CustomRolloutSpecification') + body_content = self._serialize.body(properties, 'CustomRollout') body_content_kwargs['content'] = body_content - request = self._client.put( - url, query_parameters, header_parameters, **body_content_kwargs) + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('CustomRollout', pipeline_response) @@ -178,8 +165,7 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts/{rolloutName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts/{rolloutName}'} # type: ignore def list_by_provider_registration( self, @@ -192,11 +178,10 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either CustomRolloutArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.CustomRolloutArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.CustomRolloutArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.CustomRolloutArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.CustomRolloutArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -207,13 +192,11 @@ def list_by_provider_registration( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -221,21 +204,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'CustomRolloutArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('CustomRolloutArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -249,15 +228,12 @@ async def get_next(next_link=None): 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) + 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_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_default_rollouts_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_default_rollouts_operations.py index f5e8f97f786..99b79746763 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_default_rollouts_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_default_rollouts_operations.py @@ -7,6 +7,7 @@ # -------------------------------------------------------------------------- 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse @@ -14,12 +15,11 @@ from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod 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]] - +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class DefaultRolloutsOperations: """DefaultRolloutsOperations async operations. @@ -28,7 +28,7 @@ class DefaultRolloutsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -57,7 +57,7 @@ async def get( :type rollout_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: DefaultRollout, or the result of cls(response) - :rtype: ~providerhub.models.DefaultRollout + :rtype: ~provider_hub.models.DefaultRollout :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DefaultRollout"] @@ -79,24 +79,20 @@ async def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('DefaultRollout', pipeline_response) @@ -142,35 +138,31 @@ async def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore async def _create_or_update_initial( self, provider_namespace: str, rollout_name: str, + properties: "models.DefaultRollout", **kwargs ) -> "models.DefaultRollout": cls = kwargs.pop('cls', None) # type: ClsType["models.DefaultRollout"] @@ -179,6 +171,7 @@ async def _create_or_update_initial( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -192,44 +185,42 @@ async def _create_or_update_initial( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'DefaultRollout') + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize( - 'DefaultRollout', pipeline_response) + deserialized = self._deserialize('DefaultRollout', pipeline_response) if response.status_code == 201: - deserialized = self._deserialize( - 'DefaultRollout', pipeline_response) + deserialized = self._deserialize('DefaultRollout', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _create_or_update_initial.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore async def begin_create_or_update( self, provider_namespace: str, rollout_name: str, + properties: "models.DefaultRollout", **kwargs ) -> AsyncLROPoller["models.DefaultRollout"]: """Creates or updates the rollout details. @@ -238,6 +229,8 @@ async def begin_create_or_update( :type provider_namespace: str :param rollout_name: The rollout name. :type rollout_name: str + :param properties: The Default rollout properties supplied to the CreateOrUpdate operation. + :type properties: ~provider_hub.models.DefaultRollout :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -245,23 +238,22 @@ async def begin_create_or_update( :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of AsyncLROPoller that returns either DefaultRollout or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~providerhub.models.DefaultRollout] + :rtype: ~azure.core.polling.AsyncLROPoller[~provider_hub.models.DefaultRollout] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop( - 'polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.DefaultRollout"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval ) - cont_token = kwargs.pop('continuation_token', - None) # type: Optional[str] + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: raw_result = await self._create_or_update_initial( provider_namespace=provider_namespace, rollout_name=rollout_name, - cls=lambda x, y, z: x, + properties=properties, + cls=lambda x,y,z: x, **kwargs ) @@ -269,8 +261,7 @@ async def begin_create_or_update( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - 'DefaultRollout', pipeline_response) + deserialized = self._deserialize('DefaultRollout', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -282,13 +273,9 @@ def get_long_running_output(pipeline_response): 'rolloutName': self._serialize.url("rollout_name", rollout_name, 'str'), } - if polling is True: - polling_method = AsyncARMPolling(lro_delay, lro_options={ - 'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: - polling_method = AsyncNoPolling() - else: - polling_method = polling + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, @@ -298,8 +285,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore def list_by_provider_registration( self, @@ -312,11 +298,10 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either DefaultRolloutArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.DefaultRolloutArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.DefaultRolloutArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.DefaultRolloutArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.DefaultRolloutArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -327,13 +312,11 @@ def list_by_provider_registration( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -341,21 +324,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'DefaultRolloutArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('DefaultRolloutArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -369,18 +348,15 @@ async def get_next(next_link=None): 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) + 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_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts'} # type: ignore async def stop( self, @@ -418,24 +394,20 @@ async def stop( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_notification_registrations_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_notification_registrations_operations.py index 6096fef7ae8..1bdd2e1ca8d 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_notification_registrations_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_notification_registrations_operations.py @@ -7,17 +7,17 @@ # -------------------------------------------------------------------------- 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 ClientAuthenticationError, 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]] - +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class NotificationRegistrationsOperations: """NotificationRegistrationsOperations async operations. @@ -26,7 +26,7 @@ class NotificationRegistrationsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -55,11 +55,10 @@ async def get( :type notification_registration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NotificationRegistration, or the result of cls(response) - :rtype: ~providerhub.models.NotificationRegistration + :rtype: ~provider_hub.models.NotificationRegistration :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.NotificationRegistration"] + cls = kwargs.pop('cls', None) # type: ClsType["models.NotificationRegistration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -78,27 +77,22 @@ async def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'NotificationRegistration', pipeline_response) + deserialized = self._deserialize('NotificationRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -110,6 +104,7 @@ async def create_or_update( self, provider_namespace: str, notification_registration_name: str, + properties: "models.NotificationRegistration", **kwargs ) -> "models.NotificationRegistration": """Creates or updates a notification registration. @@ -118,18 +113,21 @@ async def create_or_update( :type provider_namespace: str :param notification_registration_name: The notification registration. :type notification_registration_name: str + :param properties: The required body parameters supplied to the notification registration + operation. + :type properties: ~provider_hub.models.NotificationRegistration :keyword callable cls: A custom type or function that will be passed the direct response :return: NotificationRegistration, or the result of cls(response) - :rtype: ~providerhub.models.NotificationRegistration + :rtype: ~provider_hub.models.NotificationRegistration :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.NotificationRegistration"] + cls = kwargs.pop('cls', None) # type: ClsType["models.NotificationRegistration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -143,34 +141,32 @@ async def create_or_update( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'NotificationRegistration') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'NotificationRegistration', pipeline_response) + deserialized = self._deserialize('NotificationRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations/{notificationRegistrationName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations/{notificationRegistrationName}'} # type: ignore async def delete( self, @@ -208,24 +204,20 @@ async def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) @@ -243,11 +235,10 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either NotificationRegistrationArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.NotificationRegistrationArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.NotificationRegistrationArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.NotificationRegistrationArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.NotificationRegistrationArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -258,13 +249,11 @@ def list_by_provider_registration( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -272,21 +261,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'NotificationRegistrationArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('NotificationRegistrationArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -300,15 +285,12 @@ async def get_next(next_link=None): 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) + 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_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_operations.py index 0f0de9f9ed4..e89033014b2 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_operations.py @@ -7,17 +7,17 @@ # -------------------------------------------------------------------------- from typing import Any, AsyncIterable, Callable, Dict, Generic, List, Optional, TypeVar import warnings + from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, 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]] - +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class Operations: """Operations async operations. @@ -26,7 +26,7 @@ class Operations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,11 +49,10 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationsDefinitionArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.OperationsDefinitionArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.OperationsDefinitionArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.OperationsDefinitionArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsDefinitionArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -63,8 +62,7 @@ def list( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -72,18 +70,15 @@ def prepare_request(next_link=None): # Construct parameters query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'OperationsDefinitionArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('OperationsDefinitionArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -97,49 +92,40 @@ async def get_next(next_link=None): 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) + 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 ) - # type: ignore - list.metadata = {'url': '/providers/Microsoft.ProviderHub/operations'} + list.metadata = {'url': '/providers/Microsoft.ProviderHub/operations'} # type: ignore async def list_by_provider_registration( self, provider_namespace: str, - properties: "models.OperationsContent", **kwargs ) -> List["models.OperationsDefinition"]: """Gets the operations supported by the given provider. :param provider_namespace: The name of the resource provider hosted within ProviderHub. :type provider_namespace: str - :param properties: The operations content properties supplied to the CreateOrUpdate operation. - :type properties: ~providerhub.models.OperationsContent :keyword callable cls: A custom type or function that will be passed the direct response :return: list of OperationsDefinition, or the result of cls(response) - :rtype: list[~providerhub.models.OperationsDefinition] + :rtype: list[~provider_hub.models.OperationsDefinition] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType[List["models.OperationsDefinition"]] + cls = kwargs.pop('cls', None) # type: ClsType[List["models.OperationsDefinition"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" - content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -148,62 +134,54 @@ async def list_by_provider_registration( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, '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'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(properties, 'OperationsContent') - body_content_kwargs['content'] = body_content - request = self._client.get( - url, query_parameters, header_parameters, **body_content_kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - '[OperationsDefinition]', pipeline_response) + deserialized = self._deserialize('[OperationsDefinition]', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list_by_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore async def create_or_update( self, provider_namespace: str, + operations_put_content: "models.OperationsPutContent", **kwargs ) -> "models.OperationsContent": """Creates or updates the operation supported by the given provider. :param provider_namespace: The name of the resource provider hosted within ProviderHub. :type provider_namespace: str + :param operations_put_content: The operations content properties supplied to the CreateOrUpdate + operation. + :type operations_put_content: ~provider_hub.models.OperationsPutContent :keyword callable cls: A custom type or function that will be passed the direct response :return: OperationsContent, or the result of cls(response) - :rtype: ~providerhub.models.OperationsContent + :rtype: ~provider_hub.models.OperationsContent :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.OperationsContent"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsContent"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -216,34 +194,32 @@ async def create_or_update( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(operations_put_content, 'OperationsPutContent') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'OperationsContent', pipeline_response) + deserialized = self._deserialize('OperationsContent', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore async def delete( self, @@ -277,27 +253,22 @@ async def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_hub_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_hub_operations.py new file mode 100644 index 00000000000..8ef8add2d62 --- /dev/null +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_hub_operations.py @@ -0,0 +1,140 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 ProviderHubOperationsMixin: + + async def generate_manifest( + self, + provider_namespace: str, + **kwargs + ) -> "models.ResourceProviderManifest": + """Generates the manifest for the given provider. + + :param provider_namespace: The name of the resource provider hosted within ProviderHub. + :type provider_namespace: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceProviderManifest, or the result of cls(response) + :rtype: ~provider_hub.models.ResourceProviderManifest + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderManifest"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-11-20" + accept = "application/json" + + # Construct URL + url = self.generate_manifest.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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) + + deserialized = self._deserialize('ResourceProviderManifest', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + generate_manifest.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/generateManifest'} # type: ignore + + async def checkin_manifest( + self, + provider_namespace: str, + checkin_manifest_params: "models.CheckinManifestParams", + **kwargs + ) -> "models.CheckinManifestInfo": + """Checkin the manifest. + + :param provider_namespace: The name of the resource provider hosted within ProviderHub. + :type provider_namespace: str + :param checkin_manifest_params: The required body parameters supplied to the checkin manifest + operation. + :type checkin_manifest_params: ~provider_hub.models.CheckinManifestParams + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckinManifestInfo, or the result of cls(response) + :rtype: ~provider_hub.models.CheckinManifestInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckinManifestInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.checkin_manifest.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(checkin_manifest_params, 'CheckinManifestParams') + 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('CheckinManifestInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + checkin_manifest.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/checkinManifest'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_registrations_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_registrations_operations.py index d6fea3a77ff..cccdad50cb0 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_registrations_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_provider_registrations_operations.py @@ -7,6 +7,7 @@ # -------------------------------------------------------------------------- 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse @@ -14,12 +15,11 @@ from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod 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]] - +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class ProviderRegistrationsOperations: """ProviderRegistrationsOperations async operations. @@ -28,7 +28,7 @@ class ProviderRegistrationsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -54,11 +54,10 @@ async def get( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ProviderRegistration, or the result of cls(response) - :rtype: ~providerhub.models.ProviderRegistration + :rtype: ~provider_hub.models.ProviderRegistration :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.ProviderRegistration"] + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderRegistration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -76,35 +75,28 @@ async def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'ProviderRegistration', pipeline_response) + deserialized = self._deserialize('ProviderRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - # type: ignore - get.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} # type: ignore async def _create_or_update_initial( self, @@ -112,8 +104,7 @@ async def _create_or_update_initial( properties: "models.ProviderRegistration", **kwargs ) -> Optional["models.ProviderRegistration"]: - # type: ClsType[Optional["models.ProviderRegistration"]] - cls = kwargs.pop('cls', None) + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ProviderRegistration"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -132,42 +123,34 @@ async def _create_or_update_initial( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, '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'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(properties, 'ProviderRegistration') body_content_kwargs['content'] = body_content - request = self._client.put( - url, query_parameters, header_parameters, **body_content_kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: - deserialized = self._deserialize( - 'ProviderRegistration', pipeline_response) + deserialized = self._deserialize('ProviderRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _create_or_update_initial.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} # type: ignore + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} # type: ignore async def begin_create_or_update( self, @@ -181,7 +164,7 @@ async def begin_create_or_update( :type provider_namespace: str :param properties: The provider registration properties supplied to the CreateOrUpdate operation. - :type properties: ~providerhub.models.ProviderRegistration + :type properties: ~provider_hub.models.ProviderRegistration :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -189,24 +172,21 @@ async def begin_create_or_update( :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of AsyncLROPoller that returns either ProviderRegistration or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~providerhub.models.ProviderRegistration] + :rtype: ~azure.core.polling.AsyncLROPoller[~provider_hub.models.ProviderRegistration] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop( - 'polling', True) # type: Union[bool, AsyncPollingMethod] - # type: ClsType["models.ProviderRegistration"] - cls = kwargs.pop('cls', None) + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderRegistration"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval ) - cont_token = kwargs.pop('continuation_token', - None) # type: Optional[str] + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: raw_result = await self._create_or_update_initial( provider_namespace=provider_namespace, properties=properties, - cls=lambda x, y, z: x, + cls=lambda x,y,z: x, **kwargs ) @@ -214,8 +194,7 @@ async def begin_create_or_update( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - 'ProviderRegistration', pipeline_response) + deserialized = self._deserialize('ProviderRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -226,13 +205,9 @@ def get_long_running_output(pipeline_response): 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), } - if polling is True: - polling_method = AsyncARMPolling(lro_delay, lro_options={ - 'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: - polling_method = AsyncNoPolling() - else: - polling_method = polling + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, @@ -242,8 +217,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} # type: ignore + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} # type: ignore async def delete( self, @@ -277,30 +251,25 @@ async def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}'} # type: ignore def list( self, @@ -310,11 +279,10 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ProviderRegistrationArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.ProviderRegistrationArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.ProviderRegistrationArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.ProviderRegistrationArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderRegistrationArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -325,8 +293,7 @@ def list( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -337,21 +304,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'ProviderRegistrationArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('ProviderRegistrationArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -365,80 +328,15 @@ async def get_next(next_link=None): 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) + 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.ProviderHub/providerRegistrations'} # type: ignore - - async def list_by_resource_group( - self, - resource_group_name: str, - **kwargs - ) -> "models.ProviderRegistrationArrayResponseWithContinuation": - """Pending route: Gets the list of the provider registrations by the resource group. - - :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: ProviderRegistrationArrayResponseWithContinuation, or the result of cls(response) - :rtype: ~providerhub.models.ProviderRegistrationArrayResponseWithContinuation - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.ProviderRegistrationArrayResponseWithContinuation"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-11-20" - accept = "application/json" - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - 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( - 'ProviderRegistrationArrayResponseWithContinuation', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_by_resource_group.metadata = { - 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ProviderHub/providerRegistrations'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations'} # type: ignore async def generate_operations( self, @@ -451,11 +349,10 @@ async def generate_operations( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: list of OperationsDefinition, or the result of cls(response) - :rtype: list[~providerhub.models.OperationsDefinition] + :rtype: list[~provider_hub.models.OperationsDefinition] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType[List["models.OperationsDefinition"]] + cls = kwargs.pop('cls', None) # type: ClsType[List["models.OperationsDefinition"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -473,31 +370,25 @@ async def generate_operations( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - '[OperationsDefinition]', pipeline_response) + deserialized = self._deserialize('[OperationsDefinition]', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - generate_operations.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/generateOperations'} # type: ignore + generate_operations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/generateOperations'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registration_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registration_operations.py index 7e3f5a8abad..a81cc1729b0 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registration_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registration_operations.py @@ -46,6 +46,7 @@ async def _create_or_update_initial( self, provider_namespace: str, resource_type: str, + nested_resource_type: str, properties: "models.ResourceTypeRegistration", **kwargs ) -> "models.ResourceTypeRegistration": @@ -65,6 +66,7 @@ async def _create_or_update_initial( 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'nestedResourceType': self._serialize.url("nested_resource_type", nested_resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -109,12 +111,13 @@ async def _create_or_update_initial( return deserialized _create_or_update_initial.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}{nestedResourceTypeUrl}'} # type: ignore async def begin_create_or_update( self, provider_namespace: str, resource_type: str, + nested_resource_type: str, properties: "models.ResourceTypeRegistration", **kwargs ) -> AsyncLROPoller["models.ResourceTypeRegistration"]: @@ -124,6 +127,8 @@ async def begin_create_or_update( :type provider_namespace: str :param resource_type: The resource type. :type resource_type: str + :param nested_resource_type: The nested resource type. + :type nested_resource_type: str :param properties: The resource type registration parameters supplied to the CreateOrUpdate operation. :type properties: ~providerhub.models.ResourceTypeRegistration :keyword callable cls: A custom type or function that will be passed the direct response @@ -150,6 +155,7 @@ async def begin_create_or_update( raw_result = await self._create_or_update_initial( provider_namespace=provider_namespace, resource_type=resource_type, + nested_resource_type=nested_resource_type, properties=properties, cls=lambda x, y, z: x, **kwargs @@ -170,6 +176,7 @@ def get_long_running_output(pipeline_response): 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'nestedResourceType': self._serialize.url("nested_resource_type", nested_resource_type, 'str'), } if polling is True: @@ -189,12 +196,13 @@ def get_long_running_output(pipeline_response): else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) begin_create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}{nestedResourceTypeUrl}'} # type: ignore async def delete( self, provider_namespace: str, resource_type: str, + nested_resource_type: str, **kwargs ) -> None: """Deletes a resource type. @@ -203,6 +211,8 @@ async def delete( :type provider_namespace: str :param resource_type: The resource type. :type resource_type: str + :param nested_resource_type: The nested resource type. + :type nested_resource_type: 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 @@ -222,6 +232,7 @@ async def delete( 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'nestedResourceType': self._serialize.url("nested_resource_type", nested_resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -250,4 +261,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}{nestedResourceTypeUrl}'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registrations_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registrations_operations.py index 134ff78c26a..901308e2456 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registrations_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_resource_type_registrations_operations.py @@ -5,19 +5,21 @@ # 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 +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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod 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]] - +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class ResourceTypeRegistrationsOperations: """ResourceTypeRegistrationsOperations async operations. @@ -26,7 +28,7 @@ class ResourceTypeRegistrationsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,6 +47,7 @@ async def get( self, provider_namespace: str, resource_type: str, + nested_resource_type: str, **kwargs ) -> "models.ResourceTypeRegistration": """Gets a resource type details in the given subscription and provider. @@ -53,13 +56,14 @@ async def get( :type provider_namespace: str :param resource_type: The resource type. :type resource_type: str + :param nested_resource_type: The nested resource type. + :type nested_resource_type: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ResourceTypeRegistration, or the result of cls(response) - :rtype: ~providerhub.models.ResourceTypeRegistration + :rtype: ~provider_hub.models.ResourceTypeRegistration :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.ResourceTypeRegistration"] + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceTypeRegistration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -73,38 +77,231 @@ async def get( 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'nestedResourceType': self._serialize.url("nested_resource_type", nested_resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'ResourceTypeRegistration', pipeline_response) + deserialized = self._deserialize('ResourceTypeRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}{nestedResourceTypeUrl}'} # type: ignore + + async def _create_or_update_initial( + self, + provider_namespace: str, + resource_type: str, + nested_resource_type: str, + properties: "models.ResourceTypeRegistration", + **kwargs + ) -> "models.ResourceTypeRegistration": + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceTypeRegistration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'nestedResourceType': self._serialize.url("nested_resource_type", nested_resource_type, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeRegistration') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ResourceTypeRegistration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ResourceTypeRegistration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}{nestedResourceTypeUrl}'} # type: ignore + + async def begin_create_or_update( + self, + provider_namespace: str, + resource_type: str, + nested_resource_type: str, + properties: "models.ResourceTypeRegistration", + **kwargs + ) -> AsyncLROPoller["models.ResourceTypeRegistration"]: + """Creates or updates a resource type. + + :param provider_namespace: The name of the resource provider hosted within ProviderHub. + :type provider_namespace: str + :param resource_type: The resource type. + :type resource_type: str + :param nested_resource_type: The nested resource type. + :type nested_resource_type: str + :param properties: The required request body parameters supplied to the resource type + registration CreateOrUpdate operation. + :type properties: ~provider_hub.models.ResourceTypeRegistration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :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 + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ResourceTypeRegistration or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~provider_hub.models.ResourceTypeRegistration] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceTypeRegistration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + provider_namespace=provider_namespace, + resource_type=resource_type, + nested_resource_type=nested_resource_type, + properties=properties, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ResourceTypeRegistration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'nestedResourceType': self._serialize.url("nested_resource_type", nested_resource_type, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}{nestedResourceTypeUrl}'} # type: ignore + + async def delete( + self, + provider_namespace: str, + resource_type: str, + nested_resource_type: str, + **kwargs + ) -> None: + """Deletes a resource type. + + :param provider_namespace: The name of the resource provider hosted within ProviderHub. + :type provider_namespace: str + :param resource_type: The resource type. + :type resource_type: str + :param nested_resource_type: The nested resource type. + :type nested_resource_type: 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-11-20" + accept = "application/json" + + # 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), + 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'nestedResourceType': self._serialize.url("nested_resource_type", nested_resource_type, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}{nestedResourceTypeUrl}'} # type: ignore def list_by_provider_registration( self, @@ -117,11 +314,10 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ResourceTypeRegistrationArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.ResourceTypeRegistrationArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.ResourceTypeRegistrationArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.ResourceTypeRegistrationArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceTypeRegistrationArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -132,13 +328,11 @@ def list_by_provider_registration( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -146,21 +340,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'ResourceTypeRegistrationArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('ResourceTypeRegistrationArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -174,15 +364,12 @@ async def get_next(next_link=None): 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) + 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_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_skus_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_skus_operations.py index 589f6b8c6ad..c7e21bb3654 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_skus_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/aio/operations/_skus_operations.py @@ -7,17 +7,17 @@ # -------------------------------------------------------------------------- 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 ClientAuthenticationError, 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]] - +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class SkusOperations: """SkusOperations async operations. @@ -26,7 +26,7 @@ class SkusOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -58,7 +58,7 @@ async def get( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -81,24 +81,20 @@ async def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -113,6 +109,7 @@ async def create_or_update( provider_namespace: str, resource_type: str, sku: str, + properties: "models.ResourceTypeSku", **kwargs ) -> "models.SkuResource": """Creates or updates the resource type skus in the given resource type. @@ -123,9 +120,11 @@ async def create_or_update( :type resource_type: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -134,6 +133,7 @@ async def create_or_update( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -148,24 +148,24 @@ async def create_or_update( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeSku') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -173,8 +173,7 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus/{sku}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus/{sku}'} # type: ignore async def delete( self, @@ -216,24 +215,20 @@ async def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) @@ -260,7 +255,7 @@ async def get_nested_resource_type_first( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -272,8 +267,7 @@ async def get_nested_resource_type_first( accept = "application/json" # Construct URL - # type: ignore - url = self.get_nested_resource_type_first.metadata['url'] + url = self.get_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -285,24 +279,20 @@ async def get_nested_resource_type_first( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -310,8 +300,7 @@ async def get_nested_resource_type_first( return cls(pipeline_response, deserialized, {}) return deserialized - get_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore + get_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore async def create_or_update_nested_resource_type_first( self, @@ -319,6 +308,7 @@ async def create_or_update_nested_resource_type_first( resource_type: str, nested_resource_type_first: str, sku: str, + properties: "models.ResourceTypeSku", **kwargs ) -> "models.SkuResource": """Creates or updates the resource type skus in the given resource type. @@ -331,9 +321,11 @@ async def create_or_update_nested_resource_type_first( :type nested_resource_type_first: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -342,11 +334,11 @@ async def create_or_update_nested_resource_type_first( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.create_or_update_nested_resource_type_first.metadata['url'] + url = self.create_or_update_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -358,24 +350,24 @@ async def create_or_update_nested_resource_type_first( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeSku') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -383,8 +375,7 @@ async def create_or_update_nested_resource_type_first( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore + create_or_update_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore async def delete_nested_resource_type_first( self, @@ -418,8 +409,7 @@ async def delete_nested_resource_type_first( accept = "application/json" # Construct URL - # type: ignore - url = self.delete_nested_resource_type_first.metadata['url'] + url = self.delete_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -431,30 +421,25 @@ async def delete_nested_resource_type_first( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore + delete_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore async def get_nested_resource_type_second( self, @@ -479,7 +464,7 @@ async def get_nested_resource_type_second( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -491,8 +476,7 @@ async def get_nested_resource_type_second( accept = "application/json" # Construct URL - # type: ignore - url = self.get_nested_resource_type_second.metadata['url'] + url = self.get_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -505,24 +489,20 @@ async def get_nested_resource_type_second( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -530,8 +510,7 @@ async def get_nested_resource_type_second( return cls(pipeline_response, deserialized, {}) return deserialized - get_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore + get_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore async def create_or_update_nested_resource_type_second( self, @@ -540,6 +519,7 @@ async def create_or_update_nested_resource_type_second( nested_resource_type_first: str, nested_resource_type_second: str, sku: str, + properties: "models.ResourceTypeSku", **kwargs ) -> "models.SkuResource": """Creates or updates the resource type skus in the given resource type. @@ -554,9 +534,11 @@ async def create_or_update_nested_resource_type_second( :type nested_resource_type_second: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -565,11 +547,11 @@ async def create_or_update_nested_resource_type_second( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.create_or_update_nested_resource_type_second.metadata['url'] + url = self.create_or_update_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -582,24 +564,24 @@ async def create_or_update_nested_resource_type_second( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeSku') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -607,8 +589,7 @@ async def create_or_update_nested_resource_type_second( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore + create_or_update_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore async def delete_nested_resource_type_second( self, @@ -645,8 +626,7 @@ async def delete_nested_resource_type_second( accept = "application/json" # Construct URL - # type: ignore - url = self.delete_nested_resource_type_second.metadata['url'] + url = self.delete_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -659,30 +639,25 @@ async def delete_nested_resource_type_second( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore + delete_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore async def get_nested_resource_type_third( self, @@ -710,7 +685,7 @@ async def get_nested_resource_type_third( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -722,8 +697,7 @@ async def get_nested_resource_type_third( accept = "application/json" # Construct URL - # type: ignore - url = self.get_nested_resource_type_third.metadata['url'] + url = self.get_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -737,24 +711,20 @@ async def get_nested_resource_type_third( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -762,8 +732,7 @@ async def get_nested_resource_type_third( return cls(pipeline_response, deserialized, {}) return deserialized - get_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore + get_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore async def create_or_update_nested_resource_type_third( self, @@ -773,6 +742,7 @@ async def create_or_update_nested_resource_type_third( nested_resource_type_second: str, nested_resource_type_third: str, sku: str, + properties: "models.ResourceTypeSku", **kwargs ) -> "models.SkuResource": """Creates or updates the resource type skus in the given resource type. @@ -789,9 +759,11 @@ async def create_or_update_nested_resource_type_third( :type nested_resource_type_third: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -800,11 +772,11 @@ async def create_or_update_nested_resource_type_third( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.create_or_update_nested_resource_type_third.metadata['url'] + url = self.create_or_update_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -818,24 +790,24 @@ async def create_or_update_nested_resource_type_third( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeSku') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -843,8 +815,7 @@ async def create_or_update_nested_resource_type_third( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore + create_or_update_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore async def delete_nested_resource_type_third( self, @@ -884,8 +855,7 @@ async def delete_nested_resource_type_third( accept = "application/json" # Construct URL - # type: ignore - url = self.delete_nested_resource_type_third.metadata['url'] + url = self.delete_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -899,30 +869,25 @@ async def delete_nested_resource_type_third( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore + delete_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore def list_by_resource_type_registrations( self, @@ -938,11 +903,10 @@ def list_by_resource_type_registrations( :type resource_type: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -953,13 +917,11 @@ def list_by_resource_type_registrations( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations.metadata['url'] + url = self.list_by_resource_type_registrations.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -968,21 +930,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -996,18 +954,15 @@ async def get_next(next_link=None): 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) + 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_type_registrations.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus'} # type: ignore + list_by_resource_type_registrations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus'} # type: ignore def list_by_resource_type_registrations_nested_resource_type_first( self, @@ -1026,11 +981,10 @@ def list_by_resource_type_registrations_nested_resource_type_first( :type nested_resource_type_first: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -1041,14 +995,11 @@ def list_by_resource_type_registrations_nested_resource_type_first( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations_nested_resource_type_first.metadata[ - 'url'] + url = self.list_by_resource_type_registrations_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -1058,21 +1009,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1086,18 +1033,15 @@ async def get_next(next_link=None): 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) + 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_type_registrations_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus'} # type: ignore + list_by_resource_type_registrations_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus'} # type: ignore def list_by_resource_type_registrations_nested_resource_type_second( self, @@ -1119,11 +1063,10 @@ def list_by_resource_type_registrations_nested_resource_type_second( :type nested_resource_type_second: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -1134,14 +1077,11 @@ def list_by_resource_type_registrations_nested_resource_type_second( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations_nested_resource_type_second.metadata[ - 'url'] + url = self.list_by_resource_type_registrations_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -1152,21 +1092,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1180,18 +1116,15 @@ async def get_next(next_link=None): 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) + 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_type_registrations_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus'} # type: ignore + list_by_resource_type_registrations_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus'} # type: ignore def list_by_resource_type_registrations_nested_resource_type_third( self, @@ -1216,11 +1149,10 @@ def list_by_resource_type_registrations_nested_resource_type_third( :type nested_resource_type_third: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -1231,14 +1163,11 @@ def list_by_resource_type_registrations_nested_resource_type_third( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations_nested_resource_type_third.metadata[ - 'url'] + url = self.list_by_resource_type_registrations_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -1250,21 +1179,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1278,15 +1203,12 @@ async def get_next(next_link=None): 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) + 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_type_registrations_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus'} # type: ignore + list_by_resource_type_registrations_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/__init__.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/__init__.py index 9a1c57c36e2..97be766ed37 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/__init__.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/__init__.py @@ -14,16 +14,20 @@ from ._models_py3 import CheckinManifestParams from ._models_py3 import CustomRollout from ._models_py3 import CustomRolloutArrayResponseWithContinuation + from ._models_py3 import CustomRolloutProperties from ._models_py3 import CustomRolloutPropertiesSpecification from ._models_py3 import CustomRolloutPropertiesStatus + from ._models_py3 import CustomRolloutPropertiesautogenerated from ._models_py3 import CustomRolloutSpecification from ._models_py3 import CustomRolloutSpecificationCanary from ._models_py3 import CustomRolloutSpecificationProviderRegistration from ._models_py3 import CustomRolloutStatus from ._models_py3 import DefaultRollout from ._models_py3 import DefaultRolloutArrayResponseWithContinuation + from ._models_py3 import DefaultRolloutProperties from ._models_py3 import DefaultRolloutPropertiesSpecification from ._models_py3 import DefaultRolloutPropertiesStatus + from ._models_py3 import DefaultRolloutPropertiesautogenerated from ._models_py3 import DefaultRolloutSpecification from ._models_py3 import DefaultRolloutSpecificationCanary from ._models_py3 import DefaultRolloutSpecificationHighTraffic @@ -44,7 +48,6 @@ from ._models_py3 import IdentityManagement from ._models_py3 import IdentityManagementProperties from ._models_py3 import InnerError - from ._models_py3 import InnerErrorautogenerated from ._models_py3 import LightHouseAuthorization from ._models_py3 import LinkedAccessCheck from ._models_py3 import LinkedOperationRule @@ -61,6 +64,7 @@ from ._models_py3 import OperationsDefinitionArrayResponseWithContinuation from ._models_py3 import OperationsDefinitionDisplay from ._models_py3 import OperationsDisplayDefinition + from ._models_py3 import OperationsPutContent from ._models_py3 import ProviderHubMetadata from ._models_py3 import ProviderHubMetadataProviderAuthentication from ._models_py3 import ProviderHubMetadataThirdPartyProviderAuthorization @@ -148,16 +152,20 @@ from ._models import CheckinManifestParams # type: ignore from ._models import CustomRollout # type: ignore from ._models import CustomRolloutArrayResponseWithContinuation # type: ignore + from ._models import CustomRolloutProperties # type: ignore from ._models import CustomRolloutPropertiesSpecification # type: ignore from ._models import CustomRolloutPropertiesStatus # type: ignore + from ._models import CustomRolloutPropertiesautogenerated # type: ignore from ._models import CustomRolloutSpecification # type: ignore from ._models import CustomRolloutSpecificationCanary # type: ignore from ._models import CustomRolloutSpecificationProviderRegistration # type: ignore from ._models import CustomRolloutStatus # type: ignore from ._models import DefaultRollout # type: ignore from ._models import DefaultRolloutArrayResponseWithContinuation # type: ignore + from ._models import DefaultRolloutProperties # type: ignore from ._models import DefaultRolloutPropertiesSpecification # type: ignore from ._models import DefaultRolloutPropertiesStatus # type: ignore + from ._models import DefaultRolloutPropertiesautogenerated # type: ignore from ._models import DefaultRolloutSpecification # type: ignore from ._models import DefaultRolloutSpecificationCanary # type: ignore from ._models import DefaultRolloutSpecificationHighTraffic # type: ignore @@ -178,7 +186,6 @@ from ._models import IdentityManagement # type: ignore from ._models import IdentityManagementProperties # type: ignore from ._models import InnerError # type: ignore - from ._models import InnerErrorautogenerated # type: ignore from ._models import LightHouseAuthorization # type: ignore from ._models import LinkedAccessCheck # type: ignore from ._models import LinkedOperationRule # type: ignore @@ -195,6 +202,7 @@ from ._models import OperationsDefinitionArrayResponseWithContinuation # type: ignore from ._models import OperationsDefinitionDisplay # type: ignore from ._models import OperationsDisplayDefinition # type: ignore + from ._models import OperationsPutContent # type: ignore from ._models import ProviderHubMetadata # type: ignore from ._models import ProviderHubMetadataProviderAuthentication # type: ignore from ._models import ProviderHubMetadataThirdPartyProviderAuthorization # type: ignore @@ -275,7 +283,7 @@ from ._models import TrafficRegions # type: ignore from ._models import TypedErrorInfo # type: ignore -from ._providerhub_enums import ( +from ._provider_hub_enums import ( ExtensionCategory, ExtensionOptionType, FeaturesPolicy, @@ -321,16 +329,20 @@ 'CheckinManifestParams', 'CustomRollout', 'CustomRolloutArrayResponseWithContinuation', + 'CustomRolloutProperties', 'CustomRolloutPropertiesSpecification', 'CustomRolloutPropertiesStatus', + 'CustomRolloutPropertiesautogenerated', 'CustomRolloutSpecification', 'CustomRolloutSpecificationCanary', 'CustomRolloutSpecificationProviderRegistration', 'CustomRolloutStatus', 'DefaultRollout', 'DefaultRolloutArrayResponseWithContinuation', + 'DefaultRolloutProperties', 'DefaultRolloutPropertiesSpecification', 'DefaultRolloutPropertiesStatus', + 'DefaultRolloutPropertiesautogenerated', 'DefaultRolloutSpecification', 'DefaultRolloutSpecificationCanary', 'DefaultRolloutSpecificationHighTraffic', @@ -351,7 +363,6 @@ 'IdentityManagement', 'IdentityManagementProperties', 'InnerError', - 'InnerErrorautogenerated', 'LightHouseAuthorization', 'LinkedAccessCheck', 'LinkedOperationRule', @@ -368,6 +379,7 @@ 'OperationsDefinitionArrayResponseWithContinuation', 'OperationsDefinitionDisplay', 'OperationsDisplayDefinition', + 'OperationsPutContent', 'ProviderHubMetadata', 'ProviderHubMetadataProviderAuthentication', 'ProviderHubMetadataThirdPartyProviderAuthorization', diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models.py index a4069ddbf2b..31c94c84a9d 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models.py @@ -99,8 +99,8 @@ class CheckinManifestParams(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param checkin_manifest_params: The environment supplied to the checkin manifest operation. - :type checkin_manifest_params: str + :param environment: Required. The environment supplied to the checkin manifest operation. + :type environment: str :param baseline_arm_manifest_location: Required. The baseline ARM manifest location supplied to the checkin manifest operation. :type baseline_arm_manifest_location: str @@ -200,30 +200,22 @@ class CustomRollout(Resource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", - "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", - "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState - :param specification: Required. - :type specification: ~providerhub.models.CustomRolloutSpecification - :param status: - :type status: ~providerhub.models.CustomRolloutStatus + :param properties: Required. Properties of the rollout. + :type properties: ~provider_hub.models.CustomRolloutProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'specification': {'required': True}, + 'properties': {'required': 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'}, - 'specification': {'key': 'properties.specification', 'type': 'CustomRolloutSpecification'}, - 'status': {'key': 'properties.status', 'type': 'CustomRolloutStatus'}, + 'properties': {'key': 'properties', 'type': 'CustomRolloutProperties'}, } def __init__( @@ -231,16 +223,14 @@ def __init__( **kwargs ): super(CustomRollout, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.specification = kwargs['specification'] - self.status = kwargs.get('status', None) + self.properties = kwargs['properties'] class CustomRolloutArrayResponseWithContinuation(msrest.serialization.Model): """CustomRolloutArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.CustomRollout] + :type value: list[~provider_hub.models.CustomRollout] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -259,17 +249,84 @@ def __init__( self.next_link = kwargs.get('next_link', None) +class CustomRolloutProperties(msrest.serialization.Model): + """CustomRolloutProperties. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: Required. + :type specification: ~provider_hub.models.CustomRolloutSpecification + :param status: + :type status: ~provider_hub.models.CustomRolloutStatus + """ + + _validation = { + 'specification': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'CustomRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'CustomRolloutStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomRolloutProperties, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.specification = kwargs['specification'] + self.status = kwargs.get('status', None) + + +class CustomRolloutPropertiesautogenerated(CustomRolloutProperties): + """Properties of the rollout. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: Required. + :type specification: ~provider_hub.models.CustomRolloutSpecification + :param status: + :type status: ~provider_hub.models.CustomRolloutStatus + """ + + _validation = { + 'specification': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'CustomRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'CustomRolloutStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomRolloutPropertiesautogenerated, self).__init__(**kwargs) + + class CustomRolloutSpecification(msrest.serialization.Model): """CustomRolloutSpecification. All required parameters must be populated in order to send to Azure. :param canary: Required. - :type canary: ~providerhub.models.TrafficRegions + :type canary: ~provider_hub.models.TrafficRegions :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _validation = { @@ -298,11 +355,11 @@ class CustomRolloutPropertiesSpecification(CustomRolloutSpecification): All required parameters must be populated in order to send to Azure. :param canary: Required. - :type canary: ~providerhub.models.TrafficRegions + :type canary: ~provider_hub.models.TrafficRegions :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _validation = { @@ -328,7 +385,7 @@ class CustomRolloutStatus(msrest.serialization.Model): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] """ _attribute_map = { @@ -351,7 +408,7 @@ class CustomRolloutPropertiesStatus(CustomRolloutStatus): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] """ _attribute_map = { @@ -417,7 +474,7 @@ class ProviderRegistration(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ProviderRegistrationProperties + :type properties: ~provider_hub.models.ProviderRegistrationProperties """ _validation = { @@ -455,7 +512,7 @@ class CustomRolloutSpecificationProviderRegistration(ProviderRegistration): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ProviderRegistrationProperties + :type properties: ~provider_hub.models.ProviderRegistrationProperties """ _validation = { @@ -491,14 +548,8 @@ class DefaultRollout(Resource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", - "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", - "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState - :param specification: - :type specification: ~providerhub.models.DefaultRolloutSpecification - :param status: - :type status: ~providerhub.models.DefaultRolloutStatus + :param properties: Properties of the rollout. + :type properties: ~provider_hub.models.DefaultRolloutProperties """ _validation = { @@ -511,9 +562,7 @@ class DefaultRollout(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'specification': {'key': 'properties.specification', 'type': 'DefaultRolloutSpecification'}, - 'status': {'key': 'properties.status', 'type': 'DefaultRolloutStatus'}, + 'properties': {'key': 'properties', 'type': 'DefaultRolloutProperties'}, } def __init__( @@ -521,16 +570,14 @@ def __init__( **kwargs ): super(DefaultRollout, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.specification = kwargs.get('specification', None) - self.status = kwargs.get('status', None) + self.properties = kwargs.get('properties', None) class DefaultRolloutArrayResponseWithContinuation(msrest.serialization.Model): """DefaultRolloutArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.DefaultRollout] + :type value: list[~provider_hub.models.DefaultRollout] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -549,25 +596,80 @@ def __init__( self.next_link = kwargs.get('next_link', None) +class DefaultRolloutProperties(msrest.serialization.Model): + """DefaultRolloutProperties. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: + :type specification: ~provider_hub.models.DefaultRolloutSpecification + :param status: + :type status: ~provider_hub.models.DefaultRolloutStatus + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'DefaultRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'DefaultRolloutStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(DefaultRolloutProperties, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.specification = kwargs.get('specification', None) + self.status = kwargs.get('status', None) + + +class DefaultRolloutPropertiesautogenerated(DefaultRolloutProperties): + """Properties of the rollout. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: + :type specification: ~provider_hub.models.DefaultRolloutSpecification + :param status: + :type status: ~provider_hub.models.DefaultRolloutStatus + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'DefaultRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'DefaultRolloutStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(DefaultRolloutPropertiesautogenerated, self).__init__(**kwargs) + + class DefaultRolloutSpecification(msrest.serialization.Model): """DefaultRolloutSpecification. :param canary: - :type canary: ~providerhub.models.CanaryTrafficRegionRolloutConfiguration + :type canary: ~provider_hub.models.CanaryTrafficRegionRolloutConfiguration :param low_traffic: - :type low_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type low_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param medium_traffic: - :type medium_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type medium_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param high_traffic: - :type high_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type high_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_one: - :type rest_of_the_world_group_one: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_one: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_two: - :type rest_of_the_world_group_two: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_two: ~provider_hub.models.TrafficRegionRolloutConfiguration :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _attribute_map = { @@ -600,21 +702,21 @@ class DefaultRolloutPropertiesSpecification(DefaultRolloutSpecification): """DefaultRolloutPropertiesSpecification. :param canary: - :type canary: ~providerhub.models.CanaryTrafficRegionRolloutConfiguration + :type canary: ~provider_hub.models.CanaryTrafficRegionRolloutConfiguration :param low_traffic: - :type low_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type low_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param medium_traffic: - :type medium_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type medium_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param high_traffic: - :type high_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type high_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_one: - :type rest_of_the_world_group_one: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_one: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_two: - :type rest_of_the_world_group_two: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_two: ~provider_hub.models.TrafficRegionRolloutConfiguration :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _attribute_map = { @@ -641,7 +743,7 @@ class RolloutStatusBase(msrest.serialization.Model): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] """ _attribute_map = { @@ -664,16 +766,16 @@ class DefaultRolloutStatus(RolloutStatusBase): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] :param next_traffic_region: Possible values include: "NotSpecified", "Canary", "LowTraffic", "MediumTraffic", "HighTraffic", "None", "RestOfTheWorldGroupOne", "RestOfTheWorldGroupTwo". - :type next_traffic_region: str or ~providerhub.models.TrafficRegionCategory + :type next_traffic_region: str or ~provider_hub.models.TrafficRegionCategory :param next_traffic_region_scheduled_time: :type next_traffic_region_scheduled_time: ~datetime.datetime :param subscription_reregistration_result: Possible values include: "NotApplicable", "ConditionalUpdate", "ForcedUpdate", "Failed". :type subscription_reregistration_result: str or - ~providerhub.models.SubscriptionReregistrationResult + ~provider_hub.models.SubscriptionReregistrationResult """ _attribute_map = { @@ -700,16 +802,16 @@ class DefaultRolloutPropertiesStatus(DefaultRolloutStatus): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] :param next_traffic_region: Possible values include: "NotSpecified", "Canary", "LowTraffic", "MediumTraffic", "HighTraffic", "None", "RestOfTheWorldGroupOne", "RestOfTheWorldGroupTwo". - :type next_traffic_region: str or ~providerhub.models.TrafficRegionCategory + :type next_traffic_region: str or ~provider_hub.models.TrafficRegionCategory :param next_traffic_region_scheduled_time: :type next_traffic_region_scheduled_time: ~datetime.datetime :param subscription_reregistration_result: Possible values include: "NotApplicable", "ConditionalUpdate", "ForcedUpdate", "Failed". :type subscription_reregistration_result: str or - ~providerhub.models.SubscriptionReregistrationResult + ~provider_hub.models.SubscriptionReregistrationResult """ _attribute_map = { @@ -847,7 +949,7 @@ class DefaultRolloutSpecificationProviderRegistration(ProviderRegistration): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ProviderRegistrationProperties + :type properties: ~provider_hub.models.ProviderRegistrationProperties """ _validation = { @@ -924,10 +1026,10 @@ class Error(msrest.serialization.Model): :ivar target: Target of the error. :vartype target: str :ivar details: Array of details about specific errors that led to this reported error. - :vartype details: list[~providerhub.models.Error] + :vartype details: list[~provider_hub.models.Error] :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: ~provider_hub.models.InnerError """ _validation = { @@ -970,7 +1072,7 @@ class InnerError(msrest.serialization.Model): :vartype code: str :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: object """ _validation = { @@ -981,7 +1083,7 @@ class InnerError(msrest.serialization.Model): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'code': {'key': 'code', 'type': 'str'}, - 'inner_error': {'key': 'innerError', 'type': 'InnerError'}, + 'inner_error': {'key': 'innerError', 'type': 'object'}, } def __init__( @@ -1006,7 +1108,7 @@ class ErrorInnerError(InnerError): :vartype code: str :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: object """ _validation = { @@ -1017,7 +1119,7 @@ class ErrorInnerError(InnerError): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'code': {'key': 'code', 'type': 'str'}, - 'inner_error': {'key': 'innerError', 'type': 'InnerError'}, + 'inner_error': {'key': 'innerError', 'type': 'object'}, } def __init__( @@ -1031,7 +1133,7 @@ class ErrorResponse(msrest.serialization.Model): """Standard error response. :param error: Standard error object. - :type error: ~providerhub.models.Error + :type error: ~provider_hub.models.Error """ _attribute_map = { @@ -1058,10 +1160,10 @@ class ErrorResponseError(Error): :ivar target: Target of the error. :vartype target: str :ivar details: Array of details about specific errors that led to this reported error. - :vartype details: list[~providerhub.models.Error] + :vartype details: list[~provider_hub.models.Error] :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: ~provider_hub.models.InnerError """ _validation = { @@ -1097,9 +1199,9 @@ class ExtendedErrorInfo(msrest.serialization.Model): :param message: :type message: str :param details: - :type details: list[~providerhub.models.ExtendedErrorInfo] + :type details: list[~provider_hub.models.ExtendedErrorInfo] :param additional_info: - :type additional_info: list[~providerhub.models.TypedErrorInfo] + :type additional_info: list[~provider_hub.models.TypedErrorInfo] """ _attribute_map = { @@ -1149,9 +1251,9 @@ class ExtensionOptions(msrest.serialization.Model): """ExtensionOptions. :param request: - :type request: list[str or ~providerhub.models.ExtensionOptionType] + :type request: list[str or ~provider_hub.models.ExtensionOptionType] :param response: - :type response: list[str or ~providerhub.models.ExtensionOptionType] + :type response: list[str or ~provider_hub.models.ExtensionOptionType] """ _attribute_map = { @@ -1174,7 +1276,7 @@ class FeaturesRule(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -1198,7 +1300,7 @@ class IdentityManagement(msrest.serialization.Model): :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes """ _attribute_map = { @@ -1218,7 +1320,7 @@ class IdentityManagementProperties(msrest.serialization.Model): :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes :param application_id: :type application_id: str """ @@ -1237,39 +1339,6 @@ def __init__( self.application_id = kwargs.get('application_id', None) -class InnerErrorautogenerated(InnerError): - """Object containing more specific information than the current object about the error. - - 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 to this - collection. - :type additional_properties: dict[str, object] - :ivar code: Specific error code than was provided by the containing error. - :vartype code: str - :ivar inner_error: Object containing more specific information than the current object about - the error. - :vartype inner_error: ~providerhub.models.InnerError - """ - - _validation = { - 'code': {'readonly': True}, - 'inner_error': {'readonly': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'code': {'key': 'code', 'type': 'str'}, - 'inner_error': {'key': 'innerError', 'type': 'InnerError'}, - } - - def __init__( - self, - **kwargs - ): - super(InnerErrorautogenerated, self).__init__(**kwargs) - - class LightHouseAuthorization(msrest.serialization.Model): """LightHouseAuthorization. @@ -1342,10 +1411,10 @@ class LinkedOperationRule(msrest.serialization.Model): :param linked_operation: Required. Possible values include: "None", "CrossResourceGroupResourceMove", "CrossSubscriptionResourceMove". - :type linked_operation: str or ~providerhub.models.LinkedOperation + :type linked_operation: str or ~provider_hub.models.LinkedOperation :param linked_action: Required. Possible values include: "NotSpecified", "Blocked", "Validate", "Enabled". - :type linked_action: str or ~providerhub.models.LinkedAction + :type linked_action: str or ~provider_hub.models.LinkedAction """ _validation = { @@ -1398,11 +1467,11 @@ class LoggingRule(msrest.serialization.Model): :param action: Required. :type action: str :param direction: Required. Possible values include: "None", "Request", "Response". - :type direction: str or ~providerhub.models.LoggingDirections + :type direction: str or ~provider_hub.models.LoggingDirections :param detail_level: Required. Possible values include: "None", "Body". - :type detail_level: str or ~providerhub.models.LoggingDetails + :type detail_level: str or ~provider_hub.models.LoggingDetails :param hidden_property_paths: - :type hidden_property_paths: ~providerhub.models.LoggingHiddenPropertyPath + :type hidden_property_paths: ~provider_hub.models.LoggingHiddenPropertyPath """ _validation = { @@ -1487,7 +1556,7 @@ class NotificationRegistration(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.NotificationRegistrationProperties + :type properties: ~provider_hub.models.NotificationRegistrationProperties """ _validation = { @@ -1515,7 +1584,7 @@ class NotificationRegistrationArrayResponseWithContinuation(msrest.serialization """NotificationRegistrationArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.NotificationRegistration] + :type value: list[~provider_hub.models.NotificationRegistration] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -1538,13 +1607,13 @@ class NotificationRegistrationProperties(msrest.serialization.Model): """NotificationRegistrationProperties. :param notification_mode: Possible values include: "NotSpecified", "EventHub", "WebHook". - :type notification_mode: str or ~providerhub.models.NotificationMode + :type notification_mode: str or ~provider_hub.models.NotificationMode :param message_scope: Possible values include: "NotSpecified", "RegisteredSubscriptions". - :type message_scope: str or ~providerhub.models.MessageScope + :type message_scope: str or ~provider_hub.models.MessageScope :param included_events: :type included_events: list[str] :param notification_endpoints: - :type notification_endpoints: list[~providerhub.models.NotificationEndpoint] + :type notification_endpoints: list[~provider_hub.models.NotificationEndpoint] """ _attribute_map = { @@ -1569,13 +1638,13 @@ class NotificationRegistrationPropertiesautogenerated(NotificationRegistrationPr """NotificationRegistrationPropertiesautogenerated. :param notification_mode: Possible values include: "NotSpecified", "EventHub", "WebHook". - :type notification_mode: str or ~providerhub.models.NotificationMode + :type notification_mode: str or ~provider_hub.models.NotificationMode :param message_scope: Possible values include: "NotSpecified", "RegisteredSubscriptions". - :type message_scope: str or ~providerhub.models.MessageScope + :type message_scope: str or ~provider_hub.models.MessageScope :param included_events: :type included_events: list[str] :param notification_endpoints: - :type notification_endpoints: list[~providerhub.models.NotificationEndpoint] + :type notification_endpoints: list[~provider_hub.models.NotificationEndpoint] """ _attribute_map = { @@ -1610,11 +1679,11 @@ class OperationsContent(Resource): :param is_data_action: Indicates whether the operation applies to data-plane. :type is_data_action: bool :param origin: Possible values include: "NotSpecified", "User", "System". - :type origin: str or ~providerhub.models.OperationsDefinitionOrigin + :type origin: str or ~provider_hub.models.OperationsDefinitionOrigin :param display: Display information of the operation. - :type display: ~providerhub.models.OperationsDisplayDefinition + :type display: ~provider_hub.models.OperationsDisplayDefinition :param action_type: Possible values include: "NotSpecified", "Internal". - :type action_type: str or ~providerhub.models.OperationsDefinitionActionType + :type action_type: str or ~provider_hub.models.OperationsDefinitionActionType :param properties: Any object. :type properties: object """ @@ -1660,11 +1729,11 @@ class OperationsDefinition(msrest.serialization.Model): :param is_data_action: Indicates whether the operation applies to data-plane. :type is_data_action: bool :param origin: Possible values include: "NotSpecified", "User", "System". - :type origin: str or ~providerhub.models.OperationsDefinitionOrigin + :type origin: str or ~provider_hub.models.OperationsDefinitionOrigin :param display: Required. Display information of the operation. - :type display: ~providerhub.models.OperationsDisplayDefinition + :type display: ~provider_hub.models.OperationsDisplayDefinition :param action_type: Possible values include: "NotSpecified", "Internal". - :type action_type: str or ~providerhub.models.OperationsDefinitionActionType + :type action_type: str or ~provider_hub.models.OperationsDefinitionActionType :param properties: Any object. :type properties: object """ @@ -1700,7 +1769,7 @@ class OperationsDefinitionArrayResponseWithContinuation(msrest.serialization.Mod """OperationsDefinitionArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.OperationsDefinition] + :type value: list[~provider_hub.models.OperationsDefinition] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -1795,15 +1864,40 @@ def __init__( super(OperationsDefinitionDisplay, self).__init__(**kwargs) +class OperationsPutContent(msrest.serialization.Model): + """OperationsPutContent. + + All required parameters must be populated in order to send to Azure. + + :param contents: Required. + :type contents: list[~provider_hub.models.OperationsDefinition] + """ + + _validation = { + 'contents': {'required': True}, + } + + _attribute_map = { + 'contents': {'key': 'contents', 'type': '[OperationsDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsPutContent, self).__init__(**kwargs) + self.contents = kwargs['contents'] + + class ProviderHubMetadata(msrest.serialization.Model): """ProviderHubMetadata. :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param third_party_provider_authorization: - :type third_party_provider_authorization: ~providerhub.models.ThirdPartyProviderAuthorization + :type third_party_provider_authorization: ~provider_hub.models.ThirdPartyProviderAuthorization """ _attribute_map = { @@ -1875,7 +1969,7 @@ class ThirdPartyProviderAuthorization(msrest.serialization.Model): """ThirdPartyProviderAuthorization. :param authorizations: - :type authorizations: list[~providerhub.models.LightHouseAuthorization] + :type authorizations: list[~provider_hub.models.LightHouseAuthorization] :param managed_by_tenant_id: :type managed_by_tenant_id: str """ @@ -1898,7 +1992,7 @@ class ProviderHubMetadataThirdPartyProviderAuthorization(ThirdPartyProviderAutho """ProviderHubMetadataThirdPartyProviderAuthorization. :param authorizations: - :type authorizations: list[~providerhub.models.LightHouseAuthorization] + :type authorizations: list[~provider_hub.models.LightHouseAuthorization] :param managed_by_tenant_id: :type managed_by_tenant_id: str """ @@ -1919,7 +2013,7 @@ class ProviderRegistrationArrayResponseWithContinuation(msrest.serialization.Mod """ProviderRegistrationArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.ProviderRegistration] + :type value: list[~provider_hub.models.ProviderRegistration] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -1942,30 +2036,30 @@ class ResourceProviderManifestProperties(msrest.serialization.Model): """ResourceProviderManifestProperties. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions """ _attribute_map = { @@ -2006,39 +2100,39 @@ class ProviderRegistrationProperties(ResourceProviderManifestProperties): """ProviderRegistrationProperties. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param provider_hub_metadata: - :type provider_hub_metadata: ~providerhub.models.ProviderHubMetadata + :type provider_hub_metadata: ~provider_hub.models.ProviderHubMetadata :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications """ _attribute_map = { @@ -2073,39 +2167,39 @@ class ProviderRegistrationPropertiesautogenerated(ProviderRegistrationProperties """ProviderRegistrationPropertiesautogenerated. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param provider_hub_metadata: - :type provider_hub_metadata: ~providerhub.models.ProviderHubMetadata + :type provider_hub_metadata: ~provider_hub.models.ProviderHubMetadata :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications """ _attribute_map = { @@ -2137,11 +2231,11 @@ class ProviderRegistrationPropertiesProviderHubMetadata(ProviderHubMetadata): """ProviderRegistrationPropertiesProviderHubMetadata. :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param third_party_provider_authorization: - :type third_party_provider_authorization: ~providerhub.models.ThirdPartyProviderAuthorization + :type third_party_provider_authorization: ~provider_hub.models.ThirdPartyProviderAuthorization """ _attribute_map = { @@ -2162,7 +2256,7 @@ class SubscriptionLifecycleNotificationSpecifications(msrest.serialization.Model :param subscription_state_override_actions: :type subscription_state_override_actions: - list[~providerhub.models.SubscriptionStateOverrideAction] + list[~provider_hub.models.SubscriptionStateOverrideAction] :param soft_delete_ttl: :type soft_delete_ttl: ~datetime.timedelta """ @@ -2186,7 +2280,7 @@ class ProviderRegistrationPropertiesSubscriptionLifecycleNotificationSpecificati :param subscription_state_override_actions: :type subscription_state_override_actions: - list[~providerhub.models.SubscriptionStateOverrideAction] + list[~provider_hub.models.SubscriptionStateOverrideAction] :param soft_delete_ttl: :type soft_delete_ttl: ~datetime.timedelta """ @@ -2204,7 +2298,7 @@ def __init__( class ProxyResource(Resource): - """The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags. + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. Variables are only populated by the server, and will be ignored when sending a request. @@ -2242,7 +2336,7 @@ class RequestHeaderOptions(msrest.serialization.Model): :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -2348,7 +2442,7 @@ class ResourceProviderCapabilities(msrest.serialization.Model): :param quota_id: Required. :type quota_id: str :param effect: Required. Possible values include: "NotSpecified", "Allow", "Disallow". - :type effect: str or ~providerhub.models.ResourceProviderCapabilitiesEffect + :type effect: str or ~provider_hub.models.ResourceProviderCapabilitiesEffect :param required_features: :type required_features: list[str] """ @@ -2388,7 +2482,7 @@ class ResourceProviderEndpoint(msrest.serialization.Model): :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param timeout: :type timeout: ~datetime.timedelta """ @@ -2423,7 +2517,7 @@ class ResourceProviderEndpointFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -2455,11 +2549,11 @@ class ResourceProviderManagement(msrest.serialization.Model): :param incident_contact_email: :type incident_contact_email: str :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param resource_access_policy: Possible values include: "NotSpecified", "AcisReadAllowed", "AcisActionAllowed". :type resource_access_policy: str or - ~providerhub.models.ResourceProviderManagementResourceAccessPolicy + ~provider_hub.models.ResourceProviderManagementResourceAccessPolicy :param resource_access_roles: :type resource_access_roles: list[object] """ @@ -2494,34 +2588,34 @@ class ResourceProviderManifest(msrest.serialization.Model): """ResourceProviderManifest. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param resource_types: - :type resource_types: list[~providerhub.models.ResourceType] + :type resource_types: list[~provider_hub.models.ResourceType] :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param global_notification_endpoints: - :type global_notification_endpoints: list[~providerhub.models.ResourceProviderEndpoint] + :type global_notification_endpoints: list[~provider_hub.models.ResourceProviderEndpoint] :param re_register_subscription_metadata: - :type re_register_subscription_metadata: ~providerhub.models.ReRegisterSubscriptionMetadata + :type re_register_subscription_metadata: ~provider_hub.models.ReRegisterSubscriptionMetadata """ _attribute_map = { @@ -2568,7 +2662,7 @@ class ResourceProviderManifestFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -2600,11 +2694,11 @@ class ResourceProviderManifestManagement(ResourceProviderManagement): :param incident_contact_email: :type incident_contact_email: str :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param resource_access_policy: Possible values include: "NotSpecified", "AcisReadAllowed", "AcisActionAllowed". :type resource_access_policy: str or - ~providerhub.models.ResourceProviderManagementResourceAccessPolicy + ~provider_hub.models.ResourceProviderManagementResourceAccessPolicy :param resource_access_roles: :type resource_access_roles: list[object] """ @@ -2633,7 +2727,7 @@ class ResourceProviderManifestPropertiesFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -2665,11 +2759,11 @@ class ResourceProviderManifestPropertiesManagement(ResourceProviderManagement): :param incident_contact_email: :type incident_contact_email: str :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param resource_access_policy: Possible values include: "NotSpecified", "AcisReadAllowed", "AcisActionAllowed". :type resource_access_policy: str or - ~providerhub.models.ResourceProviderManagementResourceAccessPolicy + ~provider_hub.models.ResourceProviderManagementResourceAccessPolicy :param resource_access_roles: :type resource_access_roles: list[object] """ @@ -2721,7 +2815,7 @@ class ResourceProviderManifestPropertiesRequestHeaderOptions(RequestHeaderOption :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -2741,7 +2835,7 @@ class TemplateDeploymentOptions(msrest.serialization.Model): :param preflight_supported: :type preflight_supported: bool :param preflight_options: - :type preflight_options: list[str or ~providerhub.models.PreflightOption] + :type preflight_options: list[str or ~provider_hub.models.PreflightOption] """ _attribute_map = { @@ -2764,7 +2858,7 @@ class ResourceProviderManifestPropertiesTemplateDeploymentOptions(TemplateDeploy :param preflight_supported: :type preflight_supported: bool :param preflight_options: - :type preflight_options: list[str or ~providerhub.models.PreflightOption] + :type preflight_options: list[str or ~provider_hub.models.PreflightOption] """ _attribute_map = { @@ -2808,7 +2902,7 @@ class ResourceProviderManifestRequestHeaderOptions(RequestHeaderOptions): :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -2856,52 +2950,52 @@ class ResourceType(msrest.serialization.Model): :type name: str :param routing_type: Possible values include: "Default", "ProxyOnly", "HostBased", "Extension", "Tenant", "Fanout", "LocationBased", "Failover", "CascadeExtension". - :type routing_type: str or ~providerhub.models.RoutingType + :type routing_type: str or ~provider_hub.models.RoutingType :param resource_validation: Possible values include: "NotSpecified", "ReservedWords", "ProfaneWords". - :type resource_validation: str or ~providerhub.models.ResourceValidation + :type resource_validation: str or ~provider_hub.models.ResourceValidation :param allowed_unauthorized_actions: :type allowed_unauthorized_actions: list[str] :param authorization_action_mappings: - :type authorization_action_mappings: list[~providerhub.models.AuthorizationActionMapping] + :type authorization_action_mappings: list[~provider_hub.models.AuthorizationActionMapping] :param linked_access_checks: - :type linked_access_checks: list[~providerhub.models.LinkedAccessCheck] + :type linked_access_checks: list[~provider_hub.models.LinkedAccessCheck] :param default_api_version: :type default_api_version: str :param logging_rules: - :type logging_rules: list[~providerhub.models.LoggingRule] + :type logging_rules: list[~provider_hub.models.LoggingRule] :param throttling_rules: - :type throttling_rules: list[~providerhub.models.ThrottlingRule] + :type throttling_rules: list[~provider_hub.models.ThrottlingRule] :param endpoints: - :type endpoints: list[~providerhub.models.ResourceProviderEndpoint] + :type endpoints: list[~provider_hub.models.ResourceProviderEndpoint] :param marketplace_type: Possible values include: "NotSpecified", "AddOn", "Bypass", "Store". - :type marketplace_type: str or ~providerhub.models.ResourceTypeMarketplaceType + :type marketplace_type: str or ~provider_hub.models.ResourceTypeMarketplaceType :param identity_management: - :type identity_management: ~providerhub.models.IdentityManagement + :type identity_management: ~provider_hub.models.IdentityManagement :param metadata: Any object. :type metadata: object :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param subscription_state_rules: - :type subscription_state_rules: list[~providerhub.models.SubscriptionStateRule] + :type subscription_state_rules: list[~provider_hub.models.SubscriptionStateRule] :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param sku_link: :type sku_link: str :param disallowed_action_verbs: :type disallowed_action_verbs: list[str] :param template_deployment_policy: - :type template_deployment_policy: ~providerhub.models.TemplateDeploymentPolicy + :type template_deployment_policy: ~provider_hub.models.TemplateDeploymentPolicy :param extended_locations: - :type extended_locations: list[~providerhub.models.ExtendedLocationOptions] + :type extended_locations: list[~provider_hub.models.ExtendedLocationOptions] :param linked_operation_rules: - :type linked_operation_rules: list[~providerhub.models.LinkedOperationRule] + :type linked_operation_rules: list[~provider_hub.models.LinkedOperationRule] :param resource_deletion_policy: Possible values include: "NotSpecified", "Cascade", "Force". - :type resource_deletion_policy: str or ~providerhub.models.ManifestResourceDeletionPolicy + :type resource_deletion_policy: str or ~provider_hub.models.ManifestResourceDeletionPolicy """ _attribute_map = { @@ -2974,9 +3068,9 @@ class ResourceTypeEndpoint(msrest.serialization.Model): :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param extensions: - :type extensions: list[~providerhub.models.ResourceTypeExtension] + :type extensions: list[~provider_hub.models.ResourceTypeExtension] :param timeout: :type timeout: ~datetime.timedelta """ @@ -3011,7 +3105,7 @@ class ResourceTypeEndpointFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -3035,7 +3129,7 @@ class ResourceTypeExtension(msrest.serialization.Model): :param endpoint_uri: :type endpoint_uri: str :param extension_categories: - :type extension_categories: list[str or ~providerhub.models.ExtensionCategory] + :type extension_categories: list[str or ~provider_hub.models.ExtensionCategory] :param timeout: :type timeout: ~datetime.timedelta """ @@ -3060,14 +3154,11 @@ class ResourceTypeExtensionOptions(msrest.serialization.Model): """ResourceTypeExtensionOptions. :param resource_creation_begin: - :type resource_creation_begin: ~providerhub.models.ExtensionOptions - :param resource_patch_begin: - :type resource_patch_begin: ~providerhub.models.ExtensionOptions + :type resource_creation_begin: ~provider_hub.models.ExtensionOptions """ _attribute_map = { 'resource_creation_begin': {'key': 'resourceCreationBegin', 'type': 'ExtensionOptions'}, - 'resource_patch_begin': {'key': 'resourcePatchBegin', 'type': 'ExtensionOptions'}, } def __init__( @@ -3076,16 +3167,15 @@ def __init__( ): super(ResourceTypeExtensionOptions, self).__init__(**kwargs) self.resource_creation_begin = kwargs.get('resource_creation_begin', None) - self.resource_patch_begin = kwargs.get('resource_patch_begin', None) class ResourceTypeExtensionOptionsResourceCreationBegin(ExtensionOptions): """ResourceTypeExtensionOptionsResourceCreationBegin. :param request: - :type request: list[str or ~providerhub.models.ExtensionOptionType] + :type request: list[str or ~provider_hub.models.ExtensionOptionType] :param response: - :type response: list[str or ~providerhub.models.ExtensionOptionType] + :type response: list[str or ~provider_hub.models.ExtensionOptionType] """ _attribute_map = { @@ -3100,34 +3190,13 @@ def __init__( super(ResourceTypeExtensionOptionsResourceCreationBegin, self).__init__(**kwargs) -class ResourceTypeExtensionOptionsResourcePatchBegin(ExtensionOptions): - """ResourceTypeExtensionOptionsResourcePatchBegin. - - :param request: - :type request: list[str or ~providerhub.models.ExtensionOptionType] - :param response: - :type response: list[str or ~providerhub.models.ExtensionOptionType] - """ - - _attribute_map = { - 'request': {'key': 'request', 'type': '[str]'}, - 'response': {'key': 'response', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceTypeExtensionOptionsResourcePatchBegin, self).__init__(**kwargs) - - class ResourceTypeFeaturesRule(FeaturesRule): """ResourceTypeFeaturesRule. All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -3150,7 +3219,7 @@ class ResourceTypeIdentityManagement(IdentityManagement): :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes """ _attribute_map = { @@ -3178,7 +3247,7 @@ class ResourceTypeRegistration(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ResourceTypeRegistrationProperties + :type properties: ~provider_hub.models.ResourceTypeRegistrationProperties """ _validation = { @@ -3206,7 +3275,7 @@ class ResourceTypeRegistrationArrayResponseWithContinuation(msrest.serialization """ResourceTypeRegistrationArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.ResourceTypeRegistration] + :type value: list[~provider_hub.models.ResourceTypeRegistration] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -3230,69 +3299,69 @@ class ResourceTypeRegistrationProperties(msrest.serialization.Model): :param routing_type: Possible values include: "Default", "ProxyOnly", "HostBased", "Extension", "Tenant", "Fanout", "LocationBased", "Failover", "CascadeExtension". - :type routing_type: str or ~providerhub.models.RoutingType + :type routing_type: str or ~provider_hub.models.RoutingType :param regionality: Possible values include: "NotSpecified", "Global", "Regional". - :type regionality: str or ~providerhub.models.Regionality + :type regionality: str or ~provider_hub.models.Regionality :param endpoints: - :type endpoints: list[~providerhub.models.ResourceTypeEndpoint] + :type endpoints: list[~provider_hub.models.ResourceTypeEndpoint] :param extension_options: - :type extension_options: ~providerhub.models.ResourceTypeExtensionOptions + :type extension_options: ~provider_hub.models.ResourceTypeExtensionOptions :param marketplace_type: Possible values include: "NotSpecified", "AddOn", "Bypass", "Store". :type marketplace_type: str or - ~providerhub.models.ResourceTypeRegistrationPropertiesMarketplaceType + ~provider_hub.models.ResourceTypeRegistrationPropertiesMarketplaceType :param swagger_specifications: - :type swagger_specifications: list[~providerhub.models.SwaggerSpecification] + :type swagger_specifications: list[~provider_hub.models.SwaggerSpecification] :param allowed_unauthorized_actions: :type allowed_unauthorized_actions: list[str] :param authorization_action_mappings: - :type authorization_action_mappings: list[~providerhub.models.AuthorizationActionMapping] + :type authorization_action_mappings: list[~provider_hub.models.AuthorizationActionMapping] :param linked_access_checks: - :type linked_access_checks: list[~providerhub.models.LinkedAccessCheck] + :type linked_access_checks: list[~provider_hub.models.LinkedAccessCheck] :param default_api_version: :type default_api_version: str :param logging_rules: - :type logging_rules: list[~providerhub.models.LoggingRule] + :type logging_rules: list[~provider_hub.models.LoggingRule] :param throttling_rules: - :type throttling_rules: list[~providerhub.models.ThrottlingRule] + :type throttling_rules: list[~provider_hub.models.ThrottlingRule] :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param enable_async_operation: :type enable_async_operation: bool :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param enable_third_party_s2s: :type enable_third_party_s2s: bool :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications :param is_pure_proxy: :type is_pure_proxy: bool :param identity_management: - :type identity_management: ~providerhub.models.IdentityManagementProperties + :type identity_management: ~provider_hub.models.IdentityManagementProperties :param check_name_availability_specifications: :type check_name_availability_specifications: - ~providerhub.models.CheckNameAvailabilitySpecifications + ~provider_hub.models.CheckNameAvailabilitySpecifications :param disallowed_action_verbs: :type disallowed_action_verbs: list[str] :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param subscription_state_rules: - :type subscription_state_rules: list[~providerhub.models.SubscriptionStateRule] + :type subscription_state_rules: list[~provider_hub.models.SubscriptionStateRule] :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param extended_locations: - :type extended_locations: list[~providerhub.models.ExtendedLocationOptions] + :type extended_locations: list[~provider_hub.models.ExtendedLocationOptions] :param resource_move_policy: - :type resource_move_policy: ~providerhub.models.ResourceMovePolicy + :type resource_move_policy: ~provider_hub.models.ResourceMovePolicy :param resource_deletion_policy: Possible values include: "NotSpecified", "CascadeDeleteAll", "CascadeDeleteProxyOnlyChildren". - :type resource_deletion_policy: str or ~providerhub.models.ResourceDeletionPolicy + :type resource_deletion_policy: str or ~provider_hub.models.ResourceDeletionPolicy """ _attribute_map = { @@ -3368,69 +3437,69 @@ class ResourceTypeRegistrationPropertiesautogenerated(ResourceTypeRegistrationPr :param routing_type: Possible values include: "Default", "ProxyOnly", "HostBased", "Extension", "Tenant", "Fanout", "LocationBased", "Failover", "CascadeExtension". - :type routing_type: str or ~providerhub.models.RoutingType + :type routing_type: str or ~provider_hub.models.RoutingType :param regionality: Possible values include: "NotSpecified", "Global", "Regional". - :type regionality: str or ~providerhub.models.Regionality + :type regionality: str or ~provider_hub.models.Regionality :param endpoints: - :type endpoints: list[~providerhub.models.ResourceTypeEndpoint] + :type endpoints: list[~provider_hub.models.ResourceTypeEndpoint] :param extension_options: - :type extension_options: ~providerhub.models.ResourceTypeExtensionOptions + :type extension_options: ~provider_hub.models.ResourceTypeExtensionOptions :param marketplace_type: Possible values include: "NotSpecified", "AddOn", "Bypass", "Store". :type marketplace_type: str or - ~providerhub.models.ResourceTypeRegistrationPropertiesMarketplaceType + ~provider_hub.models.ResourceTypeRegistrationPropertiesMarketplaceType :param swagger_specifications: - :type swagger_specifications: list[~providerhub.models.SwaggerSpecification] + :type swagger_specifications: list[~provider_hub.models.SwaggerSpecification] :param allowed_unauthorized_actions: :type allowed_unauthorized_actions: list[str] :param authorization_action_mappings: - :type authorization_action_mappings: list[~providerhub.models.AuthorizationActionMapping] + :type authorization_action_mappings: list[~provider_hub.models.AuthorizationActionMapping] :param linked_access_checks: - :type linked_access_checks: list[~providerhub.models.LinkedAccessCheck] + :type linked_access_checks: list[~provider_hub.models.LinkedAccessCheck] :param default_api_version: :type default_api_version: str :param logging_rules: - :type logging_rules: list[~providerhub.models.LoggingRule] + :type logging_rules: list[~provider_hub.models.LoggingRule] :param throttling_rules: - :type throttling_rules: list[~providerhub.models.ThrottlingRule] + :type throttling_rules: list[~provider_hub.models.ThrottlingRule] :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param enable_async_operation: :type enable_async_operation: bool :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param enable_third_party_s2s: :type enable_third_party_s2s: bool :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications :param is_pure_proxy: :type is_pure_proxy: bool :param identity_management: - :type identity_management: ~providerhub.models.IdentityManagementProperties + :type identity_management: ~provider_hub.models.IdentityManagementProperties :param check_name_availability_specifications: :type check_name_availability_specifications: - ~providerhub.models.CheckNameAvailabilitySpecifications + ~provider_hub.models.CheckNameAvailabilitySpecifications :param disallowed_action_verbs: :type disallowed_action_verbs: list[str] :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param subscription_state_rules: - :type subscription_state_rules: list[~providerhub.models.SubscriptionStateRule] + :type subscription_state_rules: list[~provider_hub.models.SubscriptionStateRule] :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param extended_locations: - :type extended_locations: list[~providerhub.models.ExtendedLocationOptions] + :type extended_locations: list[~provider_hub.models.ExtendedLocationOptions] :param resource_move_policy: - :type resource_move_policy: ~providerhub.models.ResourceMovePolicy + :type resource_move_policy: ~provider_hub.models.ResourceMovePolicy :param resource_deletion_policy: Possible values include: "NotSpecified", "CascadeDeleteAll", "CascadeDeleteProxyOnlyChildren". - :type resource_deletion_policy: str or ~providerhub.models.ResourceDeletionPolicy + :type resource_deletion_policy: str or ~provider_hub.models.ResourceDeletionPolicy """ _attribute_map = { @@ -3497,7 +3566,7 @@ class ResourceTypeRegistrationPropertiesExtensionOptions(ResourceTypeExtensionOp """ResourceTypeRegistrationPropertiesExtensionOptions. :param resource_creation_begin: - :type resource_creation_begin: ~providerhub.models.ExtensionOptions + :type resource_creation_begin: ~provider_hub.models.ExtensionOptions """ _attribute_map = { @@ -3517,7 +3586,7 @@ class ResourceTypeRegistrationPropertiesFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -3540,7 +3609,7 @@ class ResourceTypeRegistrationPropertiesIdentityManagement(IdentityManagementPro :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes :param application_id: :type application_id: str """ @@ -3562,7 +3631,7 @@ class ResourceTypeRegistrationPropertiesRequestHeaderOptions(RequestHeaderOption :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -3605,7 +3674,7 @@ class ResourceTypeRegistrationPropertiesSubscriptionLifecycleNotificationSpecifi :param subscription_state_override_actions: :type subscription_state_override_actions: - list[~providerhub.models.SubscriptionStateOverrideAction] + list[~provider_hub.models.SubscriptionStateOverrideAction] :param soft_delete_ttl: :type soft_delete_ttl: ~datetime.timedelta """ @@ -3628,7 +3697,7 @@ class ResourceTypeRegistrationPropertiesTemplateDeploymentOptions(TemplateDeploy :param preflight_supported: :type preflight_supported: bool :param preflight_options: - :type preflight_options: list[str or ~providerhub.models.PreflightOption] + :type preflight_options: list[str or ~provider_hub.models.PreflightOption] """ _attribute_map = { @@ -3648,7 +3717,7 @@ class ResourceTypeRequestHeaderOptions(RequestHeaderOptions): :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -3668,7 +3737,7 @@ class ResourceTypeSku(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param sku_settings: Required. - :type sku_settings: list[~providerhub.models.SkuSetting] + :type sku_settings: list[~provider_hub.models.SkuSetting] """ _validation = { @@ -3693,10 +3762,10 @@ class TemplateDeploymentPolicy(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param capabilities: Required. Possible values include: "Default", "Preflight". - :type capabilities: str or ~providerhub.models.TemplateDeploymentCapabilities + :type capabilities: str or ~provider_hub.models.TemplateDeploymentCapabilities :param preflight_options: Required. Possible values include: "None", "ValidationRequests", "DeploymentRequests", "TestOnly", "RegisteredOnly". - :type preflight_options: str or ~providerhub.models.TemplateDeploymentPreflightOptions + :type preflight_options: str or ~provider_hub.models.TemplateDeploymentPreflightOptions """ _validation = { @@ -3724,10 +3793,10 @@ class ResourceTypeTemplateDeploymentPolicy(TemplateDeploymentPolicy): All required parameters must be populated in order to send to Azure. :param capabilities: Required. Possible values include: "Default", "Preflight". - :type capabilities: str or ~providerhub.models.TemplateDeploymentCapabilities + :type capabilities: str or ~provider_hub.models.TemplateDeploymentCapabilities :param preflight_options: Required. Possible values include: "None", "ValidationRequests", "DeploymentRequests", "TestOnly", "RegisteredOnly". - :type preflight_options: str or ~providerhub.models.TemplateDeploymentPreflightOptions + :type preflight_options: str or ~provider_hub.models.TemplateDeploymentPreflightOptions """ _validation = { @@ -3812,7 +3881,7 @@ class SkuCapacity(msrest.serialization.Model): :param default: :type default: int :param scale_type: Possible values include: "None", "Manual", "Automatic". - :type scale_type: str or ~providerhub.models.SkuScaleType + :type scale_type: str or ~provider_hub.models.SkuScaleType """ _validation = { @@ -3880,11 +3949,11 @@ class SkuLocationInfo(msrest.serialization.Model): :param zones: :type zones: list[str] :param zone_details: - :type zone_details: list[~providerhub.models.SkuZoneDetail] + :type zone_details: list[~provider_hub.models.SkuZoneDetail] :param extended_locations: :type extended_locations: list[str] :param type: Possible values include: "NotSpecified", "EdgeZone", "ArcZone". - :type type: str or ~providerhub.models.SkuLocationInfoType + :type type: str or ~provider_hub.models.SkuLocationInfoType """ _validation = { @@ -3925,7 +3994,7 @@ class SkuResource(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ResourceTypeSku + :type properties: ~provider_hub.models.ResourceTypeSku """ _validation = { @@ -3953,7 +4022,7 @@ class SkuResourceArrayResponseWithContinuation(msrest.serialization.Model): """SkuResourceArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.SkuResource] + :type value: list[~provider_hub.models.SkuResource] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -3978,7 +4047,7 @@ class SkuResourceProperties(ResourceTypeSku): All required parameters must be populated in order to send to Azure. :param sku_settings: Required. - :type sku_settings: list[~providerhub.models.SkuSetting] + :type sku_settings: list[~provider_hub.models.SkuSetting] """ _validation = { @@ -4014,17 +4083,17 @@ class SkuSetting(msrest.serialization.Model): :param locations: :type locations: list[str] :param location_info: - :type location_info: list[~providerhub.models.SkuLocationInfo] + :type location_info: list[~provider_hub.models.SkuLocationInfo] :param required_quota_ids: :type required_quota_ids: list[str] :param required_features: :type required_features: list[str] :param capacity: - :type capacity: ~providerhub.models.SkuCapacity + :type capacity: ~provider_hub.models.SkuCapacity :param costs: - :type costs: list[~providerhub.models.SkuCost] + :type costs: list[~provider_hub.models.SkuCost] :param capabilities: - :type capabilities: list[~providerhub.models.SkuCapability] + :type capabilities: list[~provider_hub.models.SkuCapability] """ _validation = { @@ -4077,7 +4146,7 @@ class SkuSettingCapacity(SkuCapacity): :param default: :type default: int :param scale_type: Possible values include: "None", "Manual", "Automatic". - :type scale_type: str or ~providerhub.models.SkuScaleType + :type scale_type: str or ~provider_hub.models.SkuScaleType """ _validation = { @@ -4104,7 +4173,7 @@ class SkuZoneDetail(msrest.serialization.Model): :param name: :type name: list[str] :param capabilities: - :type capabilities: list[~providerhub.models.SkuCapability] + :type capabilities: list[~provider_hub.models.SkuCapability] """ _attribute_map = { @@ -4130,10 +4199,10 @@ class SubscriptionStateOverrideAction(msrest.serialization.Model): "Suspended", "Deleted", "WarnedToRegistered", "WarnedToSuspended", "WarnedToDeleted", "WarnedToUnregistered", "SuspendedToRegistered", "SuspendedToWarned", "SuspendedToDeleted", "SuspendedToUnregistered". - :type state: str or ~providerhub.models.SubscriptionTransitioningState + :type state: str or ~provider_hub.models.SubscriptionTransitioningState :param action: Required. Possible values include: "NotDefined", "DeleteAllResources", "SoftDeleteAllResources", "NoOp", "BillingCancellation", "UndoSoftDelete". - :type action: str or ~providerhub.models.SubscriptionNotificationOperation + :type action: str or ~provider_hub.models.SubscriptionNotificationOperation """ _validation = { @@ -4160,7 +4229,7 @@ class SubscriptionStateRule(msrest.serialization.Model): :param state: Possible values include: "NotDefined", "Enabled", "Warned", "PastDue", "Disabled", "Deleted". - :type state: str or ~providerhub.models.SubscriptionState + :type state: str or ~provider_hub.models.SubscriptionState :param allowed_actions: :type allowed_actions: list[str] """ @@ -4209,7 +4278,7 @@ class ThrottlingMetric(msrest.serialization.Model): :param type: Required. Possible values include: "NotSpecified", "NumberOfRequests", "NumberOfResources". - :type type: str or ~providerhub.models.ThrottlingMetricType + :type type: str or ~provider_hub.models.ThrottlingMetricType :param limit: Required. :type limit: long :param interval: @@ -4245,7 +4314,7 @@ class ThrottlingRule(msrest.serialization.Model): :param action: Required. :type action: str :param metrics: Required. - :type metrics: list[~providerhub.models.ThrottlingMetric] + :type metrics: list[~provider_hub.models.ThrottlingMetric] :param required_features: :type required_features: list[str] """ diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models_py3.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models_py3.py index 56820dd5bb3..69db580a911 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models_py3.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_models_py3.py @@ -12,7 +12,7 @@ from azure.core.exceptions import HttpResponseError import msrest.serialization -from ._providerhub_enums import * +from ._provider_hub_enums import * class AuthorizationActionMapping(msrest.serialization.Model): @@ -115,7 +115,7 @@ class CheckinManifestParams(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param environment: The environment supplied to the checkin manifest operation. + :param environment: Required. The environment supplied to the checkin manifest operation. :type environment: str :param baseline_arm_manifest_location: Required. The baseline ARM manifest location supplied to the checkin manifest operation. @@ -222,51 +222,39 @@ class CustomRollout(Resource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", - "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", - "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState - :param specification: Required. - :type specification: ~providerhub.models.CustomRolloutSpecification - :param status: - :type status: ~providerhub.models.CustomRolloutStatus + :param properties: Required. Properties of the rollout. + :type properties: ~provider_hub.models.CustomRolloutProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'specification': {'required': True}, + 'properties': {'required': 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'}, - 'specification': {'key': 'properties.specification', 'type': 'CustomRolloutSpecification'}, - 'status': {'key': 'properties.status', 'type': 'CustomRolloutStatus'}, + 'properties': {'key': 'properties', 'type': 'CustomRolloutProperties'}, } def __init__( self, *, - specification: "CustomRolloutSpecification", - provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, - status: Optional["CustomRolloutStatus"] = None, + properties: "CustomRolloutProperties", **kwargs ): super(CustomRollout, self).__init__(**kwargs) - self.provisioning_state = provisioning_state - self.specification = specification - self.status = status + self.properties = properties class CustomRolloutArrayResponseWithContinuation(msrest.serialization.Model): """CustomRolloutArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.CustomRollout] + :type value: list[~provider_hub.models.CustomRollout] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -288,17 +276,92 @@ def __init__( self.next_link = next_link +class CustomRolloutProperties(msrest.serialization.Model): + """CustomRolloutProperties. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: Required. + :type specification: ~provider_hub.models.CustomRolloutSpecification + :param status: + :type status: ~provider_hub.models.CustomRolloutStatus + """ + + _validation = { + 'specification': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'CustomRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'CustomRolloutStatus'}, + } + + def __init__( + self, + *, + specification: "CustomRolloutSpecification", + provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, + status: Optional["CustomRolloutStatus"] = None, + **kwargs + ): + super(CustomRolloutProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.specification = specification + self.status = status + + +class CustomRolloutPropertiesautogenerated(CustomRolloutProperties): + """Properties of the rollout. + + All required parameters must be populated in order to send to Azure. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: Required. + :type specification: ~provider_hub.models.CustomRolloutSpecification + :param status: + :type status: ~provider_hub.models.CustomRolloutStatus + """ + + _validation = { + 'specification': {'required': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'CustomRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'CustomRolloutStatus'}, + } + + def __init__( + self, + *, + specification: "CustomRolloutSpecification", + provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, + status: Optional["CustomRolloutStatus"] = None, + **kwargs + ): + super(CustomRolloutPropertiesautogenerated, self).__init__(provisioning_state=provisioning_state, specification=specification, status=status, **kwargs) + + class CustomRolloutSpecification(msrest.serialization.Model): """CustomRolloutSpecification. All required parameters must be populated in order to send to Azure. :param canary: Required. - :type canary: ~providerhub.models.TrafficRegions + :type canary: ~provider_hub.models.TrafficRegions :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _validation = { @@ -331,11 +394,11 @@ class CustomRolloutPropertiesSpecification(CustomRolloutSpecification): All required parameters must be populated in order to send to Azure. :param canary: Required. - :type canary: ~providerhub.models.TrafficRegions + :type canary: ~provider_hub.models.TrafficRegions :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _validation = { @@ -356,8 +419,7 @@ def __init__( resource_type_registrations: Optional[List["ResourceTypeRegistration"]] = None, **kwargs ): - super(CustomRolloutPropertiesSpecification, self).__init__(canary=canary, - provider_registration=provider_registration, resource_type_registrations=resource_type_registrations, **kwargs) + super(CustomRolloutPropertiesSpecification, self).__init__(canary=canary, provider_registration=provider_registration, resource_type_registrations=resource_type_registrations, **kwargs) class CustomRolloutStatus(msrest.serialization.Model): @@ -366,7 +428,7 @@ class CustomRolloutStatus(msrest.serialization.Model): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] """ _attribute_map = { @@ -378,8 +440,7 @@ def __init__( self, *, completed_regions: Optional[List[str]] = None, - failed_or_skipped_regions: Optional[Dict[str, - "ExtendedErrorInfo"]] = None, + failed_or_skipped_regions: Optional[Dict[str, "ExtendedErrorInfo"]] = None, **kwargs ): super(CustomRolloutStatus, self).__init__(**kwargs) @@ -393,7 +454,7 @@ class CustomRolloutPropertiesStatus(CustomRolloutStatus): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] """ _attribute_map = { @@ -405,12 +466,10 @@ def __init__( self, *, completed_regions: Optional[List[str]] = None, - failed_or_skipped_regions: Optional[Dict[str, - "ExtendedErrorInfo"]] = None, + failed_or_skipped_regions: Optional[Dict[str, "ExtendedErrorInfo"]] = None, **kwargs ): - super(CustomRolloutPropertiesStatus, self).__init__( - completed_regions=completed_regions, failed_or_skipped_regions=failed_or_skipped_regions, **kwargs) + super(CustomRolloutPropertiesStatus, self).__init__(completed_regions=completed_regions, failed_or_skipped_regions=failed_or_skipped_regions, **kwargs) class TrafficRegions(msrest.serialization.Model): @@ -451,8 +510,7 @@ def __init__( regions: Optional[List[str]] = None, **kwargs ): - super(CustomRolloutSpecificationCanary, self).__init__( - regions=regions, **kwargs) + super(CustomRolloutSpecificationCanary, self).__init__(regions=regions, **kwargs) class ProviderRegistration(Resource): @@ -469,7 +527,7 @@ class ProviderRegistration(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ProviderRegistrationProperties + :type properties: ~provider_hub.models.ProviderRegistrationProperties """ _validation = { @@ -509,7 +567,7 @@ class CustomRolloutSpecificationProviderRegistration(ProviderRegistration): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ProviderRegistrationProperties + :type properties: ~provider_hub.models.ProviderRegistrationProperties """ _validation = { @@ -531,8 +589,7 @@ def __init__( properties: Optional["ProviderRegistrationProperties"] = None, **kwargs ): - super(CustomRolloutSpecificationProviderRegistration, - self).__init__(properties=properties, **kwargs) + super(CustomRolloutSpecificationProviderRegistration, self).__init__(properties=properties, **kwargs) class DefaultRollout(Resource): @@ -548,14 +605,8 @@ class DefaultRollout(Resource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", - "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", - "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState - :param specification: - :type specification: ~providerhub.models.DefaultRolloutSpecification - :param status: - :type status: ~providerhub.models.DefaultRolloutStatus + :param properties: Properties of the rollout. + :type properties: ~provider_hub.models.DefaultRolloutProperties """ _validation = { @@ -568,30 +619,24 @@ class DefaultRollout(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'specification': {'key': 'properties.specification', 'type': 'DefaultRolloutSpecification'}, - 'status': {'key': 'properties.status', 'type': 'DefaultRolloutStatus'}, + 'properties': {'key': 'properties', 'type': 'DefaultRolloutProperties'}, } def __init__( self, *, - provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, - specification: Optional["DefaultRolloutSpecification"] = None, - status: Optional["DefaultRolloutStatus"] = None, + properties: Optional["DefaultRolloutProperties"] = None, **kwargs ): super(DefaultRollout, self).__init__(**kwargs) - self.provisioning_state = provisioning_state - self.specification = specification - self.status = status + self.properties = properties class DefaultRolloutArrayResponseWithContinuation(msrest.serialization.Model): """DefaultRolloutArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.DefaultRollout] + :type value: list[~provider_hub.models.DefaultRollout] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -613,25 +658,88 @@ def __init__( self.next_link = next_link +class DefaultRolloutProperties(msrest.serialization.Model): + """DefaultRolloutProperties. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: + :type specification: ~provider_hub.models.DefaultRolloutSpecification + :param status: + :type status: ~provider_hub.models.DefaultRolloutStatus + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'DefaultRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'DefaultRolloutStatus'}, + } + + def __init__( + self, + *, + provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, + specification: Optional["DefaultRolloutSpecification"] = None, + status: Optional["DefaultRolloutStatus"] = None, + **kwargs + ): + super(DefaultRolloutProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.specification = specification + self.status = status + + +class DefaultRolloutPropertiesautogenerated(DefaultRolloutProperties): + """Properties of the rollout. + + :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", + "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", + "MovingResources", "TransientFailure", "RolloutInProgress". + :type provisioning_state: str or ~provider_hub.models.ProvisioningState + :param specification: + :type specification: ~provider_hub.models.DefaultRolloutSpecification + :param status: + :type status: ~provider_hub.models.DefaultRolloutStatus + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'specification': {'key': 'specification', 'type': 'DefaultRolloutSpecification'}, + 'status': {'key': 'status', 'type': 'DefaultRolloutStatus'}, + } + + def __init__( + self, + *, + provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, + specification: Optional["DefaultRolloutSpecification"] = None, + status: Optional["DefaultRolloutStatus"] = None, + **kwargs + ): + super(DefaultRolloutPropertiesautogenerated, self).__init__(provisioning_state=provisioning_state, specification=specification, status=status, **kwargs) + + class DefaultRolloutSpecification(msrest.serialization.Model): """DefaultRolloutSpecification. :param canary: - :type canary: ~providerhub.models.CanaryTrafficRegionRolloutConfiguration + :type canary: ~provider_hub.models.CanaryTrafficRegionRolloutConfiguration :param low_traffic: - :type low_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type low_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param medium_traffic: - :type medium_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type medium_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param high_traffic: - :type high_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type high_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_one: - :type rest_of_the_world_group_one: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_one: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_two: - :type rest_of_the_world_group_two: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_two: ~provider_hub.models.TrafficRegionRolloutConfiguration :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _attribute_map = { @@ -673,21 +781,21 @@ class DefaultRolloutPropertiesSpecification(DefaultRolloutSpecification): """DefaultRolloutPropertiesSpecification. :param canary: - :type canary: ~providerhub.models.CanaryTrafficRegionRolloutConfiguration + :type canary: ~provider_hub.models.CanaryTrafficRegionRolloutConfiguration :param low_traffic: - :type low_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type low_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param medium_traffic: - :type medium_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type medium_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param high_traffic: - :type high_traffic: ~providerhub.models.TrafficRegionRolloutConfiguration + :type high_traffic: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_one: - :type rest_of_the_world_group_one: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_one: ~provider_hub.models.TrafficRegionRolloutConfiguration :param rest_of_the_world_group_two: - :type rest_of_the_world_group_two: ~providerhub.models.TrafficRegionRolloutConfiguration + :type rest_of_the_world_group_two: ~provider_hub.models.TrafficRegionRolloutConfiguration :param provider_registration: - :type provider_registration: ~providerhub.models.ProviderRegistration + :type provider_registration: ~provider_hub.models.ProviderRegistration :param resource_type_registrations: - :type resource_type_registrations: list[~providerhub.models.ResourceTypeRegistration] + :type resource_type_registrations: list[~provider_hub.models.ResourceTypeRegistration] """ _attribute_map = { @@ -714,8 +822,7 @@ def __init__( resource_type_registrations: Optional[List["ResourceTypeRegistration"]] = None, **kwargs ): - super(DefaultRolloutPropertiesSpecification, self).__init__(canary=canary, low_traffic=low_traffic, medium_traffic=medium_traffic, high_traffic=high_traffic, rest_of_the_world_group_one=rest_of_the_world_group_one, - rest_of_the_world_group_two=rest_of_the_world_group_two, provider_registration=provider_registration, resource_type_registrations=resource_type_registrations, **kwargs) + super(DefaultRolloutPropertiesSpecification, self).__init__(canary=canary, low_traffic=low_traffic, medium_traffic=medium_traffic, high_traffic=high_traffic, rest_of_the_world_group_one=rest_of_the_world_group_one, rest_of_the_world_group_two=rest_of_the_world_group_two, provider_registration=provider_registration, resource_type_registrations=resource_type_registrations, **kwargs) class RolloutStatusBase(msrest.serialization.Model): @@ -724,7 +831,7 @@ class RolloutStatusBase(msrest.serialization.Model): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] """ _attribute_map = { @@ -736,8 +843,7 @@ def __init__( self, *, completed_regions: Optional[List[str]] = None, - failed_or_skipped_regions: Optional[Dict[str, - "ExtendedErrorInfo"]] = None, + failed_or_skipped_regions: Optional[Dict[str, "ExtendedErrorInfo"]] = None, **kwargs ): super(RolloutStatusBase, self).__init__(**kwargs) @@ -751,16 +857,16 @@ class DefaultRolloutStatus(RolloutStatusBase): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] :param next_traffic_region: Possible values include: "NotSpecified", "Canary", "LowTraffic", "MediumTraffic", "HighTraffic", "None", "RestOfTheWorldGroupOne", "RestOfTheWorldGroupTwo". - :type next_traffic_region: str or ~providerhub.models.TrafficRegionCategory + :type next_traffic_region: str or ~provider_hub.models.TrafficRegionCategory :param next_traffic_region_scheduled_time: :type next_traffic_region_scheduled_time: ~datetime.datetime :param subscription_reregistration_result: Possible values include: "NotApplicable", "ConditionalUpdate", "ForcedUpdate", "Failed". :type subscription_reregistration_result: str or - ~providerhub.models.SubscriptionReregistrationResult + ~provider_hub.models.SubscriptionReregistrationResult """ _attribute_map = { @@ -775,17 +881,13 @@ def __init__( self, *, completed_regions: Optional[List[str]] = None, - failed_or_skipped_regions: Optional[Dict[str, - "ExtendedErrorInfo"]] = None, - next_traffic_region: Optional[Union[str, - "TrafficRegionCategory"]] = None, + failed_or_skipped_regions: Optional[Dict[str, "ExtendedErrorInfo"]] = None, + next_traffic_region: Optional[Union[str, "TrafficRegionCategory"]] = None, next_traffic_region_scheduled_time: Optional[datetime.datetime] = None, - subscription_reregistration_result: Optional[Union[str, - "SubscriptionReregistrationResult"]] = None, + subscription_reregistration_result: Optional[Union[str, "SubscriptionReregistrationResult"]] = None, **kwargs ): - super(DefaultRolloutStatus, self).__init__(completed_regions=completed_regions, - failed_or_skipped_regions=failed_or_skipped_regions, **kwargs) + super(DefaultRolloutStatus, self).__init__(completed_regions=completed_regions, failed_or_skipped_regions=failed_or_skipped_regions, **kwargs) self.next_traffic_region = next_traffic_region self.next_traffic_region_scheduled_time = next_traffic_region_scheduled_time self.subscription_reregistration_result = subscription_reregistration_result @@ -797,16 +899,16 @@ class DefaultRolloutPropertiesStatus(DefaultRolloutStatus): :param completed_regions: :type completed_regions: list[str] :param failed_or_skipped_regions: Dictionary of :code:``. - :type failed_or_skipped_regions: dict[str, ~providerhub.models.ExtendedErrorInfo] + :type failed_or_skipped_regions: dict[str, ~provider_hub.models.ExtendedErrorInfo] :param next_traffic_region: Possible values include: "NotSpecified", "Canary", "LowTraffic", "MediumTraffic", "HighTraffic", "None", "RestOfTheWorldGroupOne", "RestOfTheWorldGroupTwo". - :type next_traffic_region: str or ~providerhub.models.TrafficRegionCategory + :type next_traffic_region: str or ~provider_hub.models.TrafficRegionCategory :param next_traffic_region_scheduled_time: :type next_traffic_region_scheduled_time: ~datetime.datetime :param subscription_reregistration_result: Possible values include: "NotApplicable", "ConditionalUpdate", "ForcedUpdate", "Failed". :type subscription_reregistration_result: str or - ~providerhub.models.SubscriptionReregistrationResult + ~provider_hub.models.SubscriptionReregistrationResult """ _attribute_map = { @@ -821,17 +923,13 @@ def __init__( self, *, completed_regions: Optional[List[str]] = None, - failed_or_skipped_regions: Optional[Dict[str, - "ExtendedErrorInfo"]] = None, - next_traffic_region: Optional[Union[str, - "TrafficRegionCategory"]] = None, + failed_or_skipped_regions: Optional[Dict[str, "ExtendedErrorInfo"]] = None, + next_traffic_region: Optional[Union[str, "TrafficRegionCategory"]] = None, next_traffic_region_scheduled_time: Optional[datetime.datetime] = None, - subscription_reregistration_result: Optional[Union[str, - "SubscriptionReregistrationResult"]] = None, + subscription_reregistration_result: Optional[Union[str, "SubscriptionReregistrationResult"]] = None, **kwargs ): - super(DefaultRolloutPropertiesStatus, self).__init__(completed_regions=completed_regions, failed_or_skipped_regions=failed_or_skipped_regions, next_traffic_region=next_traffic_region, - next_traffic_region_scheduled_time=next_traffic_region_scheduled_time, subscription_reregistration_result=subscription_reregistration_result, **kwargs) + super(DefaultRolloutPropertiesStatus, self).__init__(completed_regions=completed_regions, failed_or_skipped_regions=failed_or_skipped_regions, next_traffic_region=next_traffic_region, next_traffic_region_scheduled_time=next_traffic_region_scheduled_time, subscription_reregistration_result=subscription_reregistration_result, **kwargs) class DefaultRolloutSpecificationCanary(CanaryTrafficRegionRolloutConfiguration): @@ -855,8 +953,7 @@ def __init__( regions: Optional[List[str]] = None, **kwargs ): - super(DefaultRolloutSpecificationCanary, self).__init__( - skip_regions=skip_regions, regions=regions, **kwargs) + super(DefaultRolloutSpecificationCanary, self).__init__(skip_regions=skip_regions, regions=regions, **kwargs) class TrafficRegionRolloutConfiguration(TrafficRegions): @@ -880,8 +977,7 @@ def __init__( wait_duration: Optional[datetime.timedelta] = None, **kwargs ): - super(TrafficRegionRolloutConfiguration, self).__init__( - regions=regions, **kwargs) + super(TrafficRegionRolloutConfiguration, self).__init__(regions=regions, **kwargs) self.wait_duration = wait_duration @@ -906,8 +1002,7 @@ def __init__( wait_duration: Optional[datetime.timedelta] = None, **kwargs ): - super(DefaultRolloutSpecificationHighTraffic, self).__init__( - regions=regions, wait_duration=wait_duration, **kwargs) + super(DefaultRolloutSpecificationHighTraffic, self).__init__(regions=regions, wait_duration=wait_duration, **kwargs) class DefaultRolloutSpecificationLowTraffic(TrafficRegionRolloutConfiguration): @@ -931,8 +1026,7 @@ def __init__( wait_duration: Optional[datetime.timedelta] = None, **kwargs ): - super(DefaultRolloutSpecificationLowTraffic, self).__init__( - regions=regions, wait_duration=wait_duration, **kwargs) + super(DefaultRolloutSpecificationLowTraffic, self).__init__(regions=regions, wait_duration=wait_duration, **kwargs) class DefaultRolloutSpecificationMediumTraffic(TrafficRegionRolloutConfiguration): @@ -956,8 +1050,7 @@ def __init__( wait_duration: Optional[datetime.timedelta] = None, **kwargs ): - super(DefaultRolloutSpecificationMediumTraffic, self).__init__( - regions=regions, wait_duration=wait_duration, **kwargs) + super(DefaultRolloutSpecificationMediumTraffic, self).__init__(regions=regions, wait_duration=wait_duration, **kwargs) class DefaultRolloutSpecificationProviderRegistration(ProviderRegistration): @@ -974,7 +1067,7 @@ class DefaultRolloutSpecificationProviderRegistration(ProviderRegistration): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ProviderRegistrationProperties + :type properties: ~provider_hub.models.ProviderRegistrationProperties """ _validation = { @@ -996,8 +1089,7 @@ def __init__( properties: Optional["ProviderRegistrationProperties"] = None, **kwargs ): - super(DefaultRolloutSpecificationProviderRegistration, - self).__init__(properties=properties, **kwargs) + super(DefaultRolloutSpecificationProviderRegistration, self).__init__(properties=properties, **kwargs) class DefaultRolloutSpecificationRestOfTheWorldGroupOne(TrafficRegionRolloutConfiguration): @@ -1021,8 +1113,7 @@ def __init__( wait_duration: Optional[datetime.timedelta] = None, **kwargs ): - super(DefaultRolloutSpecificationRestOfTheWorldGroupOne, self).__init__( - regions=regions, wait_duration=wait_duration, **kwargs) + super(DefaultRolloutSpecificationRestOfTheWorldGroupOne, self).__init__(regions=regions, wait_duration=wait_duration, **kwargs) class DefaultRolloutSpecificationRestOfTheWorldGroupTwo(TrafficRegionRolloutConfiguration): @@ -1046,8 +1137,7 @@ def __init__( wait_duration: Optional[datetime.timedelta] = None, **kwargs ): - super(DefaultRolloutSpecificationRestOfTheWorldGroupTwo, self).__init__( - regions=regions, wait_duration=wait_duration, **kwargs) + super(DefaultRolloutSpecificationRestOfTheWorldGroupTwo, self).__init__(regions=regions, wait_duration=wait_duration, **kwargs) class Error(msrest.serialization.Model): @@ -1062,10 +1152,10 @@ class Error(msrest.serialization.Model): :ivar target: Target of the error. :vartype target: str :ivar details: Array of details about specific errors that led to this reported error. - :vartype details: list[~providerhub.models.Error] + :vartype details: list[~provider_hub.models.Error] :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: ~provider_hub.models.InnerError """ _validation = { @@ -1108,7 +1198,7 @@ class InnerError(msrest.serialization.Model): :vartype code: str :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: object """ _validation = { @@ -1119,7 +1209,7 @@ class InnerError(msrest.serialization.Model): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'code': {'key': 'code', 'type': 'str'}, - 'inner_error': {'key': 'innerError', 'type': 'InnerError'}, + 'inner_error': {'key': 'innerError', 'type': 'object'}, } def __init__( @@ -1146,7 +1236,7 @@ class ErrorInnerError(InnerError): :vartype code: str :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: object """ _validation = { @@ -1157,7 +1247,7 @@ class ErrorInnerError(InnerError): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'code': {'key': 'code', 'type': 'str'}, - 'inner_error': {'key': 'innerError', 'type': 'InnerError'}, + 'inner_error': {'key': 'innerError', 'type': 'object'}, } def __init__( @@ -1166,15 +1256,14 @@ def __init__( additional_properties: Optional[Dict[str, object]] = None, **kwargs ): - super(ErrorInnerError, self).__init__( - additional_properties=additional_properties, **kwargs) + super(ErrorInnerError, self).__init__(additional_properties=additional_properties, **kwargs) class ErrorResponse(msrest.serialization.Model): """Standard error response. :param error: Standard error object. - :type error: ~providerhub.models.Error + :type error: ~provider_hub.models.Error """ _attribute_map = { @@ -1203,10 +1292,10 @@ class ErrorResponseError(Error): :ivar target: Target of the error. :vartype target: str :ivar details: Array of details about specific errors that led to this reported error. - :vartype details: list[~providerhub.models.Error] + :vartype details: list[~provider_hub.models.Error] :ivar inner_error: Object containing more specific information than the current object about the error. - :vartype inner_error: ~providerhub.models.InnerError + :vartype inner_error: ~provider_hub.models.InnerError """ _validation = { @@ -1242,9 +1331,9 @@ class ExtendedErrorInfo(msrest.serialization.Model): :param message: :type message: str :param details: - :type details: list[~providerhub.models.ExtendedErrorInfo] + :type details: list[~provider_hub.models.ExtendedErrorInfo] :param additional_info: - :type additional_info: list[~providerhub.models.TypedErrorInfo] + :type additional_info: list[~provider_hub.models.TypedErrorInfo] """ _attribute_map = { @@ -1303,9 +1392,9 @@ class ExtensionOptions(msrest.serialization.Model): """ExtensionOptions. :param request: - :type request: list[str or ~providerhub.models.ExtensionOptionType] + :type request: list[str or ~provider_hub.models.ExtensionOptionType] :param response: - :type response: list[str or ~providerhub.models.ExtensionOptionType] + :type response: list[str or ~provider_hub.models.ExtensionOptionType] """ _attribute_map = { @@ -1331,7 +1420,7 @@ class FeaturesRule(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -1357,7 +1446,7 @@ class IdentityManagement(msrest.serialization.Model): :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes """ _attribute_map = { @@ -1379,7 +1468,7 @@ class IdentityManagementProperties(msrest.serialization.Model): :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes :param application_id: :type application_id: str """ @@ -1401,42 +1490,6 @@ def __init__( self.application_id = application_id -class InnerErrorautogenerated(InnerError): - """Object containing more specific information than the current object about the error. - - 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 to this - collection. - :type additional_properties: dict[str, object] - :ivar code: Specific error code than was provided by the containing error. - :vartype code: str - :ivar inner_error: Object containing more specific information than the current object about - the error. - :vartype inner_error: ~providerhub.models.InnerError - """ - - _validation = { - 'code': {'readonly': True}, - 'inner_error': {'readonly': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'code': {'key': 'code', 'type': 'str'}, - 'inner_error': {'key': 'innerError', 'type': 'InnerError'}, - } - - def __init__( - self, - *, - additional_properties: Optional[Dict[str, object]] = None, - **kwargs - ): - super(InnerErrorautogenerated, self).__init__( - additional_properties=additional_properties, **kwargs) - - class LightHouseAuthorization(msrest.serialization.Model): """LightHouseAuthorization. @@ -1518,10 +1571,10 @@ class LinkedOperationRule(msrest.serialization.Model): :param linked_operation: Required. Possible values include: "None", "CrossResourceGroupResourceMove", "CrossSubscriptionResourceMove". - :type linked_operation: str or ~providerhub.models.LinkedOperation + :type linked_operation: str or ~provider_hub.models.LinkedOperation :param linked_action: Required. Possible values include: "NotSpecified", "Blocked", "Validate", "Enabled". - :type linked_action: str or ~providerhub.models.LinkedAction + :type linked_action: str or ~provider_hub.models.LinkedAction """ _validation = { @@ -1580,11 +1633,11 @@ class LoggingRule(msrest.serialization.Model): :param action: Required. :type action: str :param direction: Required. Possible values include: "None", "Request", "Response". - :type direction: str or ~providerhub.models.LoggingDirections + :type direction: str or ~provider_hub.models.LoggingDirections :param detail_level: Required. Possible values include: "None", "Body". - :type detail_level: str or ~providerhub.models.LoggingDetails + :type detail_level: str or ~provider_hub.models.LoggingDetails :param hidden_property_paths: - :type hidden_property_paths: ~providerhub.models.LoggingHiddenPropertyPath + :type hidden_property_paths: ~provider_hub.models.LoggingHiddenPropertyPath """ _validation = { @@ -1637,8 +1690,7 @@ def __init__( hidden_paths_on_response: Optional[List[str]] = None, **kwargs ): - super(LoggingRuleHiddenPropertyPaths, self).__init__( - hidden_paths_on_request=hidden_paths_on_request, hidden_paths_on_response=hidden_paths_on_response, **kwargs) + super(LoggingRuleHiddenPropertyPaths, self).__init__(hidden_paths_on_request=hidden_paths_on_request, hidden_paths_on_response=hidden_paths_on_response, **kwargs) class NotificationEndpoint(msrest.serialization.Model): @@ -1681,7 +1733,7 @@ class NotificationRegistration(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.NotificationRegistrationProperties + :type properties: ~provider_hub.models.NotificationRegistrationProperties """ _validation = { @@ -1711,7 +1763,7 @@ class NotificationRegistrationArrayResponseWithContinuation(msrest.serialization """NotificationRegistrationArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.NotificationRegistration] + :type value: list[~provider_hub.models.NotificationRegistration] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -1728,8 +1780,7 @@ def __init__( next_link: Optional[str] = None, **kwargs ): - super(NotificationRegistrationArrayResponseWithContinuation, - self).__init__(**kwargs) + super(NotificationRegistrationArrayResponseWithContinuation, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -1738,13 +1789,13 @@ class NotificationRegistrationProperties(msrest.serialization.Model): """NotificationRegistrationProperties. :param notification_mode: Possible values include: "NotSpecified", "EventHub", "WebHook". - :type notification_mode: str or ~providerhub.models.NotificationMode + :type notification_mode: str or ~provider_hub.models.NotificationMode :param message_scope: Possible values include: "NotSpecified", "RegisteredSubscriptions". - :type message_scope: str or ~providerhub.models.MessageScope + :type message_scope: str or ~provider_hub.models.MessageScope :param included_events: :type included_events: list[str] :param notification_endpoints: - :type notification_endpoints: list[~providerhub.models.NotificationEndpoint] + :type notification_endpoints: list[~provider_hub.models.NotificationEndpoint] """ _attribute_map = { @@ -1774,13 +1825,13 @@ class NotificationRegistrationPropertiesautogenerated(NotificationRegistrationPr """NotificationRegistrationPropertiesautogenerated. :param notification_mode: Possible values include: "NotSpecified", "EventHub", "WebHook". - :type notification_mode: str or ~providerhub.models.NotificationMode + :type notification_mode: str or ~provider_hub.models.NotificationMode :param message_scope: Possible values include: "NotSpecified", "RegisteredSubscriptions". - :type message_scope: str or ~providerhub.models.MessageScope + :type message_scope: str or ~provider_hub.models.MessageScope :param included_events: :type included_events: list[str] :param notification_endpoints: - :type notification_endpoints: list[~providerhub.models.NotificationEndpoint] + :type notification_endpoints: list[~provider_hub.models.NotificationEndpoint] """ _attribute_map = { @@ -1799,8 +1850,7 @@ def __init__( notification_endpoints: Optional[List["NotificationEndpoint"]] = None, **kwargs ): - super(NotificationRegistrationPropertiesautogenerated, self).__init__(notification_mode=notification_mode, - message_scope=message_scope, included_events=included_events, notification_endpoints=notification_endpoints, **kwargs) + super(NotificationRegistrationPropertiesautogenerated, self).__init__(notification_mode=notification_mode, message_scope=message_scope, included_events=included_events, notification_endpoints=notification_endpoints, **kwargs) class OperationsContent(Resource): @@ -1821,11 +1871,11 @@ class OperationsContent(Resource): :param is_data_action: Indicates whether the operation applies to data-plane. :type is_data_action: bool :param origin: Possible values include: "NotSpecified", "User", "System". - :type origin: str or ~providerhub.models.OperationsDefinitionOrigin + :type origin: str or ~provider_hub.models.OperationsDefinitionOrigin :param display: Display information of the operation. - :type display: ~providerhub.models.OperationsDisplayDefinition + :type display: ~provider_hub.models.OperationsDisplayDefinition :param action_type: Possible values include: "NotSpecified", "Internal". - :type action_type: str or ~providerhub.models.OperationsDefinitionActionType + :type action_type: str or ~provider_hub.models.OperationsDefinitionActionType :param properties: Any object. :type properties: object """ @@ -1855,8 +1905,7 @@ def __init__( is_data_action: Optional[bool] = None, origin: Optional[Union[str, "OperationsDefinitionOrigin"]] = None, display: Optional["OperationsDisplayDefinition"] = None, - action_type: Optional[Union[str, - "OperationsDefinitionActionType"]] = None, + action_type: Optional[Union[str, "OperationsDefinitionActionType"]] = None, properties: Optional[object] = None, **kwargs ): @@ -1879,11 +1928,11 @@ class OperationsDefinition(msrest.serialization.Model): :param is_data_action: Indicates whether the operation applies to data-plane. :type is_data_action: bool :param origin: Possible values include: "NotSpecified", "User", "System". - :type origin: str or ~providerhub.models.OperationsDefinitionOrigin + :type origin: str or ~provider_hub.models.OperationsDefinitionOrigin :param display: Required. Display information of the operation. - :type display: ~providerhub.models.OperationsDisplayDefinition + :type display: ~provider_hub.models.OperationsDisplayDefinition :param action_type: Possible values include: "NotSpecified", "Internal". - :type action_type: str or ~providerhub.models.OperationsDefinitionActionType + :type action_type: str or ~provider_hub.models.OperationsDefinitionActionType :param properties: Any object. :type properties: object """ @@ -1909,8 +1958,7 @@ def __init__( display: "OperationsDisplayDefinition", is_data_action: Optional[bool] = None, origin: Optional[Union[str, "OperationsDefinitionOrigin"]] = None, - action_type: Optional[Union[str, - "OperationsDefinitionActionType"]] = None, + action_type: Optional[Union[str, "OperationsDefinitionActionType"]] = None, properties: Optional[object] = None, **kwargs ): @@ -1927,7 +1975,7 @@ class OperationsDefinitionArrayResponseWithContinuation(msrest.serialization.Mod """OperationsDefinitionArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.OperationsDefinition] + :type value: list[~provider_hub.models.OperationsDefinition] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -1944,8 +1992,7 @@ def __init__( next_link: Optional[str] = None, **kwargs ): - super(OperationsDefinitionArrayResponseWithContinuation, - self).__init__(**kwargs) + super(OperationsDefinitionArrayResponseWithContinuation, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -2033,19 +2080,45 @@ def __init__( description: str, **kwargs ): - super(OperationsDefinitionDisplay, self).__init__(provider=provider, - resource=resource, operation=operation, description=description, **kwargs) + super(OperationsDefinitionDisplay, self).__init__(provider=provider, resource=resource, operation=operation, description=description, **kwargs) + + +class OperationsPutContent(msrest.serialization.Model): + """OperationsPutContent. + + All required parameters must be populated in order to send to Azure. + + :param contents: Required. + :type contents: list[~provider_hub.models.OperationsDefinition] + """ + + _validation = { + 'contents': {'required': True}, + } + + _attribute_map = { + 'contents': {'key': 'contents', 'type': '[OperationsDefinition]'}, + } + + def __init__( + self, + *, + contents: List["OperationsDefinition"], + **kwargs + ): + super(OperationsPutContent, self).__init__(**kwargs) + self.contents = contents class ProviderHubMetadata(msrest.serialization.Model): """ProviderHubMetadata. :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param third_party_provider_authorization: - :type third_party_provider_authorization: ~providerhub.models.ThirdPartyProviderAuthorization + :type third_party_provider_authorization: ~provider_hub.models.ThirdPartyProviderAuthorization """ _attribute_map = { @@ -2118,15 +2191,14 @@ def __init__( allowed_audiences: List[str], **kwargs ): - super(ProviderHubMetadataProviderAuthentication, self).__init__( - allowed_audiences=allowed_audiences, **kwargs) + super(ProviderHubMetadataProviderAuthentication, self).__init__(allowed_audiences=allowed_audiences, **kwargs) class ThirdPartyProviderAuthorization(msrest.serialization.Model): """ThirdPartyProviderAuthorization. :param authorizations: - :type authorizations: list[~providerhub.models.LightHouseAuthorization] + :type authorizations: list[~provider_hub.models.LightHouseAuthorization] :param managed_by_tenant_id: :type managed_by_tenant_id: str """ @@ -2152,7 +2224,7 @@ class ProviderHubMetadataThirdPartyProviderAuthorization(ThirdPartyProviderAutho """ProviderHubMetadataThirdPartyProviderAuthorization. :param authorizations: - :type authorizations: list[~providerhub.models.LightHouseAuthorization] + :type authorizations: list[~provider_hub.models.LightHouseAuthorization] :param managed_by_tenant_id: :type managed_by_tenant_id: str """ @@ -2169,15 +2241,14 @@ def __init__( managed_by_tenant_id: Optional[str] = None, **kwargs ): - super(ProviderHubMetadataThirdPartyProviderAuthorization, self).__init__( - authorizations=authorizations, managed_by_tenant_id=managed_by_tenant_id, **kwargs) + super(ProviderHubMetadataThirdPartyProviderAuthorization, self).__init__(authorizations=authorizations, managed_by_tenant_id=managed_by_tenant_id, **kwargs) class ProviderRegistrationArrayResponseWithContinuation(msrest.serialization.Model): """ProviderRegistrationArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.ProviderRegistration] + :type value: list[~provider_hub.models.ProviderRegistration] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -2194,8 +2265,7 @@ def __init__( next_link: Optional[str] = None, **kwargs ): - super(ProviderRegistrationArrayResponseWithContinuation, - self).__init__(**kwargs) + super(ProviderRegistrationArrayResponseWithContinuation, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -2204,30 +2274,30 @@ class ResourceProviderManifestProperties(msrest.serialization.Model): """ResourceProviderManifestProperties. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions """ _attribute_map = { @@ -2281,39 +2351,39 @@ class ProviderRegistrationProperties(ResourceProviderManifestProperties): """ProviderRegistrationProperties. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param provider_hub_metadata: - :type provider_hub_metadata: ~providerhub.models.ProviderHubMetadata + :type provider_hub_metadata: ~provider_hub.models.ProviderHubMetadata :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications """ _attribute_map = { @@ -2351,12 +2421,10 @@ def __init__( template_deployment_options: Optional["TemplateDeploymentOptions"] = None, provider_hub_metadata: Optional["ProviderHubMetadata"] = None, provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, - subscription_lifecycle_notification_specifications: Optional[ - "SubscriptionLifecycleNotificationSpecifications"] = None, + subscription_lifecycle_notification_specifications: Optional["SubscriptionLifecycleNotificationSpecifications"] = None, **kwargs ): - super(ProviderRegistrationProperties, self).__init__(provider_authentication=provider_authentication, provider_authorizations=provider_authorizations, namespace=namespace, provider_version=provider_version, provider_type=provider_type, - required_features=required_features, features_rule=features_rule, request_header_options=request_header_options, management=management, capabilities=capabilities, metadata=metadata, template_deployment_options=template_deployment_options, **kwargs) + super(ProviderRegistrationProperties, self).__init__(provider_authentication=provider_authentication, provider_authorizations=provider_authorizations, namespace=namespace, provider_version=provider_version, provider_type=provider_type, required_features=required_features, features_rule=features_rule, request_header_options=request_header_options, management=management, capabilities=capabilities, metadata=metadata, template_deployment_options=template_deployment_options, **kwargs) self.provider_hub_metadata = provider_hub_metadata self.provisioning_state = provisioning_state self.subscription_lifecycle_notification_specifications = subscription_lifecycle_notification_specifications @@ -2366,39 +2434,39 @@ class ProviderRegistrationPropertiesautogenerated(ProviderRegistrationProperties """ProviderRegistrationPropertiesautogenerated. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param provider_hub_metadata: - :type provider_hub_metadata: ~providerhub.models.ProviderHubMetadata + :type provider_hub_metadata: ~provider_hub.models.ProviderHubMetadata :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications """ _attribute_map = { @@ -2436,23 +2504,21 @@ def __init__( template_deployment_options: Optional["TemplateDeploymentOptions"] = None, provider_hub_metadata: Optional["ProviderHubMetadata"] = None, provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, - subscription_lifecycle_notification_specifications: Optional[ - "SubscriptionLifecycleNotificationSpecifications"] = None, + subscription_lifecycle_notification_specifications: Optional["SubscriptionLifecycleNotificationSpecifications"] = None, **kwargs ): - super(ProviderRegistrationPropertiesautogenerated, self).__init__(provider_authentication=provider_authentication, provider_authorizations=provider_authorizations, namespace=namespace, provider_version=provider_version, provider_type=provider_type, required_features=required_features, features_rule=features_rule, request_header_options=request_header_options, - management=management, capabilities=capabilities, metadata=metadata, template_deployment_options=template_deployment_options, provider_hub_metadata=provider_hub_metadata, provisioning_state=provisioning_state, subscription_lifecycle_notification_specifications=subscription_lifecycle_notification_specifications, **kwargs) + super(ProviderRegistrationPropertiesautogenerated, self).__init__(provider_authentication=provider_authentication, provider_authorizations=provider_authorizations, namespace=namespace, provider_version=provider_version, provider_type=provider_type, required_features=required_features, features_rule=features_rule, request_header_options=request_header_options, management=management, capabilities=capabilities, metadata=metadata, template_deployment_options=template_deployment_options, provider_hub_metadata=provider_hub_metadata, provisioning_state=provisioning_state, subscription_lifecycle_notification_specifications=subscription_lifecycle_notification_specifications, **kwargs) class ProviderRegistrationPropertiesProviderHubMetadata(ProviderHubMetadata): """ProviderRegistrationPropertiesProviderHubMetadata. :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param third_party_provider_authorization: - :type third_party_provider_authorization: ~providerhub.models.ThirdPartyProviderAuthorization + :type third_party_provider_authorization: ~provider_hub.models.ThirdPartyProviderAuthorization """ _attribute_map = { @@ -2469,8 +2535,7 @@ def __init__( third_party_provider_authorization: Optional["ThirdPartyProviderAuthorization"] = None, **kwargs ): - super(ProviderRegistrationPropertiesProviderHubMetadata, self).__init__(provider_authorizations=provider_authorizations, - provider_authentication=provider_authentication, third_party_provider_authorization=third_party_provider_authorization, **kwargs) + super(ProviderRegistrationPropertiesProviderHubMetadata, self).__init__(provider_authorizations=provider_authorizations, provider_authentication=provider_authentication, third_party_provider_authorization=third_party_provider_authorization, **kwargs) class SubscriptionLifecycleNotificationSpecifications(msrest.serialization.Model): @@ -2478,7 +2543,7 @@ class SubscriptionLifecycleNotificationSpecifications(msrest.serialization.Model :param subscription_state_override_actions: :type subscription_state_override_actions: - list[~providerhub.models.SubscriptionStateOverrideAction] + list[~provider_hub.models.SubscriptionStateOverrideAction] :param soft_delete_ttl: :type soft_delete_ttl: ~datetime.timedelta """ @@ -2495,8 +2560,7 @@ def __init__( soft_delete_ttl: Optional[datetime.timedelta] = None, **kwargs ): - super(SubscriptionLifecycleNotificationSpecifications, - self).__init__(**kwargs) + super(SubscriptionLifecycleNotificationSpecifications, self).__init__(**kwargs) self.subscription_state_override_actions = subscription_state_override_actions self.soft_delete_ttl = soft_delete_ttl @@ -2506,7 +2570,7 @@ class ProviderRegistrationPropertiesSubscriptionLifecycleNotificationSpecificati :param subscription_state_override_actions: :type subscription_state_override_actions: - list[~providerhub.models.SubscriptionStateOverrideAction] + list[~provider_hub.models.SubscriptionStateOverrideAction] :param soft_delete_ttl: :type soft_delete_ttl: ~datetime.timedelta """ @@ -2523,12 +2587,11 @@ def __init__( soft_delete_ttl: Optional[datetime.timedelta] = None, **kwargs ): - super(ProviderRegistrationPropertiesSubscriptionLifecycleNotificationSpecifications, self).__init__( - subscription_state_override_actions=subscription_state_override_actions, soft_delete_ttl=soft_delete_ttl, **kwargs) + super(ProviderRegistrationPropertiesSubscriptionLifecycleNotificationSpecifications, self).__init__(subscription_state_override_actions=subscription_state_override_actions, soft_delete_ttl=soft_delete_ttl, **kwargs) class ProxyResource(Resource): - """The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags. + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. Variables are only populated by the server, and will be ignored when sending a request. @@ -2566,7 +2629,7 @@ class RequestHeaderOptions(msrest.serialization.Model): :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -2685,7 +2748,7 @@ class ResourceProviderCapabilities(msrest.serialization.Model): :param quota_id: Required. :type quota_id: str :param effect: Required. Possible values include: "NotSpecified", "Allow", "Disallow". - :type effect: str or ~providerhub.models.ResourceProviderCapabilitiesEffect + :type effect: str or ~provider_hub.models.ResourceProviderCapabilitiesEffect :param required_features: :type required_features: list[str] """ @@ -2729,7 +2792,7 @@ class ResourceProviderEndpoint(msrest.serialization.Model): :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param timeout: :type timeout: ~datetime.timedelta """ @@ -2772,7 +2835,7 @@ class ResourceProviderEndpointFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -2789,8 +2852,7 @@ def __init__( required_features_policy: Union[str, "FeaturesPolicy"], **kwargs ): - super(ResourceProviderEndpointFeaturesRule, self).__init__( - required_features_policy=required_features_policy, **kwargs) + super(ResourceProviderEndpointFeaturesRule, self).__init__(required_features_policy=required_features_policy, **kwargs) class ResourceProviderManagement(msrest.serialization.Model): @@ -2807,11 +2869,11 @@ class ResourceProviderManagement(msrest.serialization.Model): :param incident_contact_email: :type incident_contact_email: str :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param resource_access_policy: Possible values include: "NotSpecified", "AcisReadAllowed", "AcisActionAllowed". :type resource_access_policy: str or - ~providerhub.models.ResourceProviderManagementResourceAccessPolicy + ~provider_hub.models.ResourceProviderManagementResourceAccessPolicy :param resource_access_roles: :type resource_access_roles: list[object] """ @@ -2836,8 +2898,7 @@ def __init__( incident_routing_team: Optional[str] = None, incident_contact_email: Optional[str] = None, service_tree_infos: Optional[List["ServiceTreeInfo"]] = None, - resource_access_policy: Optional[Union[str, - "ResourceProviderManagementResourceAccessPolicy"]] = None, + resource_access_policy: Optional[Union[str, "ResourceProviderManagementResourceAccessPolicy"]] = None, resource_access_roles: Optional[List[object]] = None, **kwargs ): @@ -2856,34 +2917,34 @@ class ResourceProviderManifest(msrest.serialization.Model): """ResourceProviderManifest. :param provider_authentication: - :type provider_authentication: ~providerhub.models.ResourceProviderAuthentication + :type provider_authentication: ~provider_hub.models.ResourceProviderAuthentication :param provider_authorizations: - :type provider_authorizations: list[~providerhub.models.ResourceProviderAuthorization] + :type provider_authorizations: list[~provider_hub.models.ResourceProviderAuthorization] :param namespace: :type namespace: str :param provider_version: :type provider_version: str :param provider_type: Possible values include: "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree". - :type provider_type: str or ~providerhub.models.ResourceProviderType + :type provider_type: str or ~provider_hub.models.ResourceProviderType :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param resource_types: - :type resource_types: list[~providerhub.models.ResourceType] + :type resource_types: list[~provider_hub.models.ResourceType] :param management: - :type management: ~providerhub.models.ResourceProviderManagement + :type management: ~provider_hub.models.ResourceProviderManagement :param capabilities: - :type capabilities: list[~providerhub.models.ResourceProviderCapabilities] + :type capabilities: list[~provider_hub.models.ResourceProviderCapabilities] :param metadata: Any object. :type metadata: object :param global_notification_endpoints: - :type global_notification_endpoints: list[~providerhub.models.ResourceProviderEndpoint] + :type global_notification_endpoints: list[~provider_hub.models.ResourceProviderEndpoint] :param re_register_subscription_metadata: - :type re_register_subscription_metadata: ~providerhub.models.ReRegisterSubscriptionMetadata + :type re_register_subscription_metadata: ~provider_hub.models.ReRegisterSubscriptionMetadata """ _attribute_map = { @@ -2945,7 +3006,7 @@ class ResourceProviderManifestFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -2962,8 +3023,7 @@ def __init__( required_features_policy: Union[str, "FeaturesPolicy"], **kwargs ): - super(ResourceProviderManifestFeaturesRule, self).__init__( - required_features_policy=required_features_policy, **kwargs) + super(ResourceProviderManifestFeaturesRule, self).__init__(required_features_policy=required_features_policy, **kwargs) class ResourceProviderManifestManagement(ResourceProviderManagement): @@ -2980,11 +3040,11 @@ class ResourceProviderManifestManagement(ResourceProviderManagement): :param incident_contact_email: :type incident_contact_email: str :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param resource_access_policy: Possible values include: "NotSpecified", "AcisReadAllowed", "AcisActionAllowed". :type resource_access_policy: str or - ~providerhub.models.ResourceProviderManagementResourceAccessPolicy + ~provider_hub.models.ResourceProviderManagementResourceAccessPolicy :param resource_access_roles: :type resource_access_roles: list[object] """ @@ -3009,13 +3069,11 @@ def __init__( incident_routing_team: Optional[str] = None, incident_contact_email: Optional[str] = None, service_tree_infos: Optional[List["ServiceTreeInfo"]] = None, - resource_access_policy: Optional[Union[str, - "ResourceProviderManagementResourceAccessPolicy"]] = None, + resource_access_policy: Optional[Union[str, "ResourceProviderManagementResourceAccessPolicy"]] = None, resource_access_roles: Optional[List[object]] = None, **kwargs ): - super(ResourceProviderManifestManagement, self).__init__(schema_owners=schema_owners, manifest_owners=manifest_owners, incident_routing_service=incident_routing_service, incident_routing_team=incident_routing_team, - incident_contact_email=incident_contact_email, service_tree_infos=service_tree_infos, resource_access_policy=resource_access_policy, resource_access_roles=resource_access_roles, **kwargs) + super(ResourceProviderManifestManagement, self).__init__(schema_owners=schema_owners, manifest_owners=manifest_owners, incident_routing_service=incident_routing_service, incident_routing_team=incident_routing_team, incident_contact_email=incident_contact_email, service_tree_infos=service_tree_infos, resource_access_policy=resource_access_policy, resource_access_roles=resource_access_roles, **kwargs) class ResourceProviderManifestPropertiesFeaturesRule(FeaturesRule): @@ -3024,7 +3082,7 @@ class ResourceProviderManifestPropertiesFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -3041,8 +3099,7 @@ def __init__( required_features_policy: Union[str, "FeaturesPolicy"], **kwargs ): - super(ResourceProviderManifestPropertiesFeaturesRule, self).__init__( - required_features_policy=required_features_policy, **kwargs) + super(ResourceProviderManifestPropertiesFeaturesRule, self).__init__(required_features_policy=required_features_policy, **kwargs) class ResourceProviderManifestPropertiesManagement(ResourceProviderManagement): @@ -3059,11 +3116,11 @@ class ResourceProviderManifestPropertiesManagement(ResourceProviderManagement): :param incident_contact_email: :type incident_contact_email: str :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param resource_access_policy: Possible values include: "NotSpecified", "AcisReadAllowed", "AcisActionAllowed". :type resource_access_policy: str or - ~providerhub.models.ResourceProviderManagementResourceAccessPolicy + ~provider_hub.models.ResourceProviderManagementResourceAccessPolicy :param resource_access_roles: :type resource_access_roles: list[object] """ @@ -3088,13 +3145,11 @@ def __init__( incident_routing_team: Optional[str] = None, incident_contact_email: Optional[str] = None, service_tree_infos: Optional[List["ServiceTreeInfo"]] = None, - resource_access_policy: Optional[Union[str, - "ResourceProviderManagementResourceAccessPolicy"]] = None, + resource_access_policy: Optional[Union[str, "ResourceProviderManagementResourceAccessPolicy"]] = None, resource_access_roles: Optional[List[object]] = None, **kwargs ): - super(ResourceProviderManifestPropertiesManagement, self).__init__(schema_owners=schema_owners, manifest_owners=manifest_owners, incident_routing_service=incident_routing_service, incident_routing_team=incident_routing_team, - incident_contact_email=incident_contact_email, service_tree_infos=service_tree_infos, resource_access_policy=resource_access_policy, resource_access_roles=resource_access_roles, **kwargs) + super(ResourceProviderManifestPropertiesManagement, self).__init__(schema_owners=schema_owners, manifest_owners=manifest_owners, incident_routing_service=incident_routing_service, incident_routing_team=incident_routing_team, incident_contact_email=incident_contact_email, service_tree_infos=service_tree_infos, resource_access_policy=resource_access_policy, resource_access_roles=resource_access_roles, **kwargs) class ResourceProviderManifestPropertiesProviderAuthentication(ResourceProviderAuthentication): @@ -3120,8 +3175,7 @@ def __init__( allowed_audiences: List[str], **kwargs ): - super(ResourceProviderManifestPropertiesProviderAuthentication, - self).__init__(allowed_audiences=allowed_audiences, **kwargs) + super(ResourceProviderManifestPropertiesProviderAuthentication, self).__init__(allowed_audiences=allowed_audiences, **kwargs) class ResourceProviderManifestPropertiesRequestHeaderOptions(RequestHeaderOptions): @@ -3129,7 +3183,7 @@ class ResourceProviderManifestPropertiesRequestHeaderOptions(RequestHeaderOption :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -3142,8 +3196,7 @@ def __init__( opt_in_headers: Optional[Union[str, "OptInHeaderType"]] = None, **kwargs ): - super(ResourceProviderManifestPropertiesRequestHeaderOptions, - self).__init__(opt_in_headers=opt_in_headers, **kwargs) + super(ResourceProviderManifestPropertiesRequestHeaderOptions, self).__init__(opt_in_headers=opt_in_headers, **kwargs) class TemplateDeploymentOptions(msrest.serialization.Model): @@ -3152,7 +3205,7 @@ class TemplateDeploymentOptions(msrest.serialization.Model): :param preflight_supported: :type preflight_supported: bool :param preflight_options: - :type preflight_options: list[str or ~providerhub.models.PreflightOption] + :type preflight_options: list[str or ~provider_hub.models.PreflightOption] """ _attribute_map = { @@ -3164,8 +3217,7 @@ def __init__( self, *, preflight_supported: Optional[bool] = None, - preflight_options: Optional[List[Union[str, - "PreflightOption"]]] = None, + preflight_options: Optional[List[Union[str, "PreflightOption"]]] = None, **kwargs ): super(TemplateDeploymentOptions, self).__init__(**kwargs) @@ -3179,7 +3231,7 @@ class ResourceProviderManifestPropertiesTemplateDeploymentOptions(TemplateDeploy :param preflight_supported: :type preflight_supported: bool :param preflight_options: - :type preflight_options: list[str or ~providerhub.models.PreflightOption] + :type preflight_options: list[str or ~provider_hub.models.PreflightOption] """ _attribute_map = { @@ -3191,12 +3243,10 @@ def __init__( self, *, preflight_supported: Optional[bool] = None, - preflight_options: Optional[List[Union[str, - "PreflightOption"]]] = None, + preflight_options: Optional[List[Union[str, "PreflightOption"]]] = None, **kwargs ): - super(ResourceProviderManifestPropertiesTemplateDeploymentOptions, self).__init__( - preflight_supported=preflight_supported, preflight_options=preflight_options, **kwargs) + super(ResourceProviderManifestPropertiesTemplateDeploymentOptions, self).__init__(preflight_supported=preflight_supported, preflight_options=preflight_options, **kwargs) class ResourceProviderManifestProviderAuthentication(ResourceProviderAuthentication): @@ -3222,8 +3272,7 @@ def __init__( allowed_audiences: List[str], **kwargs ): - super(ResourceProviderManifestProviderAuthentication, self).__init__( - allowed_audiences=allowed_audiences, **kwargs) + super(ResourceProviderManifestProviderAuthentication, self).__init__(allowed_audiences=allowed_audiences, **kwargs) class ResourceProviderManifestRequestHeaderOptions(RequestHeaderOptions): @@ -3231,7 +3280,7 @@ class ResourceProviderManifestRequestHeaderOptions(RequestHeaderOptions): :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -3244,8 +3293,7 @@ def __init__( opt_in_headers: Optional[Union[str, "OptInHeaderType"]] = None, **kwargs ): - super(ResourceProviderManifestRequestHeaderOptions, self).__init__( - opt_in_headers=opt_in_headers, **kwargs) + super(ResourceProviderManifestRequestHeaderOptions, self).__init__(opt_in_headers=opt_in_headers, **kwargs) class ResourceProviderManifestReRegisterSubscriptionMetadata(ReRegisterSubscriptionMetadata): @@ -3275,8 +3323,7 @@ def __init__( concurrency_limit: Optional[int] = None, **kwargs ): - super(ResourceProviderManifestReRegisterSubscriptionMetadata, self).__init__( - enabled=enabled, concurrency_limit=concurrency_limit, **kwargs) + super(ResourceProviderManifestReRegisterSubscriptionMetadata, self).__init__(enabled=enabled, concurrency_limit=concurrency_limit, **kwargs) class ResourceType(msrest.serialization.Model): @@ -3286,52 +3333,52 @@ class ResourceType(msrest.serialization.Model): :type name: str :param routing_type: Possible values include: "Default", "ProxyOnly", "HostBased", "Extension", "Tenant", "Fanout", "LocationBased", "Failover", "CascadeExtension". - :type routing_type: str or ~providerhub.models.RoutingType + :type routing_type: str or ~provider_hub.models.RoutingType :param resource_validation: Possible values include: "NotSpecified", "ReservedWords", "ProfaneWords". - :type resource_validation: str or ~providerhub.models.ResourceValidation + :type resource_validation: str or ~provider_hub.models.ResourceValidation :param allowed_unauthorized_actions: :type allowed_unauthorized_actions: list[str] :param authorization_action_mappings: - :type authorization_action_mappings: list[~providerhub.models.AuthorizationActionMapping] + :type authorization_action_mappings: list[~provider_hub.models.AuthorizationActionMapping] :param linked_access_checks: - :type linked_access_checks: list[~providerhub.models.LinkedAccessCheck] + :type linked_access_checks: list[~provider_hub.models.LinkedAccessCheck] :param default_api_version: :type default_api_version: str :param logging_rules: - :type logging_rules: list[~providerhub.models.LoggingRule] + :type logging_rules: list[~provider_hub.models.LoggingRule] :param throttling_rules: - :type throttling_rules: list[~providerhub.models.ThrottlingRule] + :type throttling_rules: list[~provider_hub.models.ThrottlingRule] :param endpoints: - :type endpoints: list[~providerhub.models.ResourceProviderEndpoint] + :type endpoints: list[~provider_hub.models.ResourceProviderEndpoint] :param marketplace_type: Possible values include: "NotSpecified", "AddOn", "Bypass", "Store". - :type marketplace_type: str or ~providerhub.models.ResourceTypeMarketplaceType + :type marketplace_type: str or ~provider_hub.models.ResourceTypeMarketplaceType :param identity_management: - :type identity_management: ~providerhub.models.IdentityManagement + :type identity_management: ~provider_hub.models.IdentityManagement :param metadata: Any object. :type metadata: object :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param subscription_state_rules: - :type subscription_state_rules: list[~providerhub.models.SubscriptionStateRule] + :type subscription_state_rules: list[~provider_hub.models.SubscriptionStateRule] :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param sku_link: :type sku_link: str :param disallowed_action_verbs: :type disallowed_action_verbs: list[str] :param template_deployment_policy: - :type template_deployment_policy: ~providerhub.models.TemplateDeploymentPolicy + :type template_deployment_policy: ~provider_hub.models.TemplateDeploymentPolicy :param extended_locations: - :type extended_locations: list[~providerhub.models.ExtendedLocationOptions] + :type extended_locations: list[~provider_hub.models.ExtendedLocationOptions] :param linked_operation_rules: - :type linked_operation_rules: list[~providerhub.models.LinkedOperationRule] + :type linked_operation_rules: list[~provider_hub.models.LinkedOperationRule] :param resource_deletion_policy: Possible values include: "NotSpecified", "Cascade", "Force". - :type resource_deletion_policy: str or ~providerhub.models.ManifestResourceDeletionPolicy + :type resource_deletion_policy: str or ~provider_hub.models.ManifestResourceDeletionPolicy """ _attribute_map = { @@ -3374,8 +3421,7 @@ def __init__( logging_rules: Optional[List["LoggingRule"]] = None, throttling_rules: Optional[List["ThrottlingRule"]] = None, endpoints: Optional[List["ResourceProviderEndpoint"]] = None, - marketplace_type: Optional[Union[str, - "ResourceTypeMarketplaceType"]] = None, + marketplace_type: Optional[Union[str, "ResourceTypeMarketplaceType"]] = None, identity_management: Optional["IdentityManagement"] = None, metadata: Optional[object] = None, required_features: Optional[List[str]] = None, @@ -3388,8 +3434,7 @@ def __init__( template_deployment_policy: Optional["TemplateDeploymentPolicy"] = None, extended_locations: Optional[List["ExtendedLocationOptions"]] = None, linked_operation_rules: Optional[List["LinkedOperationRule"]] = None, - resource_deletion_policy: Optional[Union[str, - "ManifestResourceDeletionPolicy"]] = None, + resource_deletion_policy: Optional[Union[str, "ManifestResourceDeletionPolicy"]] = None, **kwargs ): super(ResourceType, self).__init__(**kwargs) @@ -3431,9 +3476,9 @@ class ResourceTypeEndpoint(msrest.serialization.Model): :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param extensions: - :type extensions: list[~providerhub.models.ResourceTypeExtension] + :type extensions: list[~provider_hub.models.ResourceTypeExtension] :param timeout: :type timeout: ~datetime.timedelta """ @@ -3476,7 +3521,7 @@ class ResourceTypeEndpointFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -3493,8 +3538,7 @@ def __init__( required_features_policy: Union[str, "FeaturesPolicy"], **kwargs ): - super(ResourceTypeEndpointFeaturesRule, self).__init__( - required_features_policy=required_features_policy, **kwargs) + super(ResourceTypeEndpointFeaturesRule, self).__init__(required_features_policy=required_features_policy, **kwargs) class ResourceTypeExtension(msrest.serialization.Model): @@ -3503,7 +3547,7 @@ class ResourceTypeExtension(msrest.serialization.Model): :param endpoint_uri: :type endpoint_uri: str :param extension_categories: - :type extension_categories: list[str or ~providerhub.models.ExtensionCategory] + :type extension_categories: list[str or ~provider_hub.models.ExtensionCategory] :param timeout: :type timeout: ~datetime.timedelta """ @@ -3518,8 +3562,7 @@ def __init__( self, *, endpoint_uri: Optional[str] = None, - extension_categories: Optional[List[Union[str, - "ExtensionCategory"]]] = None, + extension_categories: Optional[List[Union[str, "ExtensionCategory"]]] = None, timeout: Optional[datetime.timedelta] = None, **kwargs ): @@ -3533,60 +3576,30 @@ class ResourceTypeExtensionOptions(msrest.serialization.Model): """ResourceTypeExtensionOptions. :param resource_creation_begin: - :type resource_creation_begin: ~providerhub.models.ExtensionOptions - :param resource_patch_begin: - :type resource_patch_begin: ~providerhub.models.ExtensionOptions + :type resource_creation_begin: ~provider_hub.models.ExtensionOptions """ _attribute_map = { 'resource_creation_begin': {'key': 'resourceCreationBegin', 'type': 'ExtensionOptions'}, - 'resource_patch_begin': {'key': 'resourcePatchBegin', 'type': 'ExtensionOptions'}, } def __init__( self, *, resource_creation_begin: Optional["ExtensionOptions"] = None, - resource_patch_begin: Optional["ExtensionOptions"] = None, **kwargs ): super(ResourceTypeExtensionOptions, self).__init__(**kwargs) self.resource_creation_begin = resource_creation_begin - self.resource_patch_begin = resource_patch_begin class ResourceTypeExtensionOptionsResourceCreationBegin(ExtensionOptions): """ResourceTypeExtensionOptionsResourceCreationBegin. :param request: - :type request: list[str or ~providerhub.models.ExtensionOptionType] - :param response: - :type response: list[str or ~providerhub.models.ExtensionOptionType] - """ - - _attribute_map = { - 'request': {'key': 'request', 'type': '[str]'}, - 'response': {'key': 'response', 'type': '[str]'}, - } - - def __init__( - self, - *, - request: Optional[List[Union[str, "ExtensionOptionType"]]] = None, - response: Optional[List[Union[str, "ExtensionOptionType"]]] = None, - **kwargs - ): - super(ResourceTypeExtensionOptionsResourceCreationBegin, self).__init__( - request=request, response=response, **kwargs) - - -class ResourceTypeExtensionOptionsResourcePatchBegin(ExtensionOptions): - """ResourceTypeExtensionOptionsResourcePatchBegin. - - :param request: - :type request: list[str or ~providerhub.models.ExtensionOptionType] + :type request: list[str or ~provider_hub.models.ExtensionOptionType] :param response: - :type response: list[str or ~providerhub.models.ExtensionOptionType] + :type response: list[str or ~provider_hub.models.ExtensionOptionType] """ _attribute_map = { @@ -3601,8 +3614,7 @@ def __init__( response: Optional[List[Union[str, "ExtensionOptionType"]]] = None, **kwargs ): - super(ResourceTypeExtensionOptionsResourcePatchBegin, self).__init__( - request=request, response=response, **kwargs) + super(ResourceTypeExtensionOptionsResourceCreationBegin, self).__init__(request=request, response=response, **kwargs) class ResourceTypeFeaturesRule(FeaturesRule): @@ -3611,7 +3623,7 @@ class ResourceTypeFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -3628,8 +3640,7 @@ def __init__( required_features_policy: Union[str, "FeaturesPolicy"], **kwargs ): - super(ResourceTypeFeaturesRule, self).__init__( - required_features_policy=required_features_policy, **kwargs) + super(ResourceTypeFeaturesRule, self).__init__(required_features_policy=required_features_policy, **kwargs) class ResourceTypeIdentityManagement(IdentityManagement): @@ -3637,7 +3648,7 @@ class ResourceTypeIdentityManagement(IdentityManagement): :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes """ _attribute_map = { @@ -3650,8 +3661,7 @@ def __init__( type: Optional[Union[str, "IdentityManagementTypes"]] = None, **kwargs ): - super(ResourceTypeIdentityManagement, - self).__init__(type=type, **kwargs) + super(ResourceTypeIdentityManagement, self).__init__(type=type, **kwargs) class ResourceTypeRegistration(Resource): @@ -3668,7 +3678,7 @@ class ResourceTypeRegistration(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ResourceTypeRegistrationProperties + :type properties: ~provider_hub.models.ResourceTypeRegistrationProperties """ _validation = { @@ -3698,7 +3708,7 @@ class ResourceTypeRegistrationArrayResponseWithContinuation(msrest.serialization """ResourceTypeRegistrationArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.ResourceTypeRegistration] + :type value: list[~provider_hub.models.ResourceTypeRegistration] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -3715,8 +3725,7 @@ def __init__( next_link: Optional[str] = None, **kwargs ): - super(ResourceTypeRegistrationArrayResponseWithContinuation, - self).__init__(**kwargs) + super(ResourceTypeRegistrationArrayResponseWithContinuation, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -3726,69 +3735,69 @@ class ResourceTypeRegistrationProperties(msrest.serialization.Model): :param routing_type: Possible values include: "Default", "ProxyOnly", "HostBased", "Extension", "Tenant", "Fanout", "LocationBased", "Failover", "CascadeExtension". - :type routing_type: str or ~providerhub.models.RoutingType + :type routing_type: str or ~provider_hub.models.RoutingType :param regionality: Possible values include: "NotSpecified", "Global", "Regional". - :type regionality: str or ~providerhub.models.Regionality + :type regionality: str or ~provider_hub.models.Regionality :param endpoints: - :type endpoints: list[~providerhub.models.ResourceTypeEndpoint] + :type endpoints: list[~provider_hub.models.ResourceTypeEndpoint] :param extension_options: - :type extension_options: ~providerhub.models.ResourceTypeExtensionOptions + :type extension_options: ~provider_hub.models.ResourceTypeExtensionOptions :param marketplace_type: Possible values include: "NotSpecified", "AddOn", "Bypass", "Store". :type marketplace_type: str or - ~providerhub.models.ResourceTypeRegistrationPropertiesMarketplaceType + ~provider_hub.models.ResourceTypeRegistrationPropertiesMarketplaceType :param swagger_specifications: - :type swagger_specifications: list[~providerhub.models.SwaggerSpecification] + :type swagger_specifications: list[~provider_hub.models.SwaggerSpecification] :param allowed_unauthorized_actions: :type allowed_unauthorized_actions: list[str] :param authorization_action_mappings: - :type authorization_action_mappings: list[~providerhub.models.AuthorizationActionMapping] + :type authorization_action_mappings: list[~provider_hub.models.AuthorizationActionMapping] :param linked_access_checks: - :type linked_access_checks: list[~providerhub.models.LinkedAccessCheck] + :type linked_access_checks: list[~provider_hub.models.LinkedAccessCheck] :param default_api_version: :type default_api_version: str :param logging_rules: - :type logging_rules: list[~providerhub.models.LoggingRule] + :type logging_rules: list[~provider_hub.models.LoggingRule] :param throttling_rules: - :type throttling_rules: list[~providerhub.models.ThrottlingRule] + :type throttling_rules: list[~provider_hub.models.ThrottlingRule] :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param enable_async_operation: :type enable_async_operation: bool :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param enable_third_party_s2s: :type enable_third_party_s2s: bool :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications :param is_pure_proxy: :type is_pure_proxy: bool :param identity_management: - :type identity_management: ~providerhub.models.IdentityManagementProperties + :type identity_management: ~provider_hub.models.IdentityManagementProperties :param check_name_availability_specifications: :type check_name_availability_specifications: - ~providerhub.models.CheckNameAvailabilitySpecifications + ~provider_hub.models.CheckNameAvailabilitySpecifications :param disallowed_action_verbs: :type disallowed_action_verbs: list[str] :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param subscription_state_rules: - :type subscription_state_rules: list[~providerhub.models.SubscriptionStateRule] + :type subscription_state_rules: list[~provider_hub.models.SubscriptionStateRule] :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param extended_locations: - :type extended_locations: list[~providerhub.models.ExtendedLocationOptions] + :type extended_locations: list[~provider_hub.models.ExtendedLocationOptions] :param resource_move_policy: - :type resource_move_policy: ~providerhub.models.ResourceMovePolicy + :type resource_move_policy: ~provider_hub.models.ResourceMovePolicy :param resource_deletion_policy: Possible values include: "NotSpecified", "CascadeDeleteAll", "CascadeDeleteProxyOnlyChildren". - :type resource_deletion_policy: str or ~providerhub.models.ResourceDeletionPolicy + :type resource_deletion_policy: str or ~provider_hub.models.ResourceDeletionPolicy """ _attribute_map = { @@ -3830,8 +3839,7 @@ def __init__( regionality: Optional[Union[str, "Regionality"]] = None, endpoints: Optional[List["ResourceTypeEndpoint"]] = None, extension_options: Optional["ResourceTypeExtensionOptions"] = None, - marketplace_type: Optional[Union[str, - "ResourceTypeRegistrationPropertiesMarketplaceType"]] = None, + marketplace_type: Optional[Union[str, "ResourceTypeRegistrationPropertiesMarketplaceType"]] = None, swagger_specifications: Optional[List["SwaggerSpecification"]] = None, allowed_unauthorized_actions: Optional[List[str]] = None, authorization_action_mappings: Optional[List["AuthorizationActionMapping"]] = None, @@ -3844,8 +3852,7 @@ def __init__( enable_async_operation: Optional[bool] = None, provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, enable_third_party_s2s: Optional[bool] = None, - subscription_lifecycle_notification_specifications: Optional[ - "SubscriptionLifecycleNotificationSpecifications"] = None, + subscription_lifecycle_notification_specifications: Optional["SubscriptionLifecycleNotificationSpecifications"] = None, is_pure_proxy: Optional[bool] = None, identity_management: Optional["IdentityManagementProperties"] = None, check_name_availability_specifications: Optional["CheckNameAvailabilitySpecifications"] = None, @@ -3856,8 +3863,7 @@ def __init__( template_deployment_options: Optional["TemplateDeploymentOptions"] = None, extended_locations: Optional[List["ExtendedLocationOptions"]] = None, resource_move_policy: Optional["ResourceMovePolicy"] = None, - resource_deletion_policy: Optional[Union[str, - "ResourceDeletionPolicy"]] = None, + resource_deletion_policy: Optional[Union[str, "ResourceDeletionPolicy"]] = None, **kwargs ): super(ResourceTypeRegistrationProperties, self).__init__(**kwargs) @@ -3897,69 +3903,69 @@ class ResourceTypeRegistrationPropertiesautogenerated(ResourceTypeRegistrationPr :param routing_type: Possible values include: "Default", "ProxyOnly", "HostBased", "Extension", "Tenant", "Fanout", "LocationBased", "Failover", "CascadeExtension". - :type routing_type: str or ~providerhub.models.RoutingType + :type routing_type: str or ~provider_hub.models.RoutingType :param regionality: Possible values include: "NotSpecified", "Global", "Regional". - :type regionality: str or ~providerhub.models.Regionality + :type regionality: str or ~provider_hub.models.Regionality :param endpoints: - :type endpoints: list[~providerhub.models.ResourceTypeEndpoint] + :type endpoints: list[~provider_hub.models.ResourceTypeEndpoint] :param extension_options: - :type extension_options: ~providerhub.models.ResourceTypeExtensionOptions + :type extension_options: ~provider_hub.models.ResourceTypeExtensionOptions :param marketplace_type: Possible values include: "NotSpecified", "AddOn", "Bypass", "Store". :type marketplace_type: str or - ~providerhub.models.ResourceTypeRegistrationPropertiesMarketplaceType + ~provider_hub.models.ResourceTypeRegistrationPropertiesMarketplaceType :param swagger_specifications: - :type swagger_specifications: list[~providerhub.models.SwaggerSpecification] + :type swagger_specifications: list[~provider_hub.models.SwaggerSpecification] :param allowed_unauthorized_actions: :type allowed_unauthorized_actions: list[str] :param authorization_action_mappings: - :type authorization_action_mappings: list[~providerhub.models.AuthorizationActionMapping] + :type authorization_action_mappings: list[~provider_hub.models.AuthorizationActionMapping] :param linked_access_checks: - :type linked_access_checks: list[~providerhub.models.LinkedAccessCheck] + :type linked_access_checks: list[~provider_hub.models.LinkedAccessCheck] :param default_api_version: :type default_api_version: str :param logging_rules: - :type logging_rules: list[~providerhub.models.LoggingRule] + :type logging_rules: list[~provider_hub.models.LoggingRule] :param throttling_rules: - :type throttling_rules: list[~providerhub.models.ThrottlingRule] + :type throttling_rules: list[~provider_hub.models.ThrottlingRule] :param required_features: :type required_features: list[str] :param features_rule: - :type features_rule: ~providerhub.models.FeaturesRule + :type features_rule: ~provider_hub.models.FeaturesRule :param enable_async_operation: :type enable_async_operation: bool :param provisioning_state: Possible values include: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress". - :type provisioning_state: str or ~providerhub.models.ProvisioningState + :type provisioning_state: str or ~provider_hub.models.ProvisioningState :param enable_third_party_s2s: :type enable_third_party_s2s: bool :param subscription_lifecycle_notification_specifications: :type subscription_lifecycle_notification_specifications: - ~providerhub.models.SubscriptionLifecycleNotificationSpecifications + ~provider_hub.models.SubscriptionLifecycleNotificationSpecifications :param is_pure_proxy: :type is_pure_proxy: bool :param identity_management: - :type identity_management: ~providerhub.models.IdentityManagementProperties + :type identity_management: ~provider_hub.models.IdentityManagementProperties :param check_name_availability_specifications: :type check_name_availability_specifications: - ~providerhub.models.CheckNameAvailabilitySpecifications + ~provider_hub.models.CheckNameAvailabilitySpecifications :param disallowed_action_verbs: :type disallowed_action_verbs: list[str] :param service_tree_infos: - :type service_tree_infos: list[~providerhub.models.ServiceTreeInfo] + :type service_tree_infos: list[~provider_hub.models.ServiceTreeInfo] :param request_header_options: - :type request_header_options: ~providerhub.models.RequestHeaderOptions + :type request_header_options: ~provider_hub.models.RequestHeaderOptions :param subscription_state_rules: - :type subscription_state_rules: list[~providerhub.models.SubscriptionStateRule] + :type subscription_state_rules: list[~provider_hub.models.SubscriptionStateRule] :param template_deployment_options: - :type template_deployment_options: ~providerhub.models.TemplateDeploymentOptions + :type template_deployment_options: ~provider_hub.models.TemplateDeploymentOptions :param extended_locations: - :type extended_locations: list[~providerhub.models.ExtendedLocationOptions] + :type extended_locations: list[~provider_hub.models.ExtendedLocationOptions] :param resource_move_policy: - :type resource_move_policy: ~providerhub.models.ResourceMovePolicy + :type resource_move_policy: ~provider_hub.models.ResourceMovePolicy :param resource_deletion_policy: Possible values include: "NotSpecified", "CascadeDeleteAll", "CascadeDeleteProxyOnlyChildren". - :type resource_deletion_policy: str or ~providerhub.models.ResourceDeletionPolicy + :type resource_deletion_policy: str or ~provider_hub.models.ResourceDeletionPolicy """ _attribute_map = { @@ -4001,8 +4007,7 @@ def __init__( regionality: Optional[Union[str, "Regionality"]] = None, endpoints: Optional[List["ResourceTypeEndpoint"]] = None, extension_options: Optional["ResourceTypeExtensionOptions"] = None, - marketplace_type: Optional[Union[str, - "ResourceTypeRegistrationPropertiesMarketplaceType"]] = None, + marketplace_type: Optional[Union[str, "ResourceTypeRegistrationPropertiesMarketplaceType"]] = None, swagger_specifications: Optional[List["SwaggerSpecification"]] = None, allowed_unauthorized_actions: Optional[List[str]] = None, authorization_action_mappings: Optional[List["AuthorizationActionMapping"]] = None, @@ -4015,8 +4020,7 @@ def __init__( enable_async_operation: Optional[bool] = None, provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, enable_third_party_s2s: Optional[bool] = None, - subscription_lifecycle_notification_specifications: Optional[ - "SubscriptionLifecycleNotificationSpecifications"] = None, + subscription_lifecycle_notification_specifications: Optional["SubscriptionLifecycleNotificationSpecifications"] = None, is_pure_proxy: Optional[bool] = None, identity_management: Optional["IdentityManagementProperties"] = None, check_name_availability_specifications: Optional["CheckNameAvailabilitySpecifications"] = None, @@ -4027,12 +4031,10 @@ def __init__( template_deployment_options: Optional["TemplateDeploymentOptions"] = None, extended_locations: Optional[List["ExtendedLocationOptions"]] = None, resource_move_policy: Optional["ResourceMovePolicy"] = None, - resource_deletion_policy: Optional[Union[str, - "ResourceDeletionPolicy"]] = None, + resource_deletion_policy: Optional[Union[str, "ResourceDeletionPolicy"]] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesautogenerated, self).__init__(routing_type=routing_type, regionality=regionality, endpoints=endpoints, extension_options=extension_options, marketplace_type=marketplace_type, swagger_specifications=swagger_specifications, allowed_unauthorized_actions=allowed_unauthorized_actions, authorization_action_mappings=authorization_action_mappings, linked_access_checks=linked_access_checks, default_api_version=default_api_version, logging_rules=logging_rules, throttling_rules=throttling_rules, required_features=required_features, features_rule=features_rule, enable_async_operation=enable_async_operation, provisioning_state=provisioning_state, - enable_third_party_s2s=enable_third_party_s2s, subscription_lifecycle_notification_specifications=subscription_lifecycle_notification_specifications, is_pure_proxy=is_pure_proxy, identity_management=identity_management, check_name_availability_specifications=check_name_availability_specifications, disallowed_action_verbs=disallowed_action_verbs, service_tree_infos=service_tree_infos, request_header_options=request_header_options, subscription_state_rules=subscription_state_rules, template_deployment_options=template_deployment_options, extended_locations=extended_locations, resource_move_policy=resource_move_policy, resource_deletion_policy=resource_deletion_policy, **kwargs) + super(ResourceTypeRegistrationPropertiesautogenerated, self).__init__(routing_type=routing_type, regionality=regionality, endpoints=endpoints, extension_options=extension_options, marketplace_type=marketplace_type, swagger_specifications=swagger_specifications, allowed_unauthorized_actions=allowed_unauthorized_actions, authorization_action_mappings=authorization_action_mappings, linked_access_checks=linked_access_checks, default_api_version=default_api_version, logging_rules=logging_rules, throttling_rules=throttling_rules, required_features=required_features, features_rule=features_rule, enable_async_operation=enable_async_operation, provisioning_state=provisioning_state, enable_third_party_s2s=enable_third_party_s2s, subscription_lifecycle_notification_specifications=subscription_lifecycle_notification_specifications, is_pure_proxy=is_pure_proxy, identity_management=identity_management, check_name_availability_specifications=check_name_availability_specifications, disallowed_action_verbs=disallowed_action_verbs, service_tree_infos=service_tree_infos, request_header_options=request_header_options, subscription_state_rules=subscription_state_rules, template_deployment_options=template_deployment_options, extended_locations=extended_locations, resource_move_policy=resource_move_policy, resource_deletion_policy=resource_deletion_policy, **kwargs) class ResourceTypeRegistrationPropertiesCheckNameAvailabilitySpecifications(CheckNameAvailabilitySpecifications): @@ -4056,34 +4058,27 @@ def __init__( resource_types_with_custom_validation: Optional[List[str]] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesCheckNameAvailabilitySpecifications, self).__init__( - enable_default_validation=enable_default_validation, resource_types_with_custom_validation=resource_types_with_custom_validation, **kwargs) + super(ResourceTypeRegistrationPropertiesCheckNameAvailabilitySpecifications, self).__init__(enable_default_validation=enable_default_validation, resource_types_with_custom_validation=resource_types_with_custom_validation, **kwargs) class ResourceTypeRegistrationPropertiesExtensionOptions(ResourceTypeExtensionOptions): """ResourceTypeRegistrationPropertiesExtensionOptions. :param resource_creation_begin: - :type resource_creation_begin: ~providerhub.models.ExtensionOptions - :param resource_patch_begin: - :type resource_patch_begin: ~providerhub.models.ExtensionOptions + :type resource_creation_begin: ~provider_hub.models.ExtensionOptions """ _attribute_map = { 'resource_creation_begin': {'key': 'resourceCreationBegin', 'type': 'ExtensionOptions'}, - 'resource_patch_begin': {'key': 'resourcePatchBegin', 'type': 'ExtensionOptions'}, } def __init__( self, *, resource_creation_begin: Optional["ExtensionOptions"] = None, - resource_patch_begin: Optional["ExtensionOptions"] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesExtensionOptions, self).__init__( - resource_creation_begin=resource_creation_begin, - resource_patch_begin=resource_patch_begin, **kwargs) + super(ResourceTypeRegistrationPropertiesExtensionOptions, self).__init__(resource_creation_begin=resource_creation_begin, **kwargs) class ResourceTypeRegistrationPropertiesFeaturesRule(FeaturesRule): @@ -4092,7 +4087,7 @@ class ResourceTypeRegistrationPropertiesFeaturesRule(FeaturesRule): All required parameters must be populated in order to send to Azure. :param required_features_policy: Required. Possible values include: "Any", "All". - :type required_features_policy: str or ~providerhub.models.FeaturesPolicy + :type required_features_policy: str or ~provider_hub.models.FeaturesPolicy """ _validation = { @@ -4109,8 +4104,7 @@ def __init__( required_features_policy: Union[str, "FeaturesPolicy"], **kwargs ): - super(ResourceTypeRegistrationPropertiesFeaturesRule, self).__init__( - required_features_policy=required_features_policy, **kwargs) + super(ResourceTypeRegistrationPropertiesFeaturesRule, self).__init__(required_features_policy=required_features_policy, **kwargs) class ResourceTypeRegistrationPropertiesIdentityManagement(IdentityManagementProperties): @@ -4118,7 +4112,7 @@ class ResourceTypeRegistrationPropertiesIdentityManagement(IdentityManagementPro :param type: Possible values include: "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity". - :type type: str or ~providerhub.models.IdentityManagementTypes + :type type: str or ~provider_hub.models.IdentityManagementTypes :param application_id: :type application_id: str """ @@ -4135,8 +4129,7 @@ def __init__( application_id: Optional[str] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesIdentityManagement, self).__init__( - type=type, application_id=application_id, **kwargs) + super(ResourceTypeRegistrationPropertiesIdentityManagement, self).__init__(type=type, application_id=application_id, **kwargs) class ResourceTypeRegistrationPropertiesRequestHeaderOptions(RequestHeaderOptions): @@ -4144,7 +4137,7 @@ class ResourceTypeRegistrationPropertiesRequestHeaderOptions(RequestHeaderOption :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -4157,8 +4150,7 @@ def __init__( opt_in_headers: Optional[Union[str, "OptInHeaderType"]] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesRequestHeaderOptions, - self).__init__(opt_in_headers=opt_in_headers, **kwargs) + super(ResourceTypeRegistrationPropertiesRequestHeaderOptions, self).__init__(opt_in_headers=opt_in_headers, **kwargs) class ResourceTypeRegistrationPropertiesResourceMovePolicy(ResourceMovePolicy): @@ -4186,8 +4178,7 @@ def __init__( cross_subscription_move_enabled: Optional[bool] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesResourceMovePolicy, self).__init__(validation_required=validation_required, - cross_resource_group_move_enabled=cross_resource_group_move_enabled, cross_subscription_move_enabled=cross_subscription_move_enabled, **kwargs) + super(ResourceTypeRegistrationPropertiesResourceMovePolicy, self).__init__(validation_required=validation_required, cross_resource_group_move_enabled=cross_resource_group_move_enabled, cross_subscription_move_enabled=cross_subscription_move_enabled, **kwargs) class ResourceTypeRegistrationPropertiesSubscriptionLifecycleNotificationSpecifications(SubscriptionLifecycleNotificationSpecifications): @@ -4195,7 +4186,7 @@ class ResourceTypeRegistrationPropertiesSubscriptionLifecycleNotificationSpecifi :param subscription_state_override_actions: :type subscription_state_override_actions: - list[~providerhub.models.SubscriptionStateOverrideAction] + list[~provider_hub.models.SubscriptionStateOverrideAction] :param soft_delete_ttl: :type soft_delete_ttl: ~datetime.timedelta """ @@ -4212,8 +4203,7 @@ def __init__( soft_delete_ttl: Optional[datetime.timedelta] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesSubscriptionLifecycleNotificationSpecifications, self).__init__( - subscription_state_override_actions=subscription_state_override_actions, soft_delete_ttl=soft_delete_ttl, **kwargs) + super(ResourceTypeRegistrationPropertiesSubscriptionLifecycleNotificationSpecifications, self).__init__(subscription_state_override_actions=subscription_state_override_actions, soft_delete_ttl=soft_delete_ttl, **kwargs) class ResourceTypeRegistrationPropertiesTemplateDeploymentOptions(TemplateDeploymentOptions): @@ -4222,7 +4212,7 @@ class ResourceTypeRegistrationPropertiesTemplateDeploymentOptions(TemplateDeploy :param preflight_supported: :type preflight_supported: bool :param preflight_options: - :type preflight_options: list[str or ~providerhub.models.PreflightOption] + :type preflight_options: list[str or ~provider_hub.models.PreflightOption] """ _attribute_map = { @@ -4234,12 +4224,10 @@ def __init__( self, *, preflight_supported: Optional[bool] = None, - preflight_options: Optional[List[Union[str, - "PreflightOption"]]] = None, + preflight_options: Optional[List[Union[str, "PreflightOption"]]] = None, **kwargs ): - super(ResourceTypeRegistrationPropertiesTemplateDeploymentOptions, self).__init__( - preflight_supported=preflight_supported, preflight_options=preflight_options, **kwargs) + super(ResourceTypeRegistrationPropertiesTemplateDeploymentOptions, self).__init__(preflight_supported=preflight_supported, preflight_options=preflight_options, **kwargs) class ResourceTypeRequestHeaderOptions(RequestHeaderOptions): @@ -4247,7 +4235,7 @@ class ResourceTypeRequestHeaderOptions(RequestHeaderOptions): :param opt_in_headers: Possible values include: "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership". - :type opt_in_headers: str or ~providerhub.models.OptInHeaderType + :type opt_in_headers: str or ~provider_hub.models.OptInHeaderType """ _attribute_map = { @@ -4260,8 +4248,7 @@ def __init__( opt_in_headers: Optional[Union[str, "OptInHeaderType"]] = None, **kwargs ): - super(ResourceTypeRequestHeaderOptions, self).__init__( - opt_in_headers=opt_in_headers, **kwargs) + super(ResourceTypeRequestHeaderOptions, self).__init__(opt_in_headers=opt_in_headers, **kwargs) class ResourceTypeSku(msrest.serialization.Model): @@ -4270,7 +4257,7 @@ class ResourceTypeSku(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param sku_settings: Required. - :type sku_settings: list[~providerhub.models.SkuSetting] + :type sku_settings: list[~provider_hub.models.SkuSetting] """ _validation = { @@ -4297,10 +4284,10 @@ class TemplateDeploymentPolicy(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param capabilities: Required. Possible values include: "Default", "Preflight". - :type capabilities: str or ~providerhub.models.TemplateDeploymentCapabilities + :type capabilities: str or ~provider_hub.models.TemplateDeploymentCapabilities :param preflight_options: Required. Possible values include: "None", "ValidationRequests", "DeploymentRequests", "TestOnly", "RegisteredOnly". - :type preflight_options: str or ~providerhub.models.TemplateDeploymentPreflightOptions + :type preflight_options: str or ~provider_hub.models.TemplateDeploymentPreflightOptions """ _validation = { @@ -4331,10 +4318,10 @@ class ResourceTypeTemplateDeploymentPolicy(TemplateDeploymentPolicy): All required parameters must be populated in order to send to Azure. :param capabilities: Required. Possible values include: "Default", "Preflight". - :type capabilities: str or ~providerhub.models.TemplateDeploymentCapabilities + :type capabilities: str or ~provider_hub.models.TemplateDeploymentCapabilities :param preflight_options: Required. Possible values include: "None", "ValidationRequests", "DeploymentRequests", "TestOnly", "RegisteredOnly". - :type preflight_options: str or ~providerhub.models.TemplateDeploymentPreflightOptions + :type preflight_options: str or ~provider_hub.models.TemplateDeploymentPreflightOptions """ _validation = { @@ -4354,8 +4341,7 @@ def __init__( preflight_options: Union[str, "TemplateDeploymentPreflightOptions"], **kwargs ): - super(ResourceTypeTemplateDeploymentPolicy, self).__init__( - capabilities=capabilities, preflight_options=preflight_options, **kwargs) + super(ResourceTypeTemplateDeploymentPolicy, self).__init__(capabilities=capabilities, preflight_options=preflight_options, **kwargs) class ServiceTreeInfo(msrest.serialization.Model): @@ -4429,7 +4415,7 @@ class SkuCapacity(msrest.serialization.Model): :param default: :type default: int :param scale_type: Possible values include: "None", "Manual", "Automatic". - :type scale_type: str or ~providerhub.models.SkuScaleType + :type scale_type: str or ~provider_hub.models.SkuScaleType """ _validation = { @@ -4506,11 +4492,11 @@ class SkuLocationInfo(msrest.serialization.Model): :param zones: :type zones: list[str] :param zone_details: - :type zone_details: list[~providerhub.models.SkuZoneDetail] + :type zone_details: list[~provider_hub.models.SkuZoneDetail] :param extended_locations: :type extended_locations: list[str] :param type: Possible values include: "NotSpecified", "EdgeZone", "ArcZone". - :type type: str or ~providerhub.models.SkuLocationInfoType + :type type: str or ~provider_hub.models.SkuLocationInfoType """ _validation = { @@ -4557,7 +4543,7 @@ class SkuResource(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param properties: - :type properties: ~providerhub.models.ResourceTypeSku + :type properties: ~provider_hub.models.ResourceTypeSku """ _validation = { @@ -4587,7 +4573,7 @@ class SkuResourceArrayResponseWithContinuation(msrest.serialization.Model): """SkuResourceArrayResponseWithContinuation. :param value: - :type value: list[~providerhub.models.SkuResource] + :type value: list[~provider_hub.models.SkuResource] :param next_link: The URL to get to the next set of results, if there are any. :type next_link: str """ @@ -4615,7 +4601,7 @@ class SkuResourceProperties(ResourceTypeSku): All required parameters must be populated in order to send to Azure. :param sku_settings: Required. - :type sku_settings: list[~providerhub.models.SkuSetting] + :type sku_settings: list[~provider_hub.models.SkuSetting] """ _validation = { @@ -4632,8 +4618,7 @@ def __init__( sku_settings: List["SkuSetting"], **kwargs ): - super(SkuResourceProperties, self).__init__( - sku_settings=sku_settings, **kwargs) + super(SkuResourceProperties, self).__init__(sku_settings=sku_settings, **kwargs) class SkuSetting(msrest.serialization.Model): @@ -4654,17 +4639,17 @@ class SkuSetting(msrest.serialization.Model): :param locations: :type locations: list[str] :param location_info: - :type location_info: list[~providerhub.models.SkuLocationInfo] + :type location_info: list[~provider_hub.models.SkuLocationInfo] :param required_quota_ids: :type required_quota_ids: list[str] :param required_features: :type required_features: list[str] :param capacity: - :type capacity: ~providerhub.models.SkuCapacity + :type capacity: ~provider_hub.models.SkuCapacity :param costs: - :type costs: list[~providerhub.models.SkuCost] + :type costs: list[~provider_hub.models.SkuCost] :param capabilities: - :type capabilities: list[~providerhub.models.SkuCapability] + :type capabilities: list[~provider_hub.models.SkuCapability] """ _validation = { @@ -4730,7 +4715,7 @@ class SkuSettingCapacity(SkuCapacity): :param default: :type default: int :param scale_type: Possible values include: "None", "Manual", "Automatic". - :type scale_type: str or ~providerhub.models.SkuScaleType + :type scale_type: str or ~provider_hub.models.SkuScaleType """ _validation = { @@ -4753,8 +4738,7 @@ def __init__( scale_type: Optional[Union[str, "SkuScaleType"]] = None, **kwargs ): - super(SkuSettingCapacity, self).__init__(minimum=minimum, - maximum=maximum, default=default, scale_type=scale_type, **kwargs) + super(SkuSettingCapacity, self).__init__(minimum=minimum, maximum=maximum, default=default, scale_type=scale_type, **kwargs) class SkuZoneDetail(msrest.serialization.Model): @@ -4763,7 +4747,7 @@ class SkuZoneDetail(msrest.serialization.Model): :param name: :type name: list[str] :param capabilities: - :type capabilities: list[~providerhub.models.SkuCapability] + :type capabilities: list[~provider_hub.models.SkuCapability] """ _attribute_map = { @@ -4792,10 +4776,10 @@ class SubscriptionStateOverrideAction(msrest.serialization.Model): "Suspended", "Deleted", "WarnedToRegistered", "WarnedToSuspended", "WarnedToDeleted", "WarnedToUnregistered", "SuspendedToRegistered", "SuspendedToWarned", "SuspendedToDeleted", "SuspendedToUnregistered". - :type state: str or ~providerhub.models.SubscriptionTransitioningState + :type state: str or ~provider_hub.models.SubscriptionTransitioningState :param action: Required. Possible values include: "NotDefined", "DeleteAllResources", "SoftDeleteAllResources", "NoOp", "BillingCancellation", "UndoSoftDelete". - :type action: str or ~providerhub.models.SubscriptionNotificationOperation + :type action: str or ~provider_hub.models.SubscriptionNotificationOperation """ _validation = { @@ -4825,7 +4809,7 @@ class SubscriptionStateRule(msrest.serialization.Model): :param state: Possible values include: "NotDefined", "Enabled", "Warned", "PastDue", "Disabled", "Deleted". - :type state: str or ~providerhub.models.SubscriptionState + :type state: str or ~provider_hub.models.SubscriptionState :param allowed_actions: :type allowed_actions: list[str] """ @@ -4880,7 +4864,7 @@ class ThrottlingMetric(msrest.serialization.Model): :param type: Required. Possible values include: "NotSpecified", "NumberOfRequests", "NumberOfResources". - :type type: str or ~providerhub.models.ThrottlingMetricType + :type type: str or ~provider_hub.models.ThrottlingMetricType :param limit: Required. :type limit: long :param interval: @@ -4920,7 +4904,7 @@ class ThrottlingRule(msrest.serialization.Model): :param action: Required. :type action: str :param metrics: Required. - :type metrics: list[~providerhub.models.ThrottlingMetric] + :type metrics: list[~provider_hub.models.ThrottlingMetric] :param required_features: :type required_features: list[str] """ diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_provider_hub_enums.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_provider_hub_enums.py new file mode 100644 index 00000000000..0e36c179e2d --- /dev/null +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/models/_provider_hub_enums.py @@ -0,0 +1,297 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class ExtensionCategory(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + RESOURCE_CREATION_VALIDATE = "ResourceCreationValidate" + RESOURCE_CREATION_BEGIN = "ResourceCreationBegin" + RESOURCE_CREATION_COMPLETED = "ResourceCreationCompleted" + RESOURCE_READ_VALIDATE = "ResourceReadValidate" + RESOURCE_READ_BEGIN = "ResourceReadBegin" + RESOURCE_PATCH_VALIDATE = "ResourcePatchValidate" + RESOURCE_PATCH_COMPLETED = "ResourcePatchCompleted" + RESOURCE_DELETION_VALIDATE = "ResourceDeletionValidate" + RESOURCE_DELETION_BEGIN = "ResourceDeletionBegin" + RESOURCE_DELETION_COMPLETED = "ResourceDeletionCompleted" + RESOURCE_POST_ACTION = "ResourcePostAction" + SUBSCRIPTION_LIFECYCLE_NOTIFICATION = "SubscriptionLifecycleNotification" + RESOURCE_PATCH_BEGIN = "ResourcePatchBegin" + RESOURCE_MOVE_BEGIN = "ResourceMoveBegin" + RESOURCE_MOVE_COMPLETED = "ResourceMoveCompleted" + +class ExtensionOptionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + DO_NOT_MERGE_EXISTING_READ_ONLY_AND_SECRET_PROPERTIES = "DoNotMergeExistingReadOnlyAndSecretProperties" + INCLUDE_INTERNAL_METADATA = "IncludeInternalMetadata" + +class FeaturesPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + ANY = "Any" + ALL = "All" + +class IdentityManagementTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + ACTOR = "Actor" + DELEGATED_RESOURCE_IDENTITY = "DelegatedResourceIdentity" + +class LinkedAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + BLOCKED = "Blocked" + VALIDATE = "Validate" + ENABLED = "Enabled" + +class LinkedOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NONE = "None" + CROSS_RESOURCE_GROUP_RESOURCE_MOVE = "CrossResourceGroupResourceMove" + CROSS_SUBSCRIPTION_RESOURCE_MOVE = "CrossSubscriptionResourceMove" + +class LoggingDetails(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NONE = "None" + BODY = "Body" + +class LoggingDirections(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NONE = "None" + REQUEST = "Request" + RESPONSE = "Response" + +class ManifestResourceDeletionPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + CASCADE = "Cascade" + FORCE = "Force" + +class MessageScope(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + REGISTERED_SUBSCRIPTIONS = "RegisteredSubscriptions" + +class NotificationMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + EVENT_HUB = "EventHub" + WEB_HOOK = "WebHook" + +class OperationsDefinitionActionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + INTERNAL = "Internal" + +class OperationsDefinitionOrigin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + USER = "User" + SYSTEM = "System" + +class OptInHeaderType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + SIGNED_USER_TOKEN = "SignedUserToken" + CLIENT_GROUP_MEMBERSHIP = "ClientGroupMembership" + SIGNED_AUXILIARY_TOKENS = "SignedAuxiliaryTokens" + UNBOUNDED_CLIENT_GROUP_MEMBERSHIP = "UnboundedClientGroupMembership" + +class PreflightOption(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NONE = "None" + CONTINUE_DEPLOYMENT_ON_FAILURE = "ContinueDeploymentOnFailure" + DEFAULT_VALIDATION_ONLY = "DefaultValidationOnly" + +class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + ACCEPTED = "Accepted" + RUNNING = "Running" + CREATING = "Creating" + CREATED = "Created" + DELETING = "Deleting" + DELETED = "Deleted" + CANCELED = "Canceled" + FAILED = "Failed" + SUCCEEDED = "Succeeded" + MOVING_RESOURCES = "MovingResources" + TRANSIENT_FAILURE = "TransientFailure" + ROLLOUT_IN_PROGRESS = "RolloutInProgress" + +class Regionality(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + GLOBAL_ENUM = "Global" + REGIONAL = "Regional" + +class ResourceDeletionPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + CASCADE_DELETE_ALL = "CascadeDeleteAll" + CASCADE_DELETE_PROXY_ONLY_CHILDREN = "CascadeDeleteProxyOnlyChildren" + +class ResourceProviderCapabilitiesEffect(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + ALLOW = "Allow" + DISALLOW = "Disallow" + +class ResourceProviderManagementResourceAccessPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + ACIS_READ_ALLOWED = "AcisReadAllowed" + ACIS_ACTION_ALLOWED = "AcisActionAllowed" + +class ResourceProviderType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + INTERNAL = "Internal" + EXTERNAL = "External" + HIDDEN = "Hidden" + REGISTRATION_FREE = "RegistrationFree" + LEGACY_REGISTRATION_REQUIRED = "LegacyRegistrationRequired" + TENANT_ONLY = "TenantOnly" + AUTHORIZATION_FREE = "AuthorizationFree" + +class ResourceTypeMarketplaceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + ADD_ON = "AddOn" + BYPASS = "Bypass" + STORE = "Store" + +class ResourceTypeRegistrationPropertiesMarketplaceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + ADD_ON = "AddOn" + BYPASS = "Bypass" + STORE = "Store" + +class ResourceValidation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + RESERVED_WORDS = "ReservedWords" + PROFANE_WORDS = "ProfaneWords" + +class RoutingType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + DEFAULT = "Default" + PROXY_ONLY = "ProxyOnly" + HOST_BASED = "HostBased" + EXTENSION = "Extension" + TENANT = "Tenant" + FANOUT = "Fanout" + LOCATION_BASED = "LocationBased" + FAILOVER = "Failover" + CASCADE_EXTENSION = "CascadeExtension" + +class SkuLocationInfoType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + EDGE_ZONE = "EdgeZone" + ARC_ZONE = "ArcZone" + +class SkuScaleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NONE = "None" + MANUAL = "Manual" + AUTOMATIC = "Automatic" + +class SubscriptionNotificationOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_DEFINED = "NotDefined" + DELETE_ALL_RESOURCES = "DeleteAllResources" + SOFT_DELETE_ALL_RESOURCES = "SoftDeleteAllResources" + NO_OP = "NoOp" + BILLING_CANCELLATION = "BillingCancellation" + UNDO_SOFT_DELETE = "UndoSoftDelete" + +class SubscriptionReregistrationResult(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_APPLICABLE = "NotApplicable" + CONDITIONAL_UPDATE = "ConditionalUpdate" + FORCED_UPDATE = "ForcedUpdate" + FAILED = "Failed" + +class SubscriptionState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_DEFINED = "NotDefined" + ENABLED = "Enabled" + WARNED = "Warned" + PAST_DUE = "PastDue" + DISABLED = "Disabled" + DELETED = "Deleted" + +class SubscriptionTransitioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + REGISTERED = "Registered" + UNREGISTERED = "Unregistered" + WARNED = "Warned" + SUSPENDED = "Suspended" + DELETED = "Deleted" + WARNED_TO_REGISTERED = "WarnedToRegistered" + WARNED_TO_SUSPENDED = "WarnedToSuspended" + WARNED_TO_DELETED = "WarnedToDeleted" + WARNED_TO_UNREGISTERED = "WarnedToUnregistered" + SUSPENDED_TO_REGISTERED = "SuspendedToRegistered" + SUSPENDED_TO_WARNED = "SuspendedToWarned" + SUSPENDED_TO_DELETED = "SuspendedToDeleted" + SUSPENDED_TO_UNREGISTERED = "SuspendedToUnregistered" + +class TemplateDeploymentCapabilities(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + DEFAULT = "Default" + PREFLIGHT = "Preflight" + +class TemplateDeploymentPreflightOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NONE = "None" + VALIDATION_REQUESTS = "ValidationRequests" + DEPLOYMENT_REQUESTS = "DeploymentRequests" + TEST_ONLY = "TestOnly" + REGISTERED_ONLY = "RegisteredOnly" + +class ThrottlingMetricType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + NUMBER_OF_REQUESTS = "NumberOfRequests" + NUMBER_OF_RESOURCES = "NumberOfResources" + +class TrafficRegionCategory(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_SPECIFIED = "NotSpecified" + CANARY = "Canary" + LOW_TRAFFIC = "LowTraffic" + MEDIUM_TRAFFIC = "MediumTraffic" + HIGH_TRAFFIC = "HighTraffic" + NONE = "None" + REST_OF_THE_WORLD_GROUP_ONE = "RestOfTheWorldGroupOne" + REST_OF_THE_WORLD_GROUP_TWO = "RestOfTheWorldGroupTwo" diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/__init__.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/__init__.py index 7df423d9b3b..5f8923dd553 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/__init__.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/__init__.py @@ -8,19 +8,22 @@ from ._custom_rollouts_operations import CustomRolloutsOperations from ._default_rollouts_operations import DefaultRolloutsOperations -from ._providerhub_operations import ProviderhubOperationsMixin +from ._provider_hub_operations import ProviderHubOperationsMixin +from ._notification_registrations_operations import NotificationRegistrationsOperations from ._operations import Operations from ._provider_registrations_operations import ProviderRegistrationsOperations from ._resource_type_registrations_operations import ResourceTypeRegistrationsOperations from ._resource_type_registration_operations import ResourceTypeRegistrationOperations - +from ._skus_operations import SkusOperations __all__ = [ 'CustomRolloutsOperations', 'DefaultRolloutsOperations', - 'ProviderhubOperationsMixin', + 'ProviderHubOperationsMixin', + 'NotificationRegistrationsOperations', 'Operations', 'ProviderRegistrationsOperations', 'ResourceTypeRegistrationsOperations', + 'SkusOperations', 'ResourceTypeRegistrationOperations', ] diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_custom_rollouts_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_custom_rollouts_operations.py index 9702a9101c5..85c11b74106 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_custom_rollouts_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_custom_rollouts_operations.py @@ -13,16 +13,15 @@ from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + 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]] - + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class CustomRolloutsOperations(object): """CustomRolloutsOperations operations. @@ -31,7 +30,7 @@ class CustomRolloutsOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -61,7 +60,7 @@ def get( :type rollout_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: CustomRollout, or the result of cls(response) - :rtype: ~providerhub.models.CustomRollout + :rtype: ~provider_hub.models.CustomRollout :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.CustomRollout"] @@ -83,25 +82,20 @@ def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('CustomRollout', pipeline_response) @@ -115,7 +109,7 @@ def create_or_update( self, provider_namespace, # type: str rollout_name, # type: str - properties, # type: "models.CustomRollout" + canary, # type: "models.CustomRollout" **kwargs # type: Any ): # type: (...) -> "models.CustomRollout" @@ -125,11 +119,11 @@ def create_or_update( :type provider_namespace: str :param rollout_name: The rollout name. :type rollout_name: str - :param properties: The custom rollout properties supplied to the CreateOrUpdate operation. - :type properties: ~providerhub.models.CustomRollout + :param canary: The custom rollout canary regions supplied to the CreateOrUpdate operation. + :type canary: ~provider_hub.models.TrafficRegions :keyword callable cls: A custom type or function that will be passed the direct response :return: CustomRollout, or the result of cls(response) - :rtype: ~providerhub.models.CustomRollout + :rtype: ~provider_hub.models.CustomRollout :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.CustomRollout"] @@ -152,31 +146,32 @@ def create_or_update( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, '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'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + properties = models.CustomRollout( + properties = models.CustomRolloutProperties( + specification = models.CustomRolloutPropertiesSpecification( + canary = canary + ) + ) + ) body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(properties, 'CustomRollout') 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) + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('CustomRollout', pipeline_response) @@ -184,8 +179,7 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts/{rolloutName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts/{rolloutName}'} # type: ignore def list_by_provider_registration( self, @@ -199,11 +193,10 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either CustomRolloutArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.CustomRolloutArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.CustomRolloutArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.CustomRolloutArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.CustomRolloutArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -214,13 +207,11 @@ def list_by_provider_registration( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -228,21 +219,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'CustomRolloutArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('CustomRolloutArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -251,21 +238,17 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/customRollouts'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_default_rollouts_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_default_rollouts_operations.py index 71d67b38d5b..e164e140c23 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_default_rollouts_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_default_rollouts_operations.py @@ -15,16 +15,15 @@ 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 typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + 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]] - + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class DefaultRolloutsOperations(object): """DefaultRolloutsOperations operations. @@ -33,7 +32,7 @@ class DefaultRolloutsOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -63,7 +62,7 @@ def get( :type rollout_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: DefaultRollout, or the result of cls(response) - :rtype: ~providerhub.models.DefaultRollout + :rtype: ~provider_hub.models.DefaultRollout :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DefaultRollout"] @@ -85,25 +84,20 @@ def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('DefaultRollout', pipeline_response) @@ -150,38 +144,31 @@ def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore def _create_or_update_initial( self, provider_namespace, # type: str rollout_name, # type: str - row2_wait_duration, # type: str - skip_regions, # type: list[str] + properties, # type: models.DefaultRolloutProperties **kwargs # type: Any ): # type: (...) -> "models.DefaultRollout" @@ -191,6 +178,7 @@ def _create_or_update_initial( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -204,60 +192,42 @@ def _create_or_update_initial( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - specification = models.DefaultRolloutSpecification( - canary=models.CanaryTrafficRegionRolloutConfiguration( - skip_regions=skip_regions - ), - rest_of_the_world_group_two=models.TrafficRegionRolloutConfiguration( - wait_duration=row2_wait_duration - ) - ) - params = models.DefaultRollout(specification=specification) + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(params, 'DefaultRollout') + body_content = self._serialize.body(properties, 'DefaultRollout') 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) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize( - 'DefaultRollout', pipeline_response) + deserialized = self._deserialize('DefaultRollout', pipeline_response) if response.status_code == 201: - deserialized = self._deserialize( - 'DefaultRollout', pipeline_response) + deserialized = self._deserialize('DefaultRollout', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _create_or_update_initial.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore def begin_create_or_update( self, provider_namespace, # type: str rollout_name, # type: str - row2_wait_duration, # type: str - skip_regions, # type: list[str] + properties, # type: models.DefaultRolloutProperties **kwargs # type: Any ): # type: (...) -> LROPoller["models.DefaultRollout"] @@ -267,6 +237,8 @@ def begin_create_or_update( :type provider_namespace: str :param rollout_name: The rollout name. :type rollout_name: str + :param properties: The Default rollout properties supplied to the CreateOrUpdate operation. + :type properties: ~provider_hub.models.DefaultRollout :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -274,25 +246,22 @@ def begin_create_or_update( :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of LROPoller that returns either DefaultRollout or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~providerhub.models.DefaultRollout] + :rtype: ~azure.core.polling.LROPoller[~provider_hub.models.DefaultRollout] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop( - 'polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.DefaultRollout"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval ) - cont_token = kwargs.pop('continuation_token', - None) # type: Optional[str] + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: raw_result = self._create_or_update_initial( provider_namespace=provider_namespace, rollout_name=rollout_name, - row2_wait_duration=row2_wait_duration, - skip_regions=skip_regions, - cls=lambda x, y, z: x, + properties=properties, + cls=lambda x,y,z: x, **kwargs ) @@ -300,8 +269,7 @@ def begin_create_or_update( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize( - 'DefaultRollout', pipeline_response) + deserialized = self._deserialize('DefaultRollout', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -313,13 +281,9 @@ def get_long_running_output(pipeline_response): 'rolloutName': self._serialize.url("rollout_name", rollout_name, 'str'), } - if polling is True: - polling_method = ARMPolling(lro_delay, lro_options={ - 'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: - polling_method = NoPolling() - else: - polling_method = polling + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, @@ -329,8 +293,7 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts/{rolloutName}'} # type: ignore def list_by_provider_registration( self, @@ -344,11 +307,10 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either DefaultRolloutArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.DefaultRolloutArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.DefaultRolloutArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.DefaultRolloutArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.DefaultRolloutArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -359,13 +321,11 @@ def list_by_provider_registration( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -373,21 +333,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'DefaultRolloutArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('DefaultRolloutArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -396,24 +352,20 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/defaultRollouts'} # type: ignore def stop( self, @@ -452,25 +404,20 @@ def stop( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.post(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_notification_registrations_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_notification_registrations_operations.py index 8b4fa931c2f..31362033fd1 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_notification_registrations_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_notification_registrations_operations.py @@ -13,16 +13,15 @@ from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + 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]] - + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class NotificationRegistrationsOperations(object): """NotificationRegistrationsOperations operations. @@ -31,7 +30,7 @@ class NotificationRegistrationsOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -61,11 +60,10 @@ def get( :type notification_registration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NotificationRegistration, or the result of cls(response) - :rtype: ~providerhub.models.NotificationRegistration + :rtype: ~provider_hub.models.NotificationRegistration :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.NotificationRegistration"] + cls = kwargs.pop('cls', None) # type: ClsType["models.NotificationRegistration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -84,28 +82,22 @@ def get( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'NotificationRegistration', pipeline_response) + deserialized = self._deserialize('NotificationRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -117,6 +109,7 @@ def create_or_update( self, provider_namespace, # type: str notification_registration_name, # type: str + properties, # type: "models.NotificationRegistration" **kwargs # type: Any ): # type: (...) -> "models.NotificationRegistration" @@ -126,18 +119,21 @@ def create_or_update( :type provider_namespace: str :param notification_registration_name: The notification registration. :type notification_registration_name: str + :param properties: The required body parameters supplied to the notification registration + operation. + :type properties: ~provider_hub.models.NotificationRegistration :keyword callable cls: A custom type or function that will be passed the direct response :return: NotificationRegistration, or the result of cls(response) - :rtype: ~providerhub.models.NotificationRegistration + :rtype: ~provider_hub.models.NotificationRegistration :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.NotificationRegistration"] + cls = kwargs.pop('cls', None) # type: ClsType["models.NotificationRegistration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -151,35 +147,32 @@ def create_or_update( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - request = self._client.put(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'NotificationRegistration') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'NotificationRegistration', pipeline_response) + deserialized = self._deserialize('NotificationRegistration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations/{notificationRegistrationName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations/{notificationRegistrationName}'} # type: ignore def delete( self, @@ -218,25 +211,20 @@ def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) @@ -255,11 +243,10 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either NotificationRegistrationArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.NotificationRegistrationArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.NotificationRegistrationArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.NotificationRegistrationArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.NotificationRegistrationArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -270,13 +257,11 @@ def list_by_provider_registration( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -284,21 +269,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'NotificationRegistrationArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('NotificationRegistrationArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -307,21 +288,17 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/notificationRegistrations'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_operations.py index 21edc3cabbb..91402615238 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_operations.py @@ -13,17 +13,15 @@ from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, TypeVar -from .. import models +from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, TypeVar T = TypeVar('T') - ClsType = Optional[Callable[[ - PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class Operations(object): """Operations operations. @@ -32,7 +30,7 @@ class Operations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -56,11 +54,10 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationsDefinitionArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.OperationsDefinitionArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.OperationsDefinitionArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.OperationsDefinitionArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsDefinitionArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -70,8 +67,7 @@ def list( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -79,18 +75,15 @@ def prepare_request(next_link=None): # Construct parameters query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'OperationsDefinitionArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('OperationsDefinitionArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -99,24 +92,20 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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 ) - # type: ignore - list.metadata = {'url': '/providers/Microsoft.ProviderHub/operations'} + list.metadata = {'url': '/providers/Microsoft.ProviderHub/operations'} # type: ignore def list_by_provider_registration( self, @@ -130,22 +119,19 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: list of OperationsDefinition, or the result of cls(response) - :rtype: list[~providerhub.models.OperationsDefinition] + :rtype: list[~provider_hub.models.OperationsDefinition] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType[List["models.OperationsDefinition"]] + cls = kwargs.pop('cls', None) # type: ClsType[List["models.OperationsDefinition"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" - content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.list_by_provider_registration.metadata['url'] + url = self.list_by_provider_registration.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -154,41 +140,33 @@ def list_by_provider_registration( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, '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'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - '[OperationsDefinition]', pipeline_response) + deserialized = self._deserialize('[OperationsDefinition]', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list_by_provider_registration.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore + list_by_provider_registration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore def create_or_update( self, provider_namespace, # type: str + operations_put_content, # type: "models.OperationsPutContent" **kwargs # type: Any ): # type: (...) -> "models.OperationsContent" @@ -196,18 +174,21 @@ def create_or_update( :param provider_namespace: The name of the resource provider hosted within ProviderHub. :type provider_namespace: str + :param operations_put_content: The operations content properties supplied to the CreateOrUpdate + operation. + :type operations_put_content: ~provider_hub.models.OperationsPutContent :keyword callable cls: A custom type or function that will be passed the direct response :return: OperationsContent, or the result of cls(response) - :rtype: ~providerhub.models.OperationsContent + :rtype: ~provider_hub.models.OperationsContent :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.OperationsContent"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsContent"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -220,35 +201,32 @@ def create_or_update( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - request = self._client.put(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(operations_put_content, 'OperationsPutContent') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'OperationsContent', pipeline_response) + deserialized = self._deserialize('OperationsContent', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore def delete( self, @@ -283,28 +261,22 @@ def delete( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/operations/default'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_providerhub_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_provider_hub_operations.py similarity index 70% rename from src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_providerhub_operations.py rename to src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_provider_hub_operations.py index be2946ae176..7f1b4661a54 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_providerhub_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_provider_hub_operations.py @@ -12,19 +12,17 @@ from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from typing import Any, Callable, Dict, Generic, Optional, TypeVar -from .. import models +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]] - + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ProviderhubOperationsMixin(object): +class ProviderHubOperationsMixin(object): """ProviderhubOperationsMixin operations. You should not instantiate this class directly. Instead, you should create a Client instance that @@ -58,11 +56,10 @@ def generate_manifest( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ResourceProviderManifest, or the result of cls(response) - :rtype: ~providerhub.models.ResourceProviderManifest + :rtype: ~provider_hub.models.ResourceProviderManifest :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.ResourceProviderManifest"] + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderManifest"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -80,35 +77,28 @@ def generate_manifest( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.post(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'ResourceProviderManifest', pipeline_response) + deserialized = self._deserialize('ResourceProviderManifest', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - generate_manifest.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/generateManifest'} # type: ignore + generate_manifest.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/generateManifest'} # type: ignore def checkin_manifest( self, @@ -123,14 +113,13 @@ def checkin_manifest( :type provider_namespace: str :param checkin_manifest_params: The required body parameters supplied to the checkin manifest operation. - :type checkin_manifest_params: ~providerhub.models.CheckinManifestParams + :type checkin_manifest_params: ~provider_hub.models.CheckinManifestParams :keyword callable cls: A custom type or function that will be passed the direct response :return: CheckinManifestInfo, or the result of cls(response) - :rtype: ~providerhub.models.CheckinManifestInfo + :rtype: ~provider_hub.models.CheckinManifestInfo :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.CheckinManifestInfo"] + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckinManifestInfo"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -149,39 +138,29 @@ def checkin_manifest( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, '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'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body( - checkin_manifest_params, 'CheckinManifestParams') + body_content = self._serialize.body(checkin_manifest_params, 'CheckinManifestParams') 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) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize( - 'CheckinManifestInfo', pipeline_response) + deserialized = self._deserialize('CheckinManifestInfo', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - checkin_manifest.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/checkinManifest'} # type: ignore + checkin_manifest.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/checkinManifest'} # type: ignore diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_provider_registrations_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_provider_registrations_operations.py index ee325e28f9f..9c43d4be276 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_provider_registrations_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_provider_registrations_operations.py @@ -6,7 +6,6 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import TYPE_CHECKING -import datetime import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error @@ -16,12 +15,12 @@ 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 typing import Any, Callable, Dict, Generic, Iterable, List, Optional, TypeVar, Union -from .. import models +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[[ @@ -35,7 +34,7 @@ class ProviderRegistrationsOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -62,7 +61,7 @@ def get( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ProviderRegistration, or the result of cls(response) - :rtype: ~providerhub.models.ProviderRegistration + :rtype: ~provider_hub.models.ProviderRegistration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop( @@ -134,15 +133,18 @@ def _create_or_update_initial( service_tree_infos, # type: list["models.ServiceTreeInfo"] resource_access_policy, # type: "models.ResourceProviderManagementResourceAccessPolicy" required_features_policy, # type: "models.FeaturesPolicy" + required_features, # type: list[str] opt_in_headers, # type: "models.OptInHeaderType" - # type: list["models.SubscriptionStateOverrideAction"] managed_by_tenant_id, # type: str # type: "models.ResourceProviderAuthorization" - providerhub_metadata_provider_authorizations, + providerhub_metadata_authorizations, # type: "models.ResourceProviderAuthentication" - providerhub_metadata_rp_authentication, - # type: "models.LightHouseAuthorization" - lighthouse_authorizations, + providerhub_metadata_authentication, + lighthouse_authorizations, # type: "models.LightHouseAuthorization" + # type: list["models.SubscriptionStateOverrideAction"] + subscription_state_override_actions, + resource_access_roles, # type: list[object] + soft_delete_ttl, # type: duration **kwargs # type: Any ): # type: (...) -> Optional["models.ProviderRegistration"] @@ -178,20 +180,26 @@ def _create_or_update_initial( features_rule = models.FeaturesRule( required_features_policy=required_features_policy) if required_features_policy else None + subscriptionLifecycleNotificationSpecifications = models.SubscriptionLifecycleNotificationSpecifications( + subscription_state_override_actions=subscription_state_override_actions, + soft_delete_ttl=soft_delete_ttl + ) management = models.ResourceProviderManagement(schema_owners=schema_owners, manifest_owners=manifest_owners, incident_routing_service=incident_routing_service, incident_routing_team=incident_routing_team, - incident_contact_email=incident_contact_email, service_tree_infos=service_tree_infos, resource_access_policy=resource_access_policy, resource_access_roles=None) + incident_contact_email=incident_contact_email, service_tree_infos=service_tree_infos, resource_access_policy=resource_access_policy, resource_access_roles=resource_access_roles) third_party_provider_authorization = models.ThirdPartyProviderAuthorization( authorizations=lighthouse_authorizations, managed_by_tenant_id=managed_by_tenant_id) if lighthouse_authorizations or managed_by_tenant_id else None - providerhub_metadata = models.ProviderHubMetadata(provider_authorizations=providerhub_metadata_provider_authorizations, - provider_authentication=providerhub_metadata_rp_authentication, + providerhub_metadata = models.ProviderHubMetadata(provider_authorizations=providerhub_metadata_authorizations, + provider_authentication=providerhub_metadata_authentication, third_party_provider_authorization=third_party_provider_authorization) - properties = models.ProviderRegistrationProperties(provider_authentication=provider_authentication, provider_authorizations=provider_authorizations, provider_version=provider_version, provider_type=provider_type, provider_hub_metadata=providerhub_metadata, namespace=namespace, - features_rule=features_rule, management=management, capabilities=capabilities, metadata=metadata, template_deployment_options=template_deployment_options) - parameters = models.ProviderRegistration(properties=properties) + properties = models.ProviderRegistration( + properties=models.ProviderRegistrationProperties(provider_authentication=provider_authentication, provider_authorizations=provider_authorizations, provider_version=provider_version, provider_type=provider_type, provider_hub_metadata=providerhub_metadata, namespace=namespace, + features_rule=features_rule, management=management, capabilities=capabilities, metadata=metadata, template_deployment_options=template_deployment_options, + required_features=required_features) + ) body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ProviderRegistration') + body_content = self._serialize.body(properties, 'ProviderRegistration') body_content_kwargs['content'] = body_content request = self._client.put( url, query_parameters, header_parameters, **body_content_kwargs) @@ -237,15 +245,18 @@ def begin_create_or_update( service_tree_infos, # type: list["models.ServiceTreeInfo"] resource_access_policy, # type: "models.ResourceProviderManagementResourceAccessPolicy" required_features_policy, # type: "models.FeaturesPolicy" + required_features, # type: list[str] opt_in_headers, # type: "models.OptInHeaderType" - # type: list["models.SubscriptionStateOverrideAction"] managed_by_tenant_id, # type: str # type: "models.ResourceProviderAuthorization" - providerhub_metadata_provider_authorizations, + providerhub_metadata_authorizations, # type: "models.ResourceProviderAuthentication" - providerhub_metadata_rp_authentication, - # type: "models.LightHouseAuthorization" - lighthouse_authorizations, + providerhub_metadata_authentication, + lighthouse_authorizations, # type: "models.LightHouseAuthorization" + # type: list["models.SubscriptionStateOverrideAction"] + subscription_state_override_actions, + resource_access_roles, # type: list[object] + soft_delete_ttl, # type: duration **kwargs # type: Any ): # type: (...) -> LROPoller["models.ProviderRegistration"] @@ -255,7 +266,7 @@ def begin_create_or_update( :type provider_namespace: str :param properties: The provider registration properties supplied to the CreateOrUpdate operation. - :type properties: ~providerhub.models.ProviderRegistration + :type properties: ~provider_hub.models.ProviderRegistration :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -263,7 +274,7 @@ def begin_create_or_update( :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of LROPoller that returns either ProviderRegistration or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~providerhub.models.ProviderRegistration] + :rtype: ~azure.core.polling.LROPoller[~provider_hub.models.ProviderRegistration] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop( @@ -295,11 +306,15 @@ def begin_create_or_update( service_tree_infos=service_tree_infos, resource_access_policy=resource_access_policy, required_features_policy=required_features_policy, + required_features=required_features, opt_in_headers=opt_in_headers, managed_by_tenant_id=managed_by_tenant_id, - providerhub_metadata_provider_authorizations=providerhub_metadata_provider_authorizations, - providerhub_metadata_rp_authentication=providerhub_metadata_rp_authentication, + providerhub_metadata_authorizations=providerhub_metadata_authorizations, + providerhub_metadata_authentication=providerhub_metadata_authentication, lighthouse_authorizations=lighthouse_authorizations, + resource_access_roles=resource_access_roles, + subscription_state_override_actions=subscription_state_override_actions, + soft_delete_ttl=soft_delete_ttl, cls=lambda x, y, z: x, **kwargs ) @@ -322,7 +337,7 @@ def get_long_running_output(pipeline_response): if polling is True: polling_method = ARMPolling(lro_delay, lro_options={ - 'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + 'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: @@ -407,7 +422,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ProviderRegistrationArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.ProviderRegistrationArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.ProviderRegistrationArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop( @@ -476,70 +491,6 @@ def get_next(next_link=None): list.metadata = { 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations'} # type: ignore - def list_by_resource_group( - self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.ProviderRegistrationArrayResponseWithContinuation" - """Pending route: Gets the list of the provider registrations by the resource group. - - :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: ProviderRegistrationArrayResponseWithContinuation, or the result of cls(response) - :rtype: ~providerhub.models.ProviderRegistrationArrayResponseWithContinuation - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.ProviderRegistrationArrayResponseWithContinuation"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-11-20" - accept = "application/json" - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - 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( - 'ProviderRegistrationArrayResponseWithContinuation', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_by_resource_group.metadata = { - 'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ProviderHub/providerRegistrations'} # type: ignore - def generate_operations( self, provider_namespace, # type: str @@ -552,7 +503,7 @@ def generate_operations( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: list of OperationsDefinition, or the result of cls(response) - :rtype: list[~providerhub.models.OperationsDefinition] + :rtype: list[~provider_hub.models.OperationsDefinition] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop( diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registration_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registration_operations.py index 9ed3a835ba2..c2a9c9e201e 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registration_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registration_operations.py @@ -49,11 +49,79 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + def get( + self, + provider_namespace, # type: str + resource_type, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ResourceTypeRegistration" + """Gets a resource type details in the given subscription and provider. + + :param provider_namespace: The name of the resource provider hosted within ProviderHub. + :type provider_namespace: str + :param resource_type: The resource type. + :type resource_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceTypeRegistration, or the result of cls(response) + :rtype: ~provider_hub.models.ResourceTypeRegistration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop( + 'cls', None) # type: ClsType["models.ResourceTypeRegistration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-11-20" + accept = "application/json" + + # 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), + 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query( + "api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header( + "accept", accept, 'str') + + 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( + 'ResourceTypeRegistration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore + def _create_or_update_initial( self, provider_namespace, # type: str resource_type, # type: str - routing_type, # type: "models.RoutingType" + routing_type, # type: str or "models.RoutingType" regionality, # type: "models.Regionality" endpoints, # type: list["models.ResourceTypeEndpoint"] resource_creation_begin, # type: "models.ExtensionOptions" @@ -83,6 +151,7 @@ def _create_or_update_initial( resource_deletion_policy, # type: "models.ResourceDeletionPolicy" opt_in_headers, # type: "models.OptInHeaderType" required_features_policy, # type: "models.FeaturesPolicy" + extensions, # type: "models.ResourceTypeExtension" **kwargs # type: Any ): # type: (...) -> "models.ResourceTypeRegistration" @@ -104,6 +173,7 @@ def _create_or_update_initial( 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type) # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -121,14 +191,16 @@ def _create_or_update_initial( opt_in_headers=opt_in_headers) if opt_in_headers else None features_rule = models.FeaturesRule( required_features_policy=required_features_policy) if required_features_policy else None + extensions = models.ResourceTypeExtension( + extensions=extensions) if extensions else None extension_options = models.ResourceTypeExtensionOptions(resource_creation_begin=resource_creation_begin, resource_patch_begin=resource_patch_begin) if resource_creation_begin or resource_patch_begin else None - params = models.ResourceTypeRegistration(routing_type=routing_type, regionality=regionality, endpoints=endpoints, extension_options=extension_options, marketplace_type=marketplace_type, swagger_specifications=swagger_specifications, allowed_unauthorized_actions=allowed_unauthorized_actions, authorization_action_mappings=authorization_action_mappings, linked_access_checks=linked_access_checks, default_api_version=default_api_version, logging_rules=logging_rules, throttling_rules=throttling_rules, required_features=required_features, features_rule=features_rule, enable_async_operation=enable_async_operation, + properties = models.ResourceTypeRegistration(routing_type=routing_type, regionality=regionality, endpoints=endpoints, extension_options=extension_options, marketplace_type=marketplace_type, swagger_specifications=swagger_specifications, allowed_unauthorized_actions=allowed_unauthorized_actions, authorization_action_mappings=authorization_action_mappings, linked_access_checks=linked_access_checks, default_api_version=default_api_version, logging_rules=logging_rules, throttling_rules=throttling_rules, required_features=required_features, features_rule=features_rule, enable_async_operation=enable_async_operation, enable_third_party_s2s=enable_third_party_s2s, is_pure_proxy=is_pure_proxy, identity_management=identity_management, check_name_availability_specifications=check_name_availability_specifications, disallowed_action_verbs=disallowed_action_verbs, service_tree_infos=service_tree_infos, request_header_options=request_header_options, subscription_state_rules=subscription_state_rules, template_deployment_options=template_deployment_options, extended_locations=extended_locations, resource_move_policy=resource_move_policy, resource_deletion_policy=resource_deletion_policy) body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(params, 'ResourceTypeRegistration') + body_content = self._serialize.body(properties, 'ResourceTypeRegistration') body_content_kwargs['content'] = body_content request = self._client.put( url, query_parameters, header_parameters, **body_content_kwargs) @@ -156,13 +228,13 @@ def _create_or_update_initial( return deserialized _create_or_update_initial.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def begin_create_or_update( self, provider_namespace, # type: str resource_type, # type: str - routing_type, # type: "models.RoutingType" + routing_type, # type: str or "models.RoutingType" regionality, # type: "models.Regionality" endpoints, # type: list["models.ResourceTypeEndpoint"] resource_creation_begin, # type: "models.ExtensionOptions" @@ -192,6 +264,7 @@ def begin_create_or_update( resource_deletion_policy, # type: "models.ResourceDeletionPolicy" opt_in_headers, # type: "models.OptInHeaderType" required_features_policy, # type: "models.FeaturesPolicy" + extensions, # type: "models.ResourceTypeExtension", **kwargs # type: Any ): # type: (...) -> LROPoller["models.ResourceTypeRegistration"] @@ -255,6 +328,7 @@ def begin_create_or_update( resource_deletion_policy=resource_deletion_policy, opt_in_headers=opt_in_headers, required_features_policy=required_features_policy, + extensions=extensions, cls=lambda x, y, z: x, **kwargs ) @@ -293,7 +367,7 @@ def get_long_running_output(pipeline_response): else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) begin_create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def delete( self, @@ -321,6 +395,7 @@ def delete( api_version = "2020-11-20" accept = "application/json" + # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { @@ -329,6 +404,7 @@ def delete( 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type) # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -355,4 +431,14 @@ def delete( if cls: return cls(pipeline_response, None, {}) delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore + + def constructResourceTypeUrl( + self, + url, + resourceName + ): + # type: str + resourceName = resourceName.split("/") + resourceTypeUrlSuffix = "/resourcetypeRegistrations/".join(resourceName) + return url + resourceTypeUrlSuffix diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registrations_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registrations_operations.py index 2b3decf1cec..accf6a2f2eb 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registrations_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_resource_type_registrations_operations.py @@ -6,7 +6,6 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from typing import TYPE_CHECKING -import datetime import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error @@ -16,12 +15,12 @@ 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 typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -from .. import models +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[[ @@ -35,7 +34,7 @@ class ResourceTypeRegistrationsOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -65,7 +64,7 @@ def get( :type resource_type: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ResourceTypeRegistration, or the result of cls(response) - :rtype: ~providerhub.models.ResourceTypeRegistration + :rtype: ~provider_hub.models.ResourceTypeRegistration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop( @@ -85,6 +84,7 @@ def get( 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type) # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -115,7 +115,7 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def _create_or_update_initial( self, @@ -151,6 +151,9 @@ def _create_or_update_initial( resource_deletion_policy, # type: "models.ResourceDeletionPolicy" opt_in_headers, # type: "models.OptInHeaderType" required_features_policy, # type: "models.FeaturesPolicy" + # type: "list[~provider_hub.models.SubscriptionStateOverrideAction]" + subscription_state_override_actions, + soft_delete_ttl, # type: "~datetime.timedelta" **kwargs # type: Any ): # type: (...) -> "models.ResourceTypeRegistration" @@ -172,6 +175,7 @@ def _create_or_update_initial( 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type) # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -191,13 +195,17 @@ def _create_or_update_initial( required_features_policy=required_features_policy) if required_features_policy else None extension_options = models.ResourceTypeExtensionOptions(resource_creation_begin=resource_creation_begin, resource_patch_begin=resource_patch_begin) if resource_creation_begin or resource_patch_begin else None + subscription_lifecycle_notification_specifications = models.SubscriptionLifecycleNotificationSpecifications( + subscription_state_override_actions=subscription_state_override_actions, soft_delete_ttl=soft_delete_ttl) if subscription_state_override_actions or soft_delete_ttl else None + properties = models.ResourceTypeRegistrationProperties(routing_type=routing_type, regionality=regionality, endpoints=endpoints, extension_options=extension_options, marketplace_type=marketplace_type, swagger_specifications=swagger_specifications, allowed_unauthorized_actions=allowed_unauthorized_actions, authorization_action_mappings=authorization_action_mappings, linked_access_checks=linked_access_checks, default_api_version=default_api_version, logging_rules=logging_rules, throttling_rules=throttling_rules, required_features=required_features, features_rule=features_rule, enable_async_operation=enable_async_operation, - enable_third_party_s2s=enable_third_party_s2s, is_pure_proxy=is_pure_proxy, identity_management=identity_management, check_name_availability_specifications=check_name_availability_specifications, disallowed_action_verbs=disallowed_action_verbs, service_tree_infos=service_tree_infos, request_header_options=request_header_options, subscription_state_rules=subscription_state_rules, template_deployment_options=template_deployment_options, extended_locations=extended_locations, resource_move_policy=resource_move_policy, resource_deletion_policy=resource_deletion_policy) - params = models.ResourceTypeRegistration(properties=properties) + enable_third_party_s2s=enable_third_party_s2s, is_pure_proxy=is_pure_proxy, identity_management=identity_management, check_name_availability_specifications=check_name_availability_specifications, disallowed_action_verbs=disallowed_action_verbs, service_tree_infos=service_tree_infos, request_header_options=request_header_options, subscription_state_rules=subscription_state_rules, template_deployment_options=template_deployment_options, extended_locations=extended_locations, resource_move_policy=resource_move_policy, resource_deletion_policy=resource_deletion_policy, + subscription_lifecycle_notification_specifications=subscription_lifecycle_notification_specifications) + resourceTypeRegistration = models.ResourceTypeRegistration(properties=properties) body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(params, 'ResourceTypeRegistration') - + body_content = self._serialize.body( + resourceTypeRegistration, 'ResourceTypeRegistration') body_content_kwargs['content'] = body_content request = self._client.put( url, query_parameters, header_parameters, **body_content_kwargs) @@ -225,7 +233,7 @@ def _create_or_update_initial( return deserialized _create_or_update_initial.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def begin_create_or_update( self, @@ -261,6 +269,9 @@ def begin_create_or_update( resource_deletion_policy, # type: "models.ResourceDeletionPolicy" opt_in_headers, # type: "models.OptInHeaderType" required_features_policy, # type: "models.FeaturesPolicy" + # type: "list[~provider_hub.models.SubscriptionStateOverrideAction]" + subscription_state_override_actions, + soft_delete_ttl, # type: "~datetime.timedelta" **kwargs # type: Any ): # type: (...) -> LROPoller["models.ResourceTypeRegistration"] @@ -270,8 +281,9 @@ def begin_create_or_update( :type provider_namespace: str :param resource_type: The resource type. :type resource_type: str - :param properties: The resource type registration parameters supplied to the CreateOrUpdate operation. - :type properties: ~providerhub.models.ResourceTypeRegistration + :param properties: The required request body parameters supplied to the resource type + registration CreateOrUpdate operation. + :type properties: ~provider_hub.models.ResourceTypeRegistration :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -279,7 +291,7 @@ def begin_create_or_update( :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of LROPoller that returns either ResourceTypeRegistration or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~providerhub.models.ResourceTypeRegistration] + :rtype: ~azure.core.polling.LROPoller[~provider_hub.models.ResourceTypeRegistration] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop( @@ -324,6 +336,8 @@ def begin_create_or_update( resource_deletion_policy=resource_deletion_policy, opt_in_headers=opt_in_headers, required_features_policy=required_features_policy, + subscription_state_override_actions=subscription_state_override_actions, + soft_delete_ttl=soft_delete_ttl, cls=lambda x, y, z: x, **kwargs ) @@ -347,7 +361,7 @@ def get_long_running_output(pipeline_response): if polling is True: polling_method = ARMPolling(lro_delay, lro_options={ - 'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + 'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: @@ -362,7 +376,7 @@ def get_long_running_output(pipeline_response): else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) begin_create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def delete( self, @@ -398,6 +412,7 @@ def delete( 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type) # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -423,8 +438,9 @@ def delete( if cls: return cls(pipeline_response, None, {}) + delete.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}'} # type: ignore + 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def list_by_provider_registration( self, @@ -438,7 +454,7 @@ def list_by_provider_registration( :type provider_namespace: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ResourceTypeRegistrationArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.ResourceTypeRegistrationArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.ResourceTypeRegistrationArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop( @@ -508,3 +524,13 @@ def get_next(next_link=None): ) list_by_provider_registration.metadata = { 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations'} # type: ignore + + def constructResourceTypeUrl( + self, + url, + resourceName + ): + # type: str + resourceName = resourceName.split("/") + resourceTypeUrlSuffix = "/resourcetypeRegistrations/".join(resourceName) + return url + resourceTypeUrlSuffix diff --git a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_skus_operations.py b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_skus_operations.py index 5b3cf4c4f17..92f0e4e117f 100644 --- a/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_skus_operations.py +++ b/src/providerhub/azext_providerhub/vendored_sdks/providerhub/operations/_skus_operations.py @@ -13,17 +13,15 @@ from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar -from .. import models +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]] - + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class SkusOperations(object): """SkusOperations operations. @@ -32,7 +30,7 @@ class SkusOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~providerhub.models + :type models: ~provider_hub.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -65,7 +63,7 @@ def get( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -85,28 +83,24 @@ def get( 'sku': self._serialize.url("sku", sku, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type, sku) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -114,13 +108,14 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus/{sku}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def create_or_update( self, provider_namespace, # type: str resource_type, # type: str sku, # type: str + properties, # type: "models.ResourceTypeSku" **kwargs # type: Any ): # type: (...) -> "models.SkuResource" @@ -132,9 +127,11 @@ def create_or_update( :type resource_type: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -143,6 +140,7 @@ def create_or_update( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL @@ -154,28 +152,31 @@ def create_or_update( 'sku': self._serialize.url("sku", sku, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type, sku) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.put(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = { + 'properties': self._serialize.body(properties, 'ResourceTypeSku') + } + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -183,8 +184,7 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus/{sku}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def delete( self, @@ -224,33 +224,29 @@ def delete( 'sku': self._serialize.url("sku", sku, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type, sku) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus/{sku}'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def get_nested_resource_type_first( self, @@ -273,7 +269,7 @@ def get_nested_resource_type_first( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -285,8 +281,7 @@ def get_nested_resource_type_first( accept = "application/json" # Construct URL - # type: ignore - url = self.get_nested_resource_type_first.metadata['url'] + url = self.get_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -298,25 +293,20 @@ def get_nested_resource_type_first( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -324,8 +314,7 @@ def get_nested_resource_type_first( return cls(pipeline_response, deserialized, {}) return deserialized - get_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore + get_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore def create_or_update_nested_resource_type_first( self, @@ -333,6 +322,7 @@ def create_or_update_nested_resource_type_first( resource_type, # type: str nested_resource_type_first, # type: str sku, # type: str + properties, # type: "models.ResourceTypeSku" **kwargs # type: Any ): # type: (...) -> "models.SkuResource" @@ -346,9 +336,11 @@ def create_or_update_nested_resource_type_first( :type nested_resource_type_first: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -357,11 +349,11 @@ def create_or_update_nested_resource_type_first( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.create_or_update_nested_resource_type_first.metadata['url'] + url = self.create_or_update_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -373,25 +365,24 @@ def create_or_update_nested_resource_type_first( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - request = self._client.put(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeSku') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -399,8 +390,7 @@ def create_or_update_nested_resource_type_first( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore + create_or_update_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore def delete_nested_resource_type_first( self, @@ -435,8 +425,7 @@ def delete_nested_resource_type_first( accept = "application/json" # Construct URL - # type: ignore - url = self.delete_nested_resource_type_first.metadata['url'] + url = self.delete_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -448,31 +437,25 @@ def delete_nested_resource_type_first( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore + delete_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus/{sku}'} # type: ignore def get_nested_resource_type_second( self, @@ -498,7 +481,7 @@ def get_nested_resource_type_second( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -510,8 +493,7 @@ def get_nested_resource_type_second( accept = "application/json" # Construct URL - # type: ignore - url = self.get_nested_resource_type_second.metadata['url'] + url = self.get_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -524,25 +506,20 @@ def get_nested_resource_type_second( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -550,8 +527,7 @@ def get_nested_resource_type_second( return cls(pipeline_response, deserialized, {}) return deserialized - get_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore + get_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore def create_or_update_nested_resource_type_second( self, @@ -560,6 +536,7 @@ def create_or_update_nested_resource_type_second( nested_resource_type_first, # type: str nested_resource_type_second, # type: str sku, # type: str + properties, # type: "models.ResourceTypeSku" **kwargs # type: Any ): # type: (...) -> "models.SkuResource" @@ -575,9 +552,11 @@ def create_or_update_nested_resource_type_second( :type nested_resource_type_second: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -586,11 +565,11 @@ def create_or_update_nested_resource_type_second( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.create_or_update_nested_resource_type_second.metadata['url'] + url = self.create_or_update_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -603,25 +582,24 @@ def create_or_update_nested_resource_type_second( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - request = self._client.put(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeSku') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -629,8 +607,7 @@ def create_or_update_nested_resource_type_second( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore + create_or_update_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore def delete_nested_resource_type_second( self, @@ -668,8 +645,7 @@ def delete_nested_resource_type_second( accept = "application/json" # Construct URL - # type: ignore - url = self.delete_nested_resource_type_second.metadata['url'] + url = self.delete_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -682,31 +658,25 @@ def delete_nested_resource_type_second( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore + delete_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus/{sku}'} # type: ignore def get_nested_resource_type_third( self, @@ -735,7 +705,7 @@ def get_nested_resource_type_third( :type sku: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -747,8 +717,7 @@ def get_nested_resource_type_third( accept = "application/json" # Construct URL - # type: ignore - url = self.get_nested_resource_type_third.metadata['url'] + url = self.get_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -762,25 +731,20 @@ def get_nested_resource_type_third( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -788,8 +752,7 @@ def get_nested_resource_type_third( return cls(pipeline_response, deserialized, {}) return deserialized - get_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore + get_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore def create_or_update_nested_resource_type_third( self, @@ -799,6 +762,7 @@ def create_or_update_nested_resource_type_third( nested_resource_type_second, # type: str nested_resource_type_third, # type: str sku, # type: str + properties, # type: "models.ResourceTypeSku" **kwargs # type: Any ): # type: (...) -> "models.SkuResource" @@ -816,9 +780,11 @@ def create_or_update_nested_resource_type_third( :type nested_resource_type_third: str :param sku: The SKU. :type sku: str + :param properties: The required body parameters supplied to the resource sku operation. + :type properties: ~provider_hub.models.ResourceTypeSku :keyword callable cls: A custom type or function that will be passed the direct response :return: SkuResource, or the result of cls(response) - :rtype: ~providerhub.models.SkuResource + :rtype: ~provider_hub.models.SkuResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResource"] @@ -827,11 +793,11 @@ def create_or_update_nested_resource_type_third( } error_map.update(kwargs.pop('error_map', {})) api_version = "2020-11-20" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - # type: ignore - url = self.create_or_update_nested_resource_type_third.metadata['url'] + url = self.create_or_update_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -845,25 +811,24 @@ def create_or_update_nested_resource_type_third( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') - - request = self._client.put(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(properties, 'ResourceTypeSku') + 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]: - map_error(status_code=response.status_code, - response=response, error_map=error_map) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SkuResource', pipeline_response) @@ -871,8 +836,7 @@ def create_or_update_nested_resource_type_third( return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore + create_or_update_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore def delete_nested_resource_type_third( self, @@ -913,8 +877,7 @@ def delete_nested_resource_type_third( accept = "application/json" # Construct URL - # type: ignore - url = self.delete_nested_resource_type_third.metadata['url'] + url = self.delete_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -928,31 +891,25 @@ def delete_nested_resource_type_third( # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) - delete_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore + delete_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus/{sku}'} # type: ignore def list_by_resource_type_registrations( self, @@ -969,11 +926,10 @@ def list_by_resource_type_registrations( :type resource_type: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -984,36 +940,31 @@ def list_by_resource_type_registrations( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations.metadata['url'] + url = self.list_by_resource_type_registrations.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), } url = self._client.format_url(url, **path_format_arguments) + url = self.constructResourceTypeUrl(url, resource_type) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1022,24 +973,20 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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_type_registrations.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/skus'} # type: ignore + list_by_resource_type_registrations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/'} # type: ignore def list_by_resource_type_registrations_nested_resource_type_first( self, @@ -1059,11 +1006,10 @@ def list_by_resource_type_registrations_nested_resource_type_first( :type nested_resource_type_first: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -1074,14 +1020,11 @@ def list_by_resource_type_registrations_nested_resource_type_first( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations_nested_resource_type_first.metadata[ - 'url'] + url = self.list_by_resource_type_registrations_nested_resource_type_first.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -1091,21 +1034,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1114,24 +1053,20 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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_type_registrations_nested_resource_type_first.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus'} # type: ignore + list_by_resource_type_registrations_nested_resource_type_first.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/skus'} # type: ignore def list_by_resource_type_registrations_nested_resource_type_second( self, @@ -1154,11 +1089,10 @@ def list_by_resource_type_registrations_nested_resource_type_second( :type nested_resource_type_second: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -1169,14 +1103,11 @@ def list_by_resource_type_registrations_nested_resource_type_second( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations_nested_resource_type_second.metadata[ - 'url'] + url = self.list_by_resource_type_registrations_nested_resource_type_second.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -1187,21 +1118,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1210,24 +1137,20 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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_type_registrations_nested_resource_type_second.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus'} # type: ignore + list_by_resource_type_registrations_nested_resource_type_second.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/skus'} # type: ignore def list_by_resource_type_registrations_nested_resource_type_third( self, @@ -1253,11 +1176,10 @@ def list_by_resource_type_registrations_nested_resource_type_third( :type nested_resource_type_third: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SkuResourceArrayResponseWithContinuation or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~providerhub.models.SkuResourceArrayResponseWithContinuation] + :rtype: ~azure.core.paging.ItemPaged[~provider_hub.models.SkuResourceArrayResponseWithContinuation] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop( - 'cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] + cls = kwargs.pop('cls', None) # type: ClsType["models.SkuResourceArrayResponseWithContinuation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } @@ -1268,14 +1190,11 @@ def list_by_resource_type_registrations_nested_resource_type_third( def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header( - "accept", accept, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL - # type: ignore - url = self.list_by_resource_type_registrations_nested_resource_type_third.metadata[ - 'url'] + url = self.list_by_resource_type_registrations_nested_resource_type_third.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'providerNamespace': self._serialize.url("provider_namespace", provider_namespace, 'str'), @@ -1287,21 +1206,17 @@ def prepare_request(next_link=None): url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query( - "api_version", api_version, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - request = self._client.get( - url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): - deserialized = self._deserialize( - 'SkuResourceArrayResponseWithContinuation', pipeline_response) + deserialized = self._deserialize('SkuResourceArrayResponseWithContinuation', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1310,21 +1225,30 @@ def extract_data(pipeline_response): def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run( - request, stream=False, **kwargs) + 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) + 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_type_registrations_nested_resource_type_third.metadata = { - 'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus'} # type: ignore + list_by_resource_type_registrations_nested_resource_type_third.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}/resourcetypeRegistrations/{nestedResourceTypeFirst}/resourcetypeRegistrations/{nestedResourceTypeSecond}/resourcetypeRegistrations/{nestedResourceTypeThird}/skus'} # type: ignore + + def constructResourceTypeUrl( + self, + url, + resourceName, + sku=None + ): + # type: str + resourceName = resourceName.split("/") + resourceTypeUrlSegment = "/resourcetypeRegistrations/".join(resourceName) + skuUrlSegment = f"/skus/{sku}" if sku else "/skus" + + return url + resourceTypeUrlSegment + skuUrlSegment diff --git a/src/providerhub/gen.zip b/src/providerhub/gen.zip index cc5f6897c4e89e966e549bd36d6df61255c4ce83..4a2014133c779077d7fd48f4b7838ca03ba86749 100644 GIT binary patch delta 4960 zcmeHLYit}>6<*uxjbpp(wH-g#vB&Eq>&K2Ku@h<;ObDqTO`2qF$FKUa9`9VQC*GY| zW@ck2)^-gDA*Div9+d*Z6>1Arf6xS0;!o6I1Of?!>i(+`eHihNM-d=JAR;(-cV4?$ z)AECV8S8rQJ@=e*&-w1TXXf0!2gP4}wd9V>r-uYzx++IsfFT-d|ecXvX)rk4(4wx$gib{s;U1)tgWzEMk>l{ z_?svE;@9W?aX;vA(8hhV@DGNr6+4wks1K?eXCdUQg36Mn#xO7O$_+*#5mA=ZA>WF^ z-xQ+>6+Y)3ggce(5G~m;rP3j1bCEfMw@QC!4fYOupy5yxqbpR`#W-tfCA_L7)IO5n zG4|rY3z%j+}sDAWAwqoN8Z$+sX|6<&6FD z>o$Z^qLAbiqRI&+Ohzf-Dz~LXlAICLDtAc?E3zuDYQ4i0fH916iAN9Pd>EZhNC<_X zYBUttSR|&A%{Y3%Wx&D{q2{m5@k%TzO6x?RE*v&||F~#emKAM{8BQpO?Ej2{;dQ=E z1_-HK6heI;9|w}Ls2~D%kMmcyHedBIe$c$t-khC{$pQwD0X#-b1OlD`_>KFsR^(!w zLb9^~n%qADsnrG7Jd?STZ1o>aLRzkAw8i+lwH>LjENR)up5NM9Sn$!^#h*cJ*502- zCX51Z*bMgx!VAa}z$S=lJj&moLKzJhk4BVJ8a8CkcU@qzM<<162RW!7+|%qC*QG`Y z=EkS+?C7k7U`ooysv%;;sV?!5!Blhp%1ATRV7HFiXS#*`BtDB7sJH7XVCl%L2_C## zTMqY+)Lr2dFuM!M*!eZF7FFUM{whg@3UJrvEP3aGsR&9Bl zQj?uS@L|ihEpw3Qj3Ss&-FhCr(RMv&25vHcwi9-oDi==x*VO`JwZ~w`7qDjAI(}6& z0)OZjE}BT6I`;b_=;>lGB%6@S3%fxl{C1|o&h1SnJ3DPQw{>`dt-b~ijyIO+X_LUo zE-xH!Z^`I*Cg=ipO|B03@Wjio-92h4W(J(_%|KI1T~Dwo(J%u>FgrgK!>bA*lj{lG zSQ=vMqC}&X?)jv~O9HPLL9B^H(Pyq=_Z0S%$$)tx3Iq{V5?4|rCMIIm3Sk-F=u}bG z68x4R%9F;Lo12>%y^DFa1eJ^yoTC%DrsS`z^kr3G!k}3lHog6@-1B}uFw2jC$pG^P z1kW(=C$=URpt;`H9|5ET6#7glTpnqLUo1Qf5^Rr-J_0HO)R*8=en&ovwxlhun682X>}yI(Dbqa%b;X z*yKBBda|?QGd%o##^cuugh^T-_yPx42%WR7$Y1TX6$zK{i;#+#--MmBPrzeUx-I{o z1@!O9@tIb5arP<0(NjhTBWTXVf`P?3o9kbg^BQdRaKE9&8dS~KL+UXbDw#m0l?xkk9uwdAM1J%fa`#9LK z56t|CGqviPywOPua2jcPU}hv1o8i@d{m>bN(1Z)Vdd66u>RmMK!@>KDhLbpOE!kvy z?SpA+z*IfFGy~r^GR6K9V;$K2B^{TFP`7bx&V>FtV6PKHqTnB7@KbfQH$t>f-c)Co zSw1Ga%Hdz3+itzoW3x3p+*|GjZTayjgDlZ9En5@$=La8O3^42D#*m+$UVp$;W-m$g zewA95G_Np60pC_8iu?1cB9Mj1F-w%o;&vj2VT0@nkp(j;yC!)22&9}9&BIX z3t!?KEKjd-vJaJiv!J|rsdKOzdaaXvsG7eOR)evna^@vZuCn}V9z&hOadO4M6u6n9 rk!os#ihC{R3Z-aEjg~G1O|F)mv6lMa#ZniQD#O1Q@B(f2Ejs!S9S%ek literal 48848 zcmeHwOLyBymS)b>%$zyiRxf6Wqgwb$3h#&7u49$#bUGhSwWQ4Iu5=zv00@Y%NJ0sa zvgtbcCwgE1VAg$lGxIm*&&*=J8-V~p5&$9DW@c5FGi{PUJa62%@3?XN)o=dGozLjc zZ~y%-|Mc=N|MsuH{Q}?dcOTE#d;V^AewAm}Y0UG{JbXRl#jJQeX7u@*zhjfDF+VS6 z{HhpUEq-vFQab zvx&XWA@ZoKM(v&c=B6JMH;DAAWQE_45O5|7c#!vdKv{9%u7ev41t6 ztvxzF$~ge^ZT{U=jL$nyYfZ&G(Fl3YBhkuvE}J=zM3sAlWRJA`;*l1Ocyw7jd6iB1 z{ewFi{s0*AAwZ$gbNQHFmCv7OKl~_)QZvJ765qSa-fJ~v)?}}PvR6&^s@)Zps3Gy^ z?qHzm45nTWda-x+ z(Q1d~T;<38Zg5}l4RF8UvtBSRM%mk4Lzwz(0Mkc;Z^Wi7UzA`Cf{zW@uhU}ohsAM8 z3{Ut4eoHFU3*KWC-!;6c&s)R$MtJ#*Cu}~RtZbmd z^Gid&8J4brbf5PB+OzXk0V3*=YXEKSl#$oF;LE=Ahbx4oF!wAS`Hg!W2s*p;ALAHbkKfOeUeL|tv~&yz*l z)PHUgc>68ljUh!b0oa zuP)H;nCYt;#aN|ACGl@9aNflR>Qh^V?2Z^heE_Sl?P3kTnjP@%6&ZVAcamIT`Lh=r z$W-lJk^QQ}b~6772=)>xf_+#z=qZ=@e1=hRVg z?v13Q4d9e^X5I}QWjEd(cvO!&hR<<>xlR)A#y7p_xPtjA2i=j)T6Mn4JzGuJ5xZhx zI!O2cJpyc2E0hp3T@Gji2ltogSZ?y5S6T{BJY~_Wj%W<^?t74GgoT zDY!b|O`6UI5e(-nnhp4brDJVx#K%_?{*<1=oIZ@QNz*{8+By6UFrN>|=K~jwwpZHW zHTYbzd5$M)g?lwK<7~2Q<1A0v1#hZY!GE^6LZ>gMGoDY`xU=Xr&kG0*+MYSoI}3LD z7j8rs)ZABvM=}>SzG>H%)O=TweJ7fd>UtH`TePIA@Gl2L5^tKBks9185O*TfsIFIm z*eu{&XnQv^M;|v**LEx;2>oH9Hs}j%;TCJ48ucc?%umk9Ro{IehBA`a3@&IgFqq^Q zKYt7u3PGn4yx6MJ<-8OWZ-R7+51&`^+%E)BHIP9ykljd3jX+hxcjL=WIb31ODyHs8 zCRd%WqUw(2bG4n%z!2-~M#KWNz3e4usm*mxyml49JCe542nIBQRVcTLTznc|W$AQQ zXnQ~W`OmLk@3E`&dno}F_;v6D{vj*%KzAV_A-I5Fr~EA*{`d(0j5BG2u8RHJ4KugB#;`dbg=bwLU zl1|88oI%7%XA5ml{b(#$N@P+pdL})&O$Cd$?BaswgW`%umC?P>0H;AIDiu!}K(wdT zD-M!ujL@FJJWrqOjb^i};$VOOBAr1^B-wHQ@cnuq2WG#|-s4}Q+Oq+5M_JY<_m|NirwEB!?|95lj`y1YQSIMOp{0Q?Rs)c*<_N>e z7MvG1V?8G&^EzAKxsrnHx4rKqh-zpJn|4Q3QH`Ks(|$N<+`bqTZd8Zd$5|8U?x?q0 zr?o}90I#6YupT>+;#L0*tMNgi{Puh{0GjYXg62O8BAkuVd@CNi~UqQ|3z3KbJ@dQ-`!FO3_d-x1DTO8bk9&kPLQR zv2EEkf79H!dy%)X;PzFPyz3WU=8}PavUP4GvSp_Y(wl_l-w>JIqzYSDbvwQY*7OUb zi)4?#er#z(J306UtP@M}w}N!5F1K|{U(v2C?8F8^eE)-t4Gqe&VxGdTA=T!(MtBST zxgz;nfVsK5KkrtkY3jRCr(1yBxG{c3?EB`nq}#8RWH#L!VmG?;r(LYZHUCxd;9ah| zAokshz8gjPuVm31vFBIBN^g!krL#+D!p}O+P?0jcBM%m_#b3l#)xb_^EFWNd-h}Rr zxuk4jH+-@S>W!%XD`J+v%;Ifhn-ZeCVVpZyy+$PXRdLT>1`W3GQMod^;iP{}SkQ=0 zzan<}p~!T+l3(aIuO9s0|MfpU`;7kn0fiYkR)gcu*^{EFo~FLN5LWUW$dw`U=`X)UtY z-LwwL{#)y;XGoA9@*7v{HNN$}ZZ$y4rf}ooN#eb=TKyntQ)K7|G|&q`?fv%xReSZG z^RI%Y%b<*{^IcZxHNa)@o&#DxZ?|O{SEF8UXmw7@w*utt@@G}B z%7XdBkM~>a(00CA4MN*3HP)p;NegdSsmI9H`?;K9MHP@_wRjtXbpw(*~JA}+$(C(=Jq5bz*vX0(+ ztlLsL-2&fb!EFn=EZN{XSXugI$p-WCM#&zqpa!W}vq&o(K0T({-hvd0Kd1>I68C7K z=i2qzVFVQ_*JnAXT%X10h1k@wEZ7HUWXV2*lqEZc*)ACh>5}9@h?fvHDN}s2P$*v? zFB9l1(UB_OtN(!PDi|T86Ycywou;$%^Lqs!Cy%rTEWar5@!;|;eJiD0id`?}NGW!& zrTIsYqQ}YoVb$7tI~C)lazokpa4xd6-}`g*lKQ#Zo(A&nfp#~^vR5q$>uT=!pGmx@ z)}Ee};ms@7*?S}!!P?K0^xc!YF#nR+q{uoB^_~~vvVoPlcYiqWete`|^2L+8`2|D; z*m=@)iN-{Azoc-atl5D>`s1_Rs%uy=se^(5`>l?R?RoNGp+d>r5|=$+_f z4~Lv5cpUq-ks#wv;0BJzJts~)&qs=S+p`SaNc_mOZ2S)Pr1-dpYY9eKexUsk=hPSS zCIap8Tlx{vtprae>YfEUMg4nK>lsq_A7JgiK^mJ^*|la`nqeK7!GWP`beLTm=)SJ2 z((02|`y$g|!>#XF2%9_BrE`W7>vkxv>?65%-f=kC_`W*W{MvFe5fXRqf*q-aIgz z1H;%dc)1(2(`R25Y6$AHoPo|GGY-PojUC2$=rWgwR&1KFi|LrU&UD>1EzVT6k2eG3 zz_bpmZ8N|D_VJjm87P-ueU`&_JUd`MbHcz(ywG)Q#uD8PVqXuL;roGYhOX(jwyO3q zhi~`?j<;n2Ko4ffU6pH~3gSi#7RTki4cgl*kK2}oN46fgm=`lVZhEd~yPQY54ByDzVlH0ehNC7 z7sF`==iYcRTqb_lAX%U1shpUu8Qy`VALu2?de}y?emFCK)Nok|8?#IB40Itl{M7=K z6ZgdAEV?wcd%rUb&ou9=(Gsnze}AB@l&`<4e^G#Y_Hd^Ml2Tzg!|pO^E=(+f(t)=1v#urdxT=RmjQ z27RbIRwH>|X1+MeCb<0tT;k<48qaY@%@MAIiBDyEwqlus(a=TN|)g|)4LoB4@rJATX@FER`r{3!sz z0EQ-DP27$W*KnEX7^<4WQdUe@aY>MNd=HrI1`pMv+u^El00L<_Ti~y*5}IWiyUx;B z`vYhSvSVK08XS4a5DBMoHk)$XqeM7s1r;>a97;^HOy)$kX+}QS7dL{0d5Hs3jpkxY8i9s6VprPbG+U(zq_c#z zImW$BBHLe~DJ(+PzXI9@pGFJq^Yk6E9MU9h&!{H3xiP;JGHwjW8vbe)o>ltQSu+^u zb{$h!C|_sITlYyhgD9(_${BRC(Neado7KP+Z&G7@US*&~#iHAR@;uM89FqMN7L#ie zTyQm3sJU6`8+xr>BOwt;G^JI9XwY8zgiqkAh;dgIi@%+Y7f)vST$1yZPTLz$$RaZB ztfT`HOo7wT+iR=tk*i1(EkM8FIk2^3463zqS2`Ap?a+x$EAfITu&r44&B%%pkH;2m z(S(DsCL1E!M`WACGY`y)6tzhDl5O&9(zC|!@w76{c5<$`Vaa3_BsP&i@>ca;eU=bQ zeBUt4#I`K}%+U=CLagW75ugTH$`0_rFeA@W)f63jHjh)>3U_&(<XcVCrx9?FTYjkz}fgEXc+FfD-I}UDIO!!7U{1g2_H(j?R3c+ z+ne2JwLYr)_XpbPY%vCYrtgOJ=k@RFYaxqknoXm3v?_bgc(6)9SAp)O z`vHp~lQS=ljK~jMLyw?B$DR)ms-;vY%BF9!x%OCm7(w85AZT4E0(RO5kdB0DrBzRX zM_KT-41A3)Hk6bj!_A1up^Oa6r%+uWH62D#HlN}S$4pDektoQCYqg{9I^6y=;%}hg z{%OQA?eT2ze)JyS`eBtF*fDoJX8JA%2a8<*GVvfjhh7kefg7`gxry$q!|e-%`C=!q zg2mb~A`L<|o6X0->JeTJ`7)y?OK9#5wx`7!Oi5n!Q9aug~Ow)5X zhr-5!5O$*|(t!b$D5B`nmvik4x&jw}AHSK8IEM|_>>y5m1X7dTm-Y?}kNSb_%C&6Q z*eW~n5pvK+ls!~rJzdrB%bg=Axw~An^;!C`Z|jNc2Da^ZM#$p;^GjeDHb9IyN2*aX zjsjCvQ?vXR;z|E9XH)Gll+%j^zV%1n)hX*XFnG(9mpZAq$`?2)W#FUi0{$EXaxB$X zp`_|g2bMN8rl!|`h|@T$6n>B)Xtq%I>bhck-EW{D;euhAc9yU&N%^=kMs4<0qAH)x zCsL)sCd5ssL@tFN>~cONi>>NVeU=F8CERi#hU-!6lYu-0H_*LE50b$5^w0`CKe6?w zi6IoQW{sG3cnK>Ddjqa&+K^c+TYm_qAYTqx`SMoFO!gN2z$r!eR?Pn4i+QNMP!~V{ z2+I~F@C7ISX%5Xt0AVSPmpu45%f^CQL6j+T+=63^iu+<)=+*%DFO-iYyD*mfVRIE; zp~n+pJ;wdg(GLs*=i+Nix5_D6 z;}jqvx?gED?Ih&z=;TN3bOFQV1g$XP+L{U?!l0Kxod1e1zNedzOM?Ji-y)c#zLX)= zDwmWsG`X%viDjCB<43j)Z;@$m!?ztChnRb)2a%uX)jB99c{;+q^CL+1j_1O1?b#1! z^C?TxV&wa`C8Ih#NTv4D3IkypBTRug491SrpT>enLhzF_b(f0W+Dw@q1P};3-+(R5 zF})ar4&nVyJS%YwH?+KnyOF!$bA2{qZ`oM;l7T}$whiBbhunS`i>IFF^`C4_r66Zt zaA1~h*j8HtQGhgA&~$;^S6B2!=@2SI`%;A?u@(|9M8H{T{4u-^QQ`TtKo)drv8+U! zuDq!Z?1*mr5r$vNwXVTw3U?~l{Cc;9VgQU99;gb5pbGSxWCz0s*@+Rokd6z)qJRls zX$v-~Ot-3PiJ#1HZQl<=c=rv@ag4|_VeK(Fb6EtnFmfH=XFA(Zp^N;IUCwjxd$I?) zmg_!LkNU4zeT%~A0N+-r1h%3l=C9F?EEdp3pfu+pizr3CfTX}stHbp0K%@FZiwg~A z7-)#&jCBZAAewcPwjh`tu)jrdh!)b5E&@)wN%8|SI@QM`tlS;r`G$03Db7$;B%&`} z+M8%|0!zZ`SUSo|$qFsDm04#VtJbI+nRpD_Wl$t+OE*m;G2#%>18};VkW(2jHYDdC z@YhpAQS|dwI%X6|GvYB=210VoX*%vurOx1g5ULdX>(Gf21hFlIhE|(YLfr092?kNN z)G@BpY`nCH!B5^nE2P3z389a)(n}*aPyyVSFr`SSiEgeT7KF%+a`1?{qG5VUo)*}y z1@5;uQL4`6w1#gAIC3DNT|mBLt+I~tri^A2NYm^BJn@o4A}um>_&Ch>f3Jme1m!{D z%Z1;EY&8>&71~=w!K^?6B&gg zCYR5rQ$hgMQu_!?{Gk&<#BwCY3@@@;5X2_Zod|P0fLSV_0x;=RI08Xmp@PyCZWEp- zm58(1h}cSH07CN?A{`dDw{TqRA=O(vfa$4yGH3aM&_<0)8tw4_jkvZ3n-mO$_zvS& ziZ#JyE9A!pN`@G3%~9XpftXMSLDIX3FN{K0M}!-qA0oqu zIY*2D>@Suc`)*=GgAWqVj%_b&-7f1S`VS*GCZ^iyh>fskN01vvE%G%j-+FB-9=`Dc z1R9jzo{qBFMnFqb)fYrtv{x`5z!*d}AxUg*(D^E zfX<*7ASUc3_5vaZAyGz%?I|gr@J_Pnir!cdC0**Ph*++oafR-p2X+@@DqE&_pqet; zB}gEOnEZc7z*9IoI!cyJSHqFcRg6|1%-9zsjW%hV!U~4{4>7N!IiewoYp!UvYbzew z9)qXZ4Y(5^(hV_{y2Dr)I+o*eIPBv%F?7#$RW&70d_QJ!I!SZwgr%3Txjw$e1H=>G zYO$e^I&e#GlXeTs)urSn>{o|$O_KKP)u|A4onWbSZj#its%l!BHNX>vNdvl=@>;bQ zE*0Pfjjp}a351RnH&}a75tb%`Kf0TIE{!*E<3tq5rfrGzIJ|}l6;{~JVPZ$colNey zl+xAk)n`dW41{MHa6hsTF&_wQH5{n;cECL-`G#Y`zk>*BH`xdY70hW2hv#6Nk|GuO zsOjhrSDyFBuevs+A6RfzZVRa-8>e9y7FmkHra^zliy0hwQq}K_)R}?=1Zl>fPRZo2??uG!GfU_jzjtK_m`M#Mry5~8zl^8za zD}5`nbk|bV)E@mZ%V9+Q0yqIZ8wl92j^zytEF7VV(ss!c5^u zf+l3SiQ^*V6d}5>y7(Jr`9F=)1<* zvm6FXSSY`}5)*`sm4$CGTVYriRu29S!YBM@P$q=6%&=C3el=-Ao(E)q(dgp16KS|V zOD7yR*imB{#CxWNID`vnGn-D)2XO_!^%?`{(r!Oho5fF{m5^Mc3B^{IA~5rvMKxTfzQRMh059mdQv;N5|T5;3I_tZYVT zZtSL`QI4(poGt~NX^*ecF(QY0$9LCu40Hp~A2Bg=s`SJAv&D zkp_flg+@XN@JaWAE|<&^-AmtGTfu3QYSqml?WGV>4TTm`4v-+aB>zq6L~5@hb!DkO zis(aDodIbWh18ZSzw^@FpgK@=B7|ib2aHVSAwDQ3lb!{ey6reDaT$U;0>sETPG#v* z^zv|$U5p@m&%k}A_;<+YK|d=A#RvNb<~9)qVi~rpFa=B~WM4U9q%BPnzz%w_u4vRp z%qAFf3t3wOP^7yILOwSwoihW@YMjTSBQ^-Ca$KDSo@?TA}D-ygVk7pFb z&ZjLMHq%i+NC|nZ@j?(yv^VUUm7GD6$YAM&UYiPdwr?>5hfNZQ8IUS;CyAoSL&S?4 zx=CcZ5&R9|##-m__hSkOpmYNRaqy<`P(8Zcu6F69(^h{%DdmHFlO#a+N{2Pzwk(%^ z8Sk_GVWt7@)!Xwne?a%+8L;mv0c8C({Z98|YQf&YpdJZQ?v5uKk1^3QxrC)1@%gc_yV- zI|@FVbOLS+ahgnnw{b>?W4gs%7%XViSQ159G}sr@F&W!BEGnlHvdfiP87dRrQjKL$ z!RE*?F*2(xH4D`v$pU24A?a6BCaUbJL%%z`fP<(V1`^NES9dW%f5q%!T+Co$%qt*d zc}MT$*sqWMEqszBmi#o&u+;6tf_vhUApHhrxf05?W>h`(S(0v{aBigTP>r~Nr;02RdvExnU{cqAami=DYn#KvBT3W zPIyexG||f|$kja@8E+9;g$Yn7s{li3gy`tFWVSo3SXsfhbbT}HHV)LBJ?$YAQyCi;?oQaf)COFMgxEiuF@p7amEG#7ME1C)bGyEXD4jt!yjGceZ< zekf0&5(6H-dVWSn_+j9cmkq)4ODFn8xCC4~F#3)WaZ|=j@VEn{CGJJ=Js{XY4Wgq0 zloFCbvyLLNO^ikcT+oP#JCjLUYHyMn@w}rA>ISCN>y%6%XyFtmB)B9^UF1VeXAGHv zQv`|BUh4*U>Dl8XXTk)kOrq_iu~a*k)aU%Up`Cv9UB}=R06_3=KJ&7_6o!!tP;*RU zlESzsvSpBXO5W2A$Ve(JW1OYq^nImPlxAxRnGrqA%M+y}l~bT(r%PCp z{kzZTt`Wfet{f|oe%QL#mk?359mDztGWe2Hyo`kphRlIvyIQ^=XI^2f*02-> z;gSk*062mr8Kz;&<~Si2*vxe!C`Pa=+Y#c!l1)+YFpp-4&VhR>W>+{Eveo`qx7WZq z0poF*XrNVZg={ZEap+8d3Z5lCMOL~ngVqmwh!Eg{){rp=fnlZ{CvN1xXX#m?X@rai zaL7Q#({bX=LbeOt-U#kkKiIbYNML<>aI_&wN;SRP9SIcMgQ!A@bmiH=he{`80yYpp zvUv^$E&#FJ)3(uIg%_LRj&gQMEbl0Yg`#$`HW)}W5&8(SbX*G2Vtc(7kxC)z=D;c) z3ukWT)0n|N)`LWml88}O14F!s49LR{R8y6-Xc^R026uPN;TY6QQfhpNNbuIe>!zl4 zB)i$^NyFfQ0Y@^pFkCbKsVM;zuj3IXu)6 z&l|P)E4H6W@hN8V1%l3IXcVE+I!H4(#f>=^)7436L+q))TI~p>Kv3;~}iKF1Xw}0vyJ`#1Rb7 zbJ*t*@J_!X`tdXsZtun;ysMkSfH8C1(J0Vdai*Vtjp(8=65Qg1YC4_sZ>Pc&|40Rp z!MqU7;Z&W@mPcAi$^vO7u_mEV=F$&W9eJhqlIyjacp(qLRbgYfUDFP2sCWqv5fGn5 zb_|b{0ct`==Qg&-ihumW{pNL4Ktcr@-YR*dtabB@aM}^)@$2V!kHG8zAJ{Gm7%WP} z@Rn0w-!Kof?Tsj`=v7yAt7@pvk`5uH1qsn0O8If*aSPdIEDr{CgplEAR}fhiGSMNQ z%!be42=4kEmfACf$H7~vJ&xpqA)-9#!4_Z08bX3fS249M9`poz?C|?j0sa9FUm<-} zJswa5dq|@Ytn4_u7-qelp(&Y;l2!=yY=5~iH(^MoSrNRuttkwu%fyRR=7@JH z10l3lA6=LvZW2Vud*S-bk8toBXZR6vk3i-Gywiq97JeIdgJFJ&qsx=+D?%wJM?t%Z+?Esb!uir}ro zb)6Bc4gU=viHWpe&Klm@CK4P3$krDpRscf=L-s@@^MjSe36Y-AF-;x>@aw5+ihsVy zF6U!P*)YM8L_`#3upQ!SOQ(t@)X-IT$hoydSEm_l*z}~)FHg`a2e3TJA;E{(k218C zoCcMD=xana4EQ>c z6^S-dwr#IjixunI@2BN4a56{__&d1VXvdHztTgSk_du{v>midq(b(F{S4Pa{iZ?T= zMmqSZgCs5q4%;OLQev7&Ns2hDfWadiBEy)Ar;**NAU)7Nhk6ev!k|Nf@(iIl2U2(} zeV*Irv`!vyJT`r=on^u|tvyZbD!!4W^$FdwK4a1b4CpA@b}Eszxi2`rQ=y!Eshh%8~sOCcwKd68*}&7zSejue){ z(voAXO%@4wKn;;64ymeeHVcVh-~wmJKINMMv+Mv;YiQymma3*`;g{(I>;s(qDukC9 zc?IZq)COTi3svq+!=YSo2xCw(QEOoGA#9^%I3^JhnUn`pEaP|K_8TE?`7Iqtf@Nx2 zcM1!(j)F;6Ch+l=0X=Fu<&s+#A{-nf*@6mfL!LoaiP!=H=yqhpaexRxq)d(7ji`VV zIFO*%52v}QIA#PQGJD$J}m|82j!m^FJYoTJ3RaD zR6WsNS1AO(#nGUgVq!Fra#Y5Wn)-`F)rutIg@(*Pq%P9|3$hQ&l{`?TH0>TmhP>XR zY|7ZfL;kR$)~z7moK6g>;? z;(jfRtt^Jb1pAmj(j>{G0)_#(w%*8!UHaA?m!=z;gRK_MtN{JpROCpdRiFcqy%zvR z50N+&9CXVfyq?_vPUUdf``S=%(*RvbxtXPPs*e5$4-Uxycp#6?)DQ*e1|)<2un)YH z7+4k>u-AJPF6{+EAx`ImqD*WZ4D@A$hfp4R_i@Am98pNMClu*)m=F@mK%#ztNlD;J^Qe&;Rqk>DT`U DkDd1I diff --git a/src/providerhub/report.md b/src/providerhub/report.md index 6224197cb79..dd5db31a8fa 100644 --- a/src/providerhub/report.md +++ b/src/providerhub/report.md @@ -11,17 +11,19 @@ |---------|------------|--------| |az providerhub custom-rollout|CustomRollouts|[commands](#CommandsInCustomRollouts)| |az providerhub default-rollout|DefaultRollouts|[commands](#CommandsInDefaultRollouts)| -|az providerhub manifest||[commands](#CommandsInManifest)| +|az providerhub||[commands](#CommandsIn)| +|az providerhub notification-registration|NotificationRegistrations|[commands](#CommandsInNotificationRegistrations)| +|az providerhub operation|Operations|[commands](#CommandsInOperations)| |az providerhub provider-registration|ProviderRegistrations|[commands](#CommandsInProviderRegistrations)| |az providerhub resource-type-registration|ResourceTypeRegistrations|[commands](#CommandsInResourceTypeRegistrations)| -|az providerhub resource-type-registration|ResourceTypeRegistration|[commands](#CommandsInResourceTypeRegistration)| +|az providerhub sku|Skus|[commands](#CommandsInSkus)| ## COMMANDS -### Commands in `az providerhub manifest` group +### Commands in `az providerhub manifest` group |CLI Command|Operation Swagger name|Parameters|Examples| |---------|------------|--------|-----------| -|[az providerhub manifest checkin](#CheckinManifest)|CheckinManifest|[Parameters](#ParametersCheckinManifest)|[Example](#ExamplesCheckinManifest)| |[az providerhub manifest generate](#GenerateManifest)|GenerateManifest|[Parameters](#ParametersGenerateManifest)|[Example](#ExamplesGenerateManifest)| +|[az providerhub manifest checkin](#CheckinManifest)|CheckinManifest|[Parameters](#ParametersCheckinManifest)|[Example](#ExamplesCheckinManifest)| ### Commands in `az providerhub custom-rollout` group |CLI Command|Operation Swagger name|Parameters|Examples| @@ -39,11 +41,24 @@ |[az providerhub default-rollout delete](#DefaultRolloutsDelete)|Delete|[Parameters](#ParametersDefaultRolloutsDelete)|[Example](#ExamplesDefaultRolloutsDelete)| |[az providerhub default-rollout stop](#DefaultRolloutsStop)|Stop|[Parameters](#ParametersDefaultRolloutsStop)|[Example](#ExamplesDefaultRolloutsStop)| +### Commands in `az providerhub notification-registration` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az providerhub notification-registration list](#NotificationRegistrationsListByProviderRegistration)|ListByProviderRegistration|[Parameters](#ParametersNotificationRegistrationsListByProviderRegistration)|[Example](#ExamplesNotificationRegistrationsListByProviderRegistration)| +|[az providerhub notification-registration show](#NotificationRegistrationsGet)|Get|[Parameters](#ParametersNotificationRegistrationsGet)|[Example](#ExamplesNotificationRegistrationsGet)| +|[az providerhub notification-registration create](#NotificationRegistrationsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersNotificationRegistrationsCreateOrUpdate#Create)|[Example](#ExamplesNotificationRegistrationsCreateOrUpdate#Create)| +|[az providerhub notification-registration delete](#NotificationRegistrationsDelete)|Delete|[Parameters](#ParametersNotificationRegistrationsDelete)|[Example](#ExamplesNotificationRegistrationsDelete)| + +### Commands in `az providerhub operation` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az providerhub operation list](#OperationsListByProviderRegistration)|ListByProviderRegistration|[Parameters](#ParametersOperationsListByProviderRegistration)|[Example](#ExamplesOperationsListByProviderRegistration)| +|[az providerhub operation create](#OperationsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersOperationsCreateOrUpdate#Create)|[Example](#ExamplesOperationsCreateOrUpdate#Create)| +|[az providerhub operation delete](#OperationsDelete)|Delete|[Parameters](#ParametersOperationsDelete)|[Example](#ExamplesOperationsDelete)| + ### Commands in `az providerhub provider-registration` group |CLI Command|Operation Swagger name|Parameters|Examples| |---------|------------|--------|-----------| -|[az providerhub provider-registration list](#ProviderRegistrationsListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersProviderRegistrationsListByResourceGroup)|[Example](#ExamplesProviderRegistrationsListByResourceGroup)| -|[az providerhub provider-registration list](#ProviderRegistrationsList)|List|[Parameters](#ParametersProviderRegistrationsList)|[Example](#ExamplesProviderRegistrationsList)| |[az providerhub provider-registration show](#ProviderRegistrationsGet)|Get|[Parameters](#ParametersProviderRegistrationsGet)|[Example](#ExamplesProviderRegistrationsGet)| |[az providerhub provider-registration create](#ProviderRegistrationsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersProviderRegistrationsCreateOrUpdate#Create)|[Example](#ExamplesProviderRegistrationsCreateOrUpdate#Create)| |[az providerhub provider-registration delete](#ProviderRegistrationsDelete)|Delete|[Parameters](#ParametersProviderRegistrationsDelete)|[Example](#ExamplesProviderRegistrationsDelete)| @@ -54,35 +69,40 @@ |---------|------------|--------|-----------| |[az providerhub resource-type-registration list](#ResourceTypeRegistrationsListByProviderRegistration)|ListByProviderRegistration|[Parameters](#ParametersResourceTypeRegistrationsListByProviderRegistration)|[Example](#ExamplesResourceTypeRegistrationsListByProviderRegistration)| |[az providerhub resource-type-registration show](#ResourceTypeRegistrationsGet)|Get|[Parameters](#ParametersResourceTypeRegistrationsGet)|[Example](#ExamplesResourceTypeRegistrationsGet)| +|[az providerhub resource-type-registration create](#ResourceTypeRegistrationsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersResourceTypeRegistrationsCreateOrUpdate#Create)|[Example](#ExamplesResourceTypeRegistrationsCreateOrUpdate#Create)| +|[az providerhub resource-type-registration delete](#ResourceTypeRegistrationsDelete)|Delete|[Parameters](#ParametersResourceTypeRegistrationsDelete)|[Example](#ExamplesResourceTypeRegistrationsDelete)| -### Commands in `az providerhub resource-type-registration` group +### Commands in `az providerhub sku` group |CLI Command|Operation Swagger name|Parameters|Examples| |---------|------------|--------|-----------| -|[az providerhub resource-type-registration create](#ResourceTypeRegistrationCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersResourceTypeRegistrationCreateOrUpdate#Create)|[Example](#ExamplesResourceTypeRegistrationCreateOrUpdate#Create)| -|[az providerhub resource-type-registration delete](#ResourceTypeRegistrationDelete)|Delete|[Parameters](#ParametersResourceTypeRegistrationDelete)|[Example](#ExamplesResourceTypeRegistrationDelete)| +|[az providerhub sku list](#SkusListByResourceTypeRegistrations)|ListByResourceTypeRegistrations|[Parameters](#ParametersSkusListByResourceTypeRegistrations)|[Example](#ExamplesSkusListByResourceTypeRegistrations)| +|[az providerhub sku show](#SkusGet)|Get|[Parameters](#ParametersSkusGet)|[Example](#ExamplesSkusGet)| +|[az providerhub sku create](#SkusCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersSkusCreateOrUpdate#Create)|[Example](#ExamplesSkusCreateOrUpdate#Create)| +|[az providerhub sku delete](#SkusDelete)|Delete|[Parameters](#ParametersSkusDelete)|[Example](#ExamplesSkusDelete)| ## COMMAND DETAILS -### group `az providerhub manifest` -#### Command `az providerhub manifest checkin` +### group `az providerhub` +#### Command `az providerhub checkin-manifest` ##### Example ``` -az providerhub manifest checkin --provider-namespace "Microsoft.Contoso" +az providerhub checkin-manifest --baseline-arm-manifest-location "EastUS2EUAP" --environment "Prod" \ +--provider-namespace "Microsoft.Contoso" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| -|**--arm-manifest-location**|string|The baseline ARM manifest location supplied to the checkin manifest operation.|arm_manifest_location|baselineArmManifestLocation| |**--environment**|string|The environment supplied to the checkin manifest operation.|environment|environment| +|**--baseline-arm-manifest-location**|string|The baseline ARM manifest location supplied to the checkin manifest operation.|baseline_arm_manifest_location|baselineArmManifestLocation| -#### Command `az providerhub manifest generate` +#### Command `az providerhub generate-manifest` ##### Example ``` -az providerhub manifest generate --provider-namespace "Microsoft.Contoso" +az providerhub generate-manifest --provider-namespace "Microsoft.Contoso" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -117,7 +137,8 @@ az providerhub custom-rollout show --provider-namespace "Microsoft.Contoso" --ro ##### Example ``` -az providerhub custom-rollout create --provider-namespace "Microsoft.Contoso" --rollout-name "brazilUsShoeBoxTesting" +az providerhub custom-rollout create --canary regions="eastus2euap" --provider-namespace "Microsoft.Contoso" \ +--rollout-name "customRollout20210601" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -126,7 +147,6 @@ az providerhub custom-rollout create --provider-namespace "Microsoft.Contoso" -- |**--rollout-name**|string|The rollout name.|rollout_name|rolloutName| |**--canary**|object||canary|canary| - ### group `az providerhub default-rollout` #### Command `az providerhub default-rollout list` @@ -143,7 +163,7 @@ az providerhub default-rollout list --provider-namespace "Microsoft.Contoso" ##### Example ``` -az providerhub default-rollout show --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout show --provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -155,21 +175,24 @@ az providerhub default-rollout show --provider-namespace "Microsoft.Contoso" --r ##### Example ``` -az providerhub default-rollout create --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout create \ +--provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" \ +--canary skip-regions="eastus2euap" \ +--row2 wait-duration="PT4H" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| |**--rollout-name**|string|The rollout name.|rollout_name|rolloutName| -|**--row2-wait-duration**|string|The wait duration before the rollout begins in rest of the world two.|rest_of_the_world_group_two|restOfTheWorldGroupTwo| -|**--skip-regions**|string|The canary regions to skip.|skip_regions|skipRegions| +|**--canary**|object||canary|canary| +|**--rest-of-the-world-group-two**|object||rest_of_the_world_group_two|restOfTheWorldGroupTwo| #### Command `az providerhub default-rollout delete` ##### Example ``` -az providerhub default-rollout delete --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout delete --provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -181,7 +204,7 @@ az providerhub default-rollout delete --provider-namespace "Microsoft.Contoso" - ##### Example ``` -az providerhub default-rollout stop --provider-namespace "Microsoft.Contoso" --rollout-name "2020week10" +az providerhub default-rollout stop --provider-namespace "Microsoft.Contoso" --rollout-name "2021week20" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -189,6 +212,69 @@ az providerhub default-rollout stop --provider-namespace "Microsoft.Contoso" --r |**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| |**--rollout-name**|string|The rollout name.|rollout_name|rolloutName| +### group `az providerhub notification-registration` +#### Command `az providerhub notification-registration list` + +##### Example +``` +az providerhub notification-registration list --provider-namespace "Microsoft.Contoso" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| + +#### Command `az providerhub notification-registration show` + +##### Example +``` +az providerhub notification-registration show --name "fooNotificationRegistration" --provider-namespace \ +"Microsoft.Contoso" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| +|**--notification-registration-name**|string|The notification registration.|notification_registration_name|notificationRegistrationName| + +#### Command `az providerhub notification-registration create` + +##### Example +``` +az providerhub notification-registration create --name "fooNotificationRegistration" --included-events "*/write" \ +"Microsoft.Contoso/employees/delete" --message-scope "RegisteredSubscriptions" --notification-endpoints locations="" \ +locations="East US" notification-destination="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mgmtex\ +p-eastus/providers/Microsoft.EventHub/namespaces/unitedstates-mgmtexpint/eventhubs/armlinkednotifications" \ +--notification-endpoints locations="North Europe" notification-destination="/subscriptions/00000000-0000-0000-0000-000000000000\ +89bf3e88/resourceGroups/mgmtexp-northeurope/providers/Microsoft.EventHub/namespaces/europe-mgmtexpint/eventhubs/armlink\ +ednotifications" --notification-mode "EventHub" --provider-namespace "Microsoft.Contoso" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| +|**--notification-registration-name**|string|The notification registration.|notification_registration_name|notificationRegistrationName| +|**--notification-mode**|choice|The notification mode.|notification_mode|notificationMode| +|**--message-scope**|choice|The message scope.|message_scope|messageScope| +|**--included-events**|array|The included events.|included_events|includedEvents| +|**--notification-endpoints**|array|The notification endpoints.|notification_endpoints|notificationEndpoints| + +#### Command `az providerhub notification-registration delete` + +##### Example +``` +az providerhub notification-registration delete --name "fooNotificationRegistration" --provider-namespace \ +"Microsoft.Contoso" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| +|**--notification-registration-name**|string|The notification registration.|notification_registration_name|notificationRegistrationName| + +### group `az providerhub operation` +#### Command `az providerhub operation list` + ##### Example ``` az providerhub operation list --provider-namespace "Microsoft.Contoso" @@ -198,27 +284,33 @@ az providerhub operation list --provider-namespace "Microsoft.Contoso" |------|----|-----------|----------|------------| |**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| -### group `az providerhub provider-registration` -#### Command `az providerhub provider-registration list` +#### Command `az providerhub operation create` -##### Example +##### Example ``` -az providerhub provider-registration list --resource-group "sampleResourceGroup" +az providerhub operation create --contents "[{\\"name\\":\\"Microsoft.Contoso/Employees/Read\\",\\"display\\":{\\"descr\ +iption\\":\\"Read employees\\",\\"operation\\":\\"Gets/List employee resources\\",\\"provider\\":\\"Microsoft.Contoso\\\ +",\\"resource\\":\\"Employees\\"}}]" --provider-namespace "Microsoft.Contoso" ``` -##### Parameters +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| +|**--contents**|array||contents|contents| -#### Command `az providerhub provider-registration list` +#### Command `az providerhub operation delete` -##### Example +##### Example ``` -az providerhub provider-registration list +az providerhub operation delete --provider-namespace "Microsoft.Contoso" ``` -##### Parameters +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| + +### group `az providerhub provider-registration` + #### Command `az providerhub provider-registration show` ##### Example @@ -234,10 +326,21 @@ az providerhub provider-registration show --provider-namespace "Microsoft.Contos ##### Example ``` -az providerhub provider-registration create --capabilities effect="Allow" quota-id="CSP_2015-05-01" --capabilities \ -effect="Allow" quota-id="CSP_MG_2017-12-01" --incident-contact-email "helpme@contoso.com" --incident-routing-service \ -"Contoso Resource Provider" --incident-routing-team "Contoso Triage" --provider-type "Internal" --provider-version \ -"2.0" --provider-namespace "Microsoft.Contoso" +az providerhub provider-registration create \ +--providerhub-metadata-authorizations application-id="00000000-0000-0000-0000-000000000000" \ +role-definition-id="00000000-0000-0000-0000-000000000000" \ +--providerhub-metadata-authentication allowed-audiences="https://management.core.windows.net/" \ +--service-tree-infos service-id="00000000-0000-0000-0000-000000000000" \ +component-id="00000000-0000-0000-0000-000000000000" \ +--capabilities effect="Allow" quota-id="CSP_2015-05-01" \ +--capabilities effect="Allow" quota-id="CSP_MG_2017-12-01" \ +--manifest-owners "SPARTA-PlatformServiceAdministrator" \ +--incident-contact-email "helpme@contoso.com" \ +--incident-routing-service "Contoso Resource Provider" \ +--incident-routing-team "Contoso Triage" \ +--provider-type "Internal" \ +--provider-version "2.0" \ +--provider-namespace "Microsoft.Contoso" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -247,6 +350,7 @@ effect="Allow" quota-id="CSP_MG_2017-12-01" --incident-contact-email "helpme@con |**--provider-authorizations**|array||provider_authorizations|providerAuthorizations| |**--provider-version**|string||provider_version|providerVersion| |**--provider-type**|choice||provider_type|providerType| +|**--required-features**|array|The required features.|required_features|requiredFeatures| |**--capabilities**|array||capabilities|capabilities| |**--metadata**|any|Any object|metadata|metadata| |**--template-deployment-options**|object||template_deployment_options|templateDeploymentOptions| @@ -257,11 +361,15 @@ effect="Allow" quota-id="CSP_MG_2017-12-01" --incident-contact-email "helpme@con |**--incident-contact-email**|string||incident_contact_email|incidentContactEmail| |**--service-tree-infos**|array||service_tree_infos|serviceTreeInfos| |**--resource-access-policy**|choice||resource_access_policy|resourceAccessPolicy| +|**--resource-access-roles**|array||resource_access_roles|resourceAccessRoles| +|**--opt-in-headers**|choice||opt_in_headers|optInHeaders| |**--required-features-policy**|choice||required_features_policy|requiredFeaturesPolicy| -|**--providerhub-metadata-provider-authorizations**|array||provider_hub_metadata_provider_authorizations|providerAuthorizations| -|**--providerhub-metadata-rp-authentication**|object||resource_provider_authentication|providerAuthentication| -|**--lighthouse_authorizations**|array||third_party_provider_authorization|thirdPartyAuthorization| -|**--managed-by-tenant-id**|string||managed_by_tenant_id|managedByTenantId| +|**--subscription-state-override-actions**|array||subscription_state_override_actions|subscriptionStateOverrideActions| +|**--soft-delete-ttl**|duration|The soft delete time to live.|soft_delete_ttl|softDeleteTTL| +|**--providerhub-metadata-authorizations**|array||providerhub_metadata_authorizations|providerAuthorizations| +|**--providerhub-metadata-authentication**|object||providerhub_metadata_authentication|providerAuthentication| +|**--lighthouse-authorizations**|array|The lighthouse authorizations.|lighthouse_authorizations|authorizations| +|**--managed-by-tenant-id**|string|The managed by tenant identifier.|managed_by_tenant_id|managedByTenantId| #### Command `az providerhub provider-registration delete` @@ -309,17 +417,39 @@ az providerhub resource-type-registration show --provider-namespace "Microsoft.C |**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| |**--resource-type**|string|The resource type.|resource_type|resourceType| -### group `az providerhub resource-type-registration` -#### Command `az providerhub resource-type-registration create` - -##### Example -``` -az providerhub resource-type-registration create --endpoints api-versions="2020-01-01-preview,2019-01-01" locations="West US, West Central US" required-features="Microsoft.Contoso/RPaaSSampleApp" --regionality \ -"regional" --routing-type "Default" --swagger-specifications api-versions="2020-06-01-preview" \ -swagger-spec-folder-uri="https://github.com/Azure/azure-rest-api-specs/blob/feature/azure/contoso/specification/contoso\ -/resource-manager/Microsoft.SampleRP/" --provider-namespace "Microsoft.Contoso" --resource-type "employees" -``` -##### Parameters +#### Command `az providerhub resource-type-registration create` + +##### Example +``` +az providerhub resource-type-registration create \ +--resource-type "testResourceType" \ +--endpoints api-versions="2018-11-01-preview" api-versions="2020-01-01-preview" api-versions="2019-01-01" locations="West US" locations="North Europe" \ +required-features="Microsoft.Contoso/RPaaSSampleApp" \ +extension-endpoint-uri="https://contoso-test-extension-endpoint.com/" \ +extension-categories="ResourceReadValidate" extension-categories="ResourceDeletionValidate" \ +--regionality "Regional" \ +--routing-type "ProxyOnly" \ +--swagger-specifications api-versions="2018-11-01-preview" api-versions="2020-01-01-preview" api-versions="2019-01-01" \ +swagger-spec-folder-uri="https://github.com/pathtoresourceproviderswaggerspecfolder" \ +--provider-namespace "Microsoft.Contoso" \ +--enable-async-operation false \ +--template-deployment-options preflight-supported="true" \ +preflight-options="DefaultValidationOnly" preflight-options="continueDeploymentOnFailure" +``` + +``` +az providerhub resource-type-registration create \ +--resource-type "testResourceType/nestedResourceType" \ +--endpoints api-versions="2019-01-01" locations="Global" \ +required-features="Microsoft.Contoso/RPaaSSampleApp" \ +extensions=[{{\\"endpointUri\\":\\"https://contoso-test-extension-endpoint.com/\\",\\"extensionCategories\\":[\\"ResourceReadValidate\\",\\"ResourceDeletionValidate\\"]}}] \ +--regionality "Global" \ +--routing-type "ProxyOnly" \ +--swagger-specifications api-versions="2019-01-01" \ +swagger-spec-folder-uri="https://github.com/Azuew/pathtoresourceproviderswaggerspecfolder" \ +--provider-namespace "Microsoft.Contoso" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| @@ -327,8 +457,6 @@ swagger-spec-folder-uri="https://github.com/Azure/azure-rest-api-specs/blob/feat |**--routing-type**|choice||routing_type|routingType| |**--regionality**|choice||regionality|regionality| |**--endpoints**|array||endpoints|endpoints| -|**--resource-patch-begin**|object||resource_patch_begin|resourcePatchBegin| -|**--resource-creation-begin**|object||resource_creation_begin|resourceCreationBegin| |**--marketplace-type**|choice||marketplace_type|marketplaceType| |**--swagger-specifications**|array||swagger_specifications|swaggerSpecifications| |**--allowed-unauthorized-actions**|array||allowed_unauthorized_actions|allowedUnauthorizedActions| @@ -337,7 +465,7 @@ swagger-spec-folder-uri="https://github.com/Azure/azure-rest-api-specs/blob/feat |**--default-api-version**|string||default_api_version|defaultApiVersion| |**--logging-rules**|array||logging_rules|loggingRules| |**--throttling-rules**|array||throttling_rules|throttlingRules| -|**--required-features**|array||required_features|requiredFeatures| +|**--required-features**|array|The required features.|required_features|requiredFeatures| |**--enable-async-operation**|boolean||enable_async_operation|enableAsyncOperation| |**--enable-third-party-s2s**|boolean||enable_third_party_s2s|enableThirdPartyS2S| |**--is-pure-proxy**|boolean||is_pure_proxy|isPureProxy| @@ -351,17 +479,73 @@ swagger-spec-folder-uri="https://github.com/Azure/azure-rest-api-specs/blob/feat |**--resource-move-policy**|object||resource_move_policy|resourceMovePolicy| |**--resource-deletion-policy**|choice||resource_deletion_policy|resourceDeletionPolicy| |**--opt-in-headers**|choice||opt_in_headers|optInHeaders| +|**--subscription-state-override-actions**|array||subscription_state_override_actions|subscriptionStateOverrideActions| +|**--soft-delete-ttl**|duration|The soft delete time to live.|soft_delete_ttl|softDeleteTTL| |**--required-features-policy**|choice||required_features_policy|requiredFeaturesPolicy| +|**--resource-creation-begin**|object||resource_creation_begin|resourceCreationBegin| -#### Command `az providerhub resource-type-registration delete` +#### Command `az providerhub resource-type-registration delete` -##### Example +##### Example ``` az providerhub resource-type-registration delete --provider-namespace "Microsoft.Contoso" --resource-type \ "testResourceType" ``` -##### Parameters +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| +|**--resource-type**|string|The resource type.|resource_type|resourceType| + +### group `az providerhub sku` + +#### Command `az providerhub sku list` + +##### Example +``` +az providerhub sku list --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +#### Command `az providerhub sku show` + +##### Example +``` +az providerhub sku show --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| +|**--resource-type**|string|The resource type.|resource_type|resourceType| +|**--sku**|string|The SKU.|sku|sku| + +#### Command `az providerhub sku create` + +##### Example +``` +az providerhub sku create --sku-settings "[{\\"name\\":\\"freeSku\\",\\"kind\\":\\"Standard\\",\\"tier\\":\\"Tier1\\"},\ +{\\"name\\":\\"premiumSku\\",\\"costs\\":[{\\"meterId\\":\\"xxx\\"}],\\"kind\\":\\"Premium\\",\\"tier\\":\\"Tier2\\"}]"\ + --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| +|**--resource-type**|string|The resource type.|resource_type|resourceType| +|**--sku**|string|The SKU.|sku|sku| +|**--sku-settings**|array||sku_settings|skuSettings| + +#### Command `az providerhub sku delete` + +##### Example +``` +az providerhub sku delete --provider-namespace "Microsoft.Contoso" --resource-type "testResourceType" --sku "testSku" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--provider-namespace**|string|The name of the resource provider hosted within ProviderHub.|provider_namespace|providerNamespace| |**--resource-type**|string|The resource type.|resource_type|resourceType| +|**--sku**|string|The SKU.|sku|sku| diff --git a/src/providerhub/setup.py b/src/providerhub/setup.py index b6a28c9f489..1b478c7517c 100644 --- a/src/providerhub/setup.py +++ b/src/providerhub/setup.py @@ -45,7 +45,7 @@ setup( name='providerhub', version=VERSION, - description='Microsoft Azure Command-Line Tools Providerhub Extension', + description='Microsoft Azure Command-Line Tools ProviderHub Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', url='https://github.com/Azure/azure-cli-extensions/tree/master/src/providerhub', From e792c019d074ada8a31319c88fc7eb20a70bdb96 Mon Sep 17 00:00:00 2001 From: andrew <69653137+greenms@users.noreply.github.com> Date: Thu, 17 Jun 2021 19:10:22 -0700 Subject: [PATCH 02/85] Add entry to service_name.json for redisenterprise (#3463) --- src/service_name.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/service_name.json b/src/service_name.json index 8cbaaf01704..5573f534bef 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -329,6 +329,11 @@ "AzureServiceName": "Azure Quantum", "URL": "https://docs.microsoft.com/azure/quantum/" }, + { + "Command": "az redisenterprise", + "AzureServiceName": "Azure Cache for Redis", + "URL": "https://docs.microsoft.com/azure/azure-cache-for-redis/" + }, { "Command": "az remote-rendering-account", "AzureServiceName": "Azure Remote Rendering", From 097827a4738686ce53a1360d295299c9138a8632 Mon Sep 17 00:00:00 2001 From: jiec Date: Mon, 21 Jun 2021 14:01:10 +0800 Subject: [PATCH 03/85] Migrate instrumentation_key to connection_string for spring-cloud extension (#3467) * For extension: Spring-Cloud Application-Insights, migration instrumentation key to connection string, fall back to instrumentation key when connection string is not available * 1. Update azext.minCliCoreVersion to latest version; 2. Update help info by transforming 'intrumentation key' to 'connection string'; 3. Use concret type of exception to replace general CLIError; 4. fix typo for connection; 5. Add unit test; * Update version number and add release notes Co-authored-by: Mason(Jie) Chen --- src/spring-cloud/HISTORY.md | 3 ++ src/spring-cloud/azext_spring_cloud/_help.py | 6 +-- .../azext_spring_cloud/_params.py | 4 +- .../azext_spring_cloud/azext_metadata.json | 2 +- src/spring-cloud/azext_spring_cloud/custom.py | 46 ++++++++++++------- .../tests/latest/test_asc_ut.py | 43 +++++++++++++++++ src/spring-cloud/setup.py | 2 +- 7 files changed, 83 insertions(+), 23 deletions(-) create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.py diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index d00ea50bf4a..3aa5901cd00 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,5 +1,8 @@ Release History =============== +2.5.0 +----- +* Migration from `instrumentation_key` to `connection_string` when update java agent configurations. 2.4.0 ----- diff --git a/src/spring-cloud/azext_spring_cloud/_help.py b/src/spring-cloud/azext_spring_cloud/_help.py index 4d5ac6f90de..a4bebf8ac4a 100644 --- a/src/spring-cloud/azext_spring_cloud/_help.py +++ b/src/spring-cloud/azext_spring_cloud/_help.py @@ -17,8 +17,8 @@ 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 in westus with an existing Application Insights by using the connection string. + text: az spring-cloud create -n MyService -g MyResourceGroup -l westus --app-insights-key \"MyConnectionString\" - name: Create a new Azure Spring Cloud in westus with an existing Application Insights and enable Java In-Process Agent. text: az spring-cloud create -n MyService -g MyResourceGroup -l westus --enable-java-agent true --app-insights MyInstrumentationName - name: Create a new Azure Spring Cloud with distributed tracing disabled. @@ -462,7 +462,7 @@ short-summary: Update Application Insights settings. examples: - name: Enable Application Insights and Java In-process Agent. - text: az spring-cloud app-insights update -n MyService -g MyResourceGroup --app-insights-key MyInstrumentationKey --sampling-rate 100 + text: az spring-cloud app-insights update -n MyService -g MyResourceGroup --app-insights-key \"MyConnectionString\" --sampling-rate 100 - name: Disable Application Insights. text: az spring-cloud app-insights update -n MyService -g MyResourceGroup --disable """ diff --git a/src/spring-cloud/azext_spring_cloud/_params.py b/src/spring-cloud/azext_spring_cloud/_params.py index 6e441130fb1..0a2db5ff26c 100644 --- a/src/spring-cloud/azext_spring_cloud/_params.py +++ b/src/spring-cloud/azext_spring_cloud/_params.py @@ -49,7 +49,7 @@ def load_arguments(self, _): 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.", + help="Connection string of the existing Application Insights.", validator=validate_tracing_parameters) 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.", @@ -260,7 +260,7 @@ def prepare_logs_argument(c): with self.argument_context('spring-cloud app-insights update') as c: c.argument('app_insights_key', - help="Instrumentation key of the existing Application Insights", + help="Connection string of the existing Application Insights", validator=validate_app_insights_parameters) 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.", diff --git a/src/spring-cloud/azext_spring_cloud/azext_metadata.json b/src/spring-cloud/azext_spring_cloud/azext_metadata.json index aa15278925a..619f41e5c75 100644 --- a/src/spring-cloud/azext_spring_cloud/azext_metadata.json +++ b/src/spring-cloud/azext_spring_cloud/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.0.67" + "azext.minCliCoreVersion": "2.25.0" } \ No newline at end of file diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index 974f5af3dda..9f23883d754 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -11,6 +11,7 @@ from time import sleep from ._stream_utils import stream_logs from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ResourceNotFoundError from msrestazure.tools import parse_resource_id, is_valid_resource_id from ._utils import _get_upload_local_file, _get_persistent_disk_size, get_portal_uri, get_azure_files_info from knack.util import CLIError @@ -1560,12 +1561,26 @@ def domain_unbind(cmd, client, 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): +def get_connection_string_or_instrumentation_key(appinsights): + credential = None + if appinsights: + if hasattr(appinsights, "connection_string") and appinsights.connection_string: + credential = appinsights.connection_string + elif hasattr(appinsights, "instrumentation_key") and appinsights.instrumentation_key: + credential = appinsights.instrumentation_key + return credential + + +def get_app_insights_credential(cli_ctx, resource_group, name): + """ + Application Insights is migrating from instrumentation_key to connection_key. + Get connection_string first, if not exist, fall back to instrumentation_key. + """ 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 + if appinsights is None or (appinsights.connection_string is None and appinsights.instrumentation_key is None): + raise ResourceNotFoundError("App Insights {} under resource group {} was not found.".format(name, resource_group)) + return get_connection_string_or_instrumentation_key(appinsights) def update_tracing_config(cmd, resource_group, service_name, location, app_insights_key, @@ -1578,12 +1593,12 @@ def update_tracing_config(cmd, resource_group, service_name, location, app_insig elif app_insights: 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']) + instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_id_dict['resource_group'], + resource_id_dict['resource_name']) trace_properties = models.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) else: - instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group, app_insights) + instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_group, app_insights) trace_properties = models.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) elif disable_app_insights is not True: @@ -1614,12 +1629,12 @@ def update_java_agent_config(cmd, resource_group, service_name, location, app_in elif app_insights: 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']) + instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_id_dict['resource_group'], + resource_id_dict['resource_name']) trace_properties = models_20201101preview.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) else: - instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group, app_insights) + instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_group, app_insights) trace_properties = models_20201101preview.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) elif enable_java_agent is True: @@ -1658,7 +1673,7 @@ def try_create_application_insights(cmd, resource_group, name, location): } } 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: + if appinsights is None or (appinsights.connection_string is None and appinsights.instrumentation_key is None): logger.warning(creation_failed_warn) return None @@ -1667,8 +1682,7 @@ def try_create_application_insights(cmd, resource_group, name, location): logger.warning('Application Insights \"%s\" was created for this Azure Spring Cloud. ' 'You can visit %s/#resource%s/overview to view your ' 'Application Insights component', appinsights.name, portal_url, appinsights.id) - - return appinsights.instrumentation_key + return get_connection_string_or_instrumentation_key(appinsights) def app_insights_update(cmd, client, resource_group, name, app_insights_key=None, app_insights=None, sampling_rate=None, disable=None, no_wait=False): @@ -1683,10 +1697,10 @@ def app_insights_update(cmd, client, resource_group, name, app_insights_key=None elif app_insights: 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']) + instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_id_dict['resource_group'], + resource_id_dict['resource_name']) else: - instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group, app_insights) + instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_group, app_insights) else: instrumentation_key = trace_properties.app_insights_instrumentation_key if sampling_rate: diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.py new file mode 100644 index 00000000000..d45dde164aa --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.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. +# -------------------------------------------------------------------------------------------- + +import unittest +from azext_spring_cloud.custom import get_connection_string_or_instrumentation_key + +class SimplifiedApplicationInsightsCompoent: + def __init__(self): + self.connection_string = None + self.instrumentation_key = None + + +class AzureSpringCloudTestCase(unittest.TestCase): + def setUp(self): + self._connection_string = "InstrumentationKey=11111111-0000-0000-0000-000000000000;IngestionEndpoint=https://11111111.00.0000000000000000000.00000.000/" + self._instrumentation_key = "11111111-0000-0000-0000-000000000000" + + + def test_get_conenction_string_or_instrumentation_key_case_1_connection_string_exists(self): + appinsights = SimplifiedApplicationInsightsCompoent() + appinsights.connection_string = self._connection_string + appinsights.instrumentation_key = self._instrumentation_key + self.assertEqual(self._connection_string, get_connection_string_or_instrumentation_key(appinsights)) + + + def test_get_conenction_string_or_instrumentation_key_case_2_connection_string_not_exist(self): + appinsights = SimplifiedApplicationInsightsCompoent() + appinsights.connection_string = None + appinsights.instrumentation_key = self._instrumentation_key + self.assertEqual(self._instrumentation_key, get_connection_string_or_instrumentation_key(appinsights)) + + + def test_get_conenction_string_or_instrumentation_key_case_3_no_credential(self): + appinsights = SimplifiedApplicationInsightsCompoent() + appinsights.connection_string = None + appinsights.instrumentation_key = None + self.assertIsNone(get_connection_string_or_instrumentation_key(appinsights)) + + +if __name__ == '__main__': + unittest.main() diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index 70158d028a6..937d3667156 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 = '2.4.0' +VERSION = '2.5.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From bd16344890df15128d27b42a9aa0490fa419fefa Mon Sep 17 00:00:00 2001 From: kavskalyan Date: Mon, 21 Jun 2021 01:07:57 -0700 Subject: [PATCH 04/85] [CosmosDB-preview] Adding capability to convert database account backup policy to continuous and migrating to track 2 sdk (#3514) --- src/cosmosdb-preview/HISTORY.rst | 3 + src/cosmosdb-preview/README.md | 9 + .../azext_cosmosdb_preview/_params.py | 10 +- .../azext_cosmosdb_preview/commands.py | 4 +- .../azext_cosmosdb_preview/custom.py | 20 +- ..._cosmosdb_mongodb_restorable_commands.yaml | 242 +- .../test_cosmosdb_restore_command.yaml | 1137 ++- .../test_cosmosdb_restore_using_create.yaml | 1126 ++- ...test_cosmosdb_sql_restorable_commands.yaml | 235 +- ...cassandra_cluster_without_datacenters.yaml | 774 +- .../test_managed_cassandra_verify_lists.yaml | 1629 +--- ...update_backup_policy_database_account.yaml | 185 +- ...t_update_pitrmigrate_database_account.yaml | 796 ++ .../test_cosmosdb-cassandrami_scenario.py | 16 +- .../latest/test_cosmosdb-pitr_scenario.py | 41 +- .../azure_mgmt_cosmosdb/__init__.py | 18 +- .../azure_mgmt_cosmosdb/_configuration.py | 79 +- .../_cosmos_db_management_client.py | 206 +- .../{version.py => _version.py} | 10 +- .../azure_mgmt_cosmosdb/aio/__init__.py | 10 + .../azure_mgmt_cosmosdb/aio/_configuration.py | 67 + .../aio/_cosmos_db_management_client.py | 233 + .../aio/operations/__init__.py | 75 + .../_cassandra_clusters_operations.py | 973 +++ .../_cassandra_data_centers_operations.py | 566 ++ .../_cassandra_resources_operations.py | 1744 ++++ .../aio/operations/_collection_operations.py | 301 + .../_collection_partition_operations.py | 219 + ..._collection_partition_region_operations.py | 135 + .../_collection_region_operations.py | 135 + ..._cosmos_db_management_client_operations.py | 142 + .../_database_account_region_operations.py | 126 + .../_database_accounts_operations.py | 1583 ++++ .../aio/operations/_database_operations.py | 289 + .../_gremlin_resources_operations.py | 1744 ++++ .../_mongo_db_resources_operations.py | 1744 ++++ .../_notebook_workspaces_operations.py | 726 ++ .../aio/operations/_operations.py | 104 + .../_partition_key_range_id_operations.py | 134 + ...artition_key_range_id_region_operations.py | 139 + .../aio/operations/_percentile_operations.py | 123 + .../_percentile_source_target_operations.py | 133 + .../_percentile_target_operations.py | 128 + ...private_endpoint_connections_operations.py | 430 + .../_private_link_resources_operations.py | 178 + ...restorable_database_accounts_operations.py | 240 + ...storable_mongodb_collections_operations.py | 123 + ...restorable_mongodb_databases_operations.py | 119 + ...restorable_mongodb_resources_operations.py | 129 + .../_restorable_sql_containers_operations.py | 133 + .../_restorable_sql_databases_operations.py | 119 + .../_restorable_sql_resources_operations.py | 129 + .../aio/operations/_service_operations.py | 428 + .../operations/_sql_resources_operations.py | 3935 +++++++++ .../operations/_table_resources_operations.py | 869 ++ .../azure_mgmt_cosmosdb/models/__init__.py | 695 +- .../_cosmos_db_management_client_enums.py | 556 +- .../azure_mgmt_cosmosdb/models/_models.py | 6440 +++++++++------ .../azure_mgmt_cosmosdb/models/_models_py3.py | 7151 +++++++++++------ .../models/_paged_models.py | 456 -- .../operations/__init__.py | 15 +- .../_cassandra_clusters_operations.py | 1272 +-- .../_cassandra_data_centers_operations.py | 727 +- .../_cassandra_resources_operations.py | 2217 ++--- .../operations/_collection_operations.py | 349 +- .../_collection_partition_operations.py | 255 +- ..._collection_partition_region_operations.py | 152 +- .../_collection_region_operations.py | 152 +- ..._cosmos_db_management_client_operations.py | 148 + .../_database_account_region_operations.py | 149 +- .../_database_accounts_operations.py | 2128 ++--- .../operations/_database_operations.py | 343 +- .../_gremlin_resources_operations.py | 2218 ++--- .../_mongo_db_resources_operations.py | 2217 ++--- .../_notebook_workspaces_operations.py | 902 ++- .../operations/_operations.py | 123 +- .../_partition_key_range_id_operations.py | 151 +- ...artition_key_range_id_region_operations.py | 156 +- .../operations/_percentile_operations.py | 147 +- .../_percentile_source_target_operations.py | 157 +- .../_percentile_target_operations.py | 152 +- ...private_endpoint_connections_operations.py | 536 +- .../_private_link_resources_operations.py | 216 +- ...restorable_database_accounts_operations.py | 320 +- ...storable_mongodb_collections_operations.py | 150 +- ...restorable_mongodb_databases_operations.py | 148 +- ...restorable_mongodb_resources_operations.py | 155 +- .../_restorable_sql_containers_operations.py | 159 +- .../_restorable_sql_databases_operations.py | 147 +- .../_restorable_sql_resources_operations.py | 155 +- .../operations/_service_operations.py | 438 + .../operations/_sql_resources_operations.py | 4904 ++++++----- .../operations/_table_resources_operations.py | 1098 +-- src/cosmosdb-preview/linter_exclusions.yml | 23 +- src/cosmosdb-preview/setup.py | 2 +- 95 files changed, 44069 insertions(+), 18755 deletions(-) create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_pitrmigrate_database_account.yaml rename src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/{version.py => _version.py} (84%) create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/__init__.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cosmos_db_management_client_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py delete mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_paged_models.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cosmos_db_management_client_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py diff --git a/src/cosmosdb-preview/HISTORY.rst b/src/cosmosdb-preview/HISTORY.rst index 51fe5fcbf3a..3f0a85737af 100644 --- a/src/cosmosdb-preview/HISTORY.rst +++ b/src/cosmosdb-preview/HISTORY.rst @@ -2,6 +2,9 @@ Release History =============== +0.8.0 +++++++ +* Adding the support for conversion of accounts from periodic to continuous backup policy and updating to python sdk 4.0. 0.7.0 ++++++ diff --git a/src/cosmosdb-preview/README.md b/src/cosmosdb-preview/README.md index 26a55fba89b..f81aa322012 100644 --- a/src/cosmosdb-preview/README.md +++ b/src/cosmosdb-preview/README.md @@ -27,6 +27,15 @@ az cosmosdb create \ --backup-policy-type "Continuous" ``` +#### Convert a periodic backup policy CosmosDB account to continuous backup Account #### + +```sh +az cosmosdb update \ + --resource-group "my-rg" \ + --name "my-continuous-backup-account" \ + --backup-policy-type "Continuous" +``` + #### List all the CosmosDB accounts that can be restored (live and deleted) #### This command returns all the continuous mode backup accounts that can be restored. diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py index 01f4932046c..bd5e4586685 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py @@ -4,7 +4,6 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long, too-many-statements -from enum import Enum from azure.cli.core.commands.parameters import ( get_resource_name_completion_list, name_type, get_enum_type, get_three_state_flag, get_location_type) @@ -19,12 +18,7 @@ from azext_cosmosdb_preview.actions import ( CreateLocation, CreateDatabaseRestoreResource, UtcDatetimeAction) -from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import DefaultConsistencyLevel, DatabaseAccountKind, ServerVersion - - -class BackupPolicyTypes(str, Enum): - periodic = "Periodic" - continuous = "Continuous" +from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import DefaultConsistencyLevel, DatabaseAccountKind, ServerVersion, BackupPolicyType def load_arguments(self, _): @@ -43,7 +37,6 @@ def load_arguments(self, _): c.argument('restore_source', help="The restorable-database-account Id of the source account from which the account has to be restored. Required if --is-restore-request is set to true.", is_preview=True, arg_group='Restore') c.argument('restore_timestamp', action=UtcDatetimeAction, help="The timestamp to which the account has to be restored to. Required if --is-restore-request is set to true.", is_preview=True, arg_group='Restore') c.argument('databases_to_restore', nargs='+', action=CreateDatabaseRestoreResource, is_preview=True, arg_group='Restore') - c.argument('backup_policy_type', arg_type=get_enum_type(BackupPolicyTypes), help="The type of backup policy of the account to create", arg_group='Backup Policy') for scope in ['cosmosdb create', 'cosmosdb update']: with self.argument_context(scope) as c: @@ -65,6 +58,7 @@ def load_arguments(self, _): c.argument('enable_analytical_storage', arg_type=get_three_state_flag(), help="Flag to enable log storage on the account.", is_preview=True) c.argument('backup_interval', type=int, help="the frequency(in minutes) with which backups are taken (only for accounts with periodic mode backups)", arg_group='Backup Policy') c.argument('backup_retention', type=int, help="the time(in hours) for which each backup is retained (only for accounts with periodic mode backups)", arg_group='Backup Policy') + c.argument('backup_policy_type', arg_type=get_enum_type(BackupPolicyType), help="The type of backup policy of the account to create", arg_group='Backup Policy') with self.argument_context('cosmosdb restore') as c: c.argument('target_database_account_name', options_list=['--target-database-account-name', '-n'], help='Name of the new target Cosmos DB database account after the restore') diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py b/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py index 9ee2d6ee0e8..8106e58c6ec 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py @@ -99,11 +99,11 @@ def load_command_table(self, _): g.custom_command('node-status', 'cli_cosmosdb_managed_cassandra_fetch_node_status', table_transformer=amc_node_status_table_format, supports_no_wait=True) g.custom_command('list', 'cli_cosmosdb_managed_cassandra_cluster_list') g.show_command('show', 'get') - g.command('delete', 'delete', confirmation=True, supports_no_wait=True) + g.command('delete', 'begin_delete', confirmation=True, supports_no_wait=True) with self.command_group('managed-cassandra datacenter', cosmosdb_managed_cassandra_datacenter_sdk, client_factory=cf_cassandra_data_center, is_preview=True) as g: g.custom_command('create', 'cli_cosmosdb_managed_cassandra_datacenter_create', supports_no_wait=True) g.custom_command('update', 'cli_cosmosdb_managed_cassandra_datacenter_update', supports_no_wait=True) g.command('list', 'list') g.show_command('show', 'get') - g.command('delete', 'delete', confirmation=True, supports_no_wait=True) + g.command('delete', 'begin_delete', confirmation=True, supports_no_wait=True) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py b/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py index 7539117604c..1e907ead2e3 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py @@ -234,7 +234,7 @@ def _create_database_account(client, tags=tags, kind=kind) - async_docdb_create = client.create_or_update(resource_group_name, account_name, params) + async_docdb_create = client.begin_create_or_update(resource_group_name, account_name, params) docdb_account = async_docdb_create.result() docdb_account = client.get(resource_group_name, account_name) # Workaround return docdb_account @@ -259,7 +259,8 @@ def cli_cosmosdb_update(client, enable_public_network=None, enable_analytical_storage=None, backup_interval=None, - backup_retention=None): + backup_retention=None, + backup_policy_type=None): """Update an existing Azure Cosmos DB database account. """ existing = client.get(resource_group_name, account_name) @@ -291,6 +292,8 @@ def cli_cosmosdb_update(client, backup_policy = None if backup_interval is not None or backup_retention is not None: if isinstance(existing.backup_policy, PeriodicModeBackupPolicy): + if backup_policy_type is not None and backup_policy_type.lower() == 'continuous': + raise CLIError('backup-interval and backup-retention can only be set with periodic backup policy.') periodic_mode_properties = PeriodicModeProperties( backup_interval_in_minutes=backup_interval, backup_retention_interval_in_hours=backup_retention @@ -300,6 +303,9 @@ def cli_cosmosdb_update(client, else: raise CLIError( 'backup-interval and backup-retention can only be set for accounts with periodic backup policy.') + elif backup_policy_type is not None and backup_policy_type.lower() == 'continuous': + if isinstance(existing.backup_policy, PeriodicModeBackupPolicy): + backup_policy = ContinuousModeBackupPolicy() params = DatabaseAccountUpdateParameters( locations=locations, @@ -315,7 +321,7 @@ def cli_cosmosdb_update(client, public_network_access=public_network_access, enable_analytical_storage=enable_analytical_storage, backup_policy=backup_policy) - async_docdb_update = client.update(resource_group_name, account_name, params) + async_docdb_update = client.begin_update(resource_group_name, account_name, params) docdb_account = async_docdb_update.result() docdb_account = client.get(resource_group_name, account_name) # Workaround return docdb_account @@ -449,7 +455,7 @@ def cli_cosmosdb_managed_cassandra_cluster_create(client, identity=identity, properties=cluster_properties) - return client.create_update(resource_group_name, cluster_name, cluster_resource_create_update_parameters) + return client.begin_create_update(resource_group_name, cluster_name, cluster_resource_create_update_parameters) def cli_cosmosdb_managed_cassandra_cluster_update(client, @@ -519,7 +525,7 @@ def cli_cosmosdb_managed_cassandra_cluster_update(client, identity=identity, properties=cluster_properties) - return client.create_update(resource_group_name, cluster_name, cluster_resource_create_update_parameters) + return client.begin_create_update(resource_group_name, cluster_name, cluster_resource_create_update_parameters) def cli_cosmosdb_managed_cassandra_cluster_list(client, @@ -560,7 +566,7 @@ def cli_cosmosdb_managed_cassandra_datacenter_create(client, base64_encoded_cassandra_yaml_fragment=base64_encoded_cassandra_yaml_fragment ) - return client.create_update(resource_group_name, cluster_name, data_center_name, data_center_properties) + return client.begin_create_update(resource_group_name, cluster_name, data_center_name, data_center_properties) def cli_cosmosdb_managed_cassandra_datacenter_update(client, resource_group_name, @@ -586,7 +592,7 @@ def cli_cosmosdb_managed_cassandra_datacenter_update(client, resource_group_name seed_nodes=data_center_resource.properties.seed_nodes, base64_encoded_cassandra_yaml_fragment=base64_encoded_cassandra_yaml_fragment) - return client.create_update(resource_group_name, cluster_name, data_center_name, data_center_properties) + return client.begin_create_update(resource_group_name, cluster_name, data_center_name, data_center_properties) def _gen_guid(): diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml index f0e3a1dacff..9b05105b5b1 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_mongodb_restorable_commands000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001","name":"cli_test_cosmosdb_mongodb_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001","name":"cli_test_cosmosdb_mongodb_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-18T02:52:36Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:02:00 GMT + - Fri, 18 Jun 2021 02:52:37 GMT expires: - '-1' pragma: @@ -47,8 +44,8 @@ interactions: - request: body: '{"location": "westus", "kind": "MongoDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0, "isZoneRedundant": false}], "databaseAccountOfferType": - "Standard", "apiProperties": {}, "backupPolicy": {"type": "Continuous"}, "createMode": - "Default"}}' + "Standard", "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": + "Continuous"}}}' headers: Accept: - application/json @@ -61,37 +58,34 @@ interactions: Content-Length: - '275' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:02.9905636Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:52:41.0486839Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"08e0aeea-018c-4f40-b09c-9fcbf91f8517","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/76c717c9-ab63-49dc-87af-a557261abc69?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '1878' + - '1846' content-type: - application/json date: - - Mon, 24 May 2021 19:02:04 GMT + - Fri, 18 Jun 2021 02:52:43 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/76c717c9-ab63-49dc-87af-a557261abc69?api-version=2021-04-01-preview pragma: - no-cache server: @@ -105,7 +99,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -115,7 +109,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -125,10 +119,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/76c717c9-ab63-49dc-87af-a557261abc69?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -140,7 +133,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:02:35 GMT + - Fri, 18 Jun 2021 02:53:12 GMT pragma: - no-cache server: @@ -154,7 +147,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -162,7 +155,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -172,10 +165,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/76c717c9-ab63-49dc-87af-a557261abc69?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +179,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:05 GMT + - Fri, 18 Jun 2021 02:53:42 GMT pragma: - no-cache server: @@ -201,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -209,7 +201,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -219,10 +211,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/76c717c9-ab63-49dc-87af-a557261abc69?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -234,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:35 GMT + - Fri, 18 Jun 2021 02:54:12 GMT pragma: - no-cache server: @@ -248,7 +239,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -256,7 +247,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -266,10 +257,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/76c717c9-ab63-49dc-87af-a557261abc69?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -281,7 +271,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:05 GMT + - Fri, 18 Jun 2021 02:54:43 GMT pragma: - no-cache server: @@ -295,7 +285,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -303,7 +293,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -313,10 +303,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/76c717c9-ab63-49dc-87af-a557261abc69?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -328,7 +317,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:35 GMT + - Fri, 18 Jun 2021 02:55:13 GMT pragma: - no-cache server: @@ -342,7 +331,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -350,7 +339,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -360,14 +349,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:04:03.0608461Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:54:39.6055414Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"08e0aeea-018c-4f40-b09c-9fcbf91f8517","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West @@ -376,11 +364,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2278' + - '2264' content-type: - application/json date: - - Mon, 24 May 2021 19:04:36 GMT + - Fri, 18 Jun 2021 02:55:13 GMT pragma: - no-cache server: @@ -394,7 +382,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -412,16 +400,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:04:03.0608461Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:54:39.6055414Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"08e0aeea-018c-4f40-b09c-9fcbf91f8517","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West @@ -430,11 +415,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2278' + - '2264' content-type: - application/json date: - - Mon, 24 May 2021 19:04:36 GMT + - Fri, 18 Jun 2021 02:55:13 GMT pragma: - no-cache server: @@ -448,7 +433,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -466,16 +451,13 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:04:03.0608461Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:54:39.6055414Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"08e0aeea-018c-4f40-b09c-9fcbf91f8517","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West @@ -484,11 +466,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2278' + - '2264' content-type: - application/json date: - - Mon, 24 May 2021 19:04:36 GMT + - Fri, 18 Jun 2021 02:55:13 GMT pragma: - no-cache server: @@ -502,7 +484,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -524,15 +506,15 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e163ecb2-f22d-4819-b88c-77b2fcdbe50e?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/0a4e9c5d-dfe6-4b1b-8066-b5eb51f699b3?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -540,9 +522,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:38 GMT + - Fri, 18 Jun 2021 02:55:15 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/operationResults/e163ecb2-f22d-4819-b88c-77b2fcdbe50e?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/operationResults/0a4e9c5d-dfe6-4b1b-8066-b5eb51f699b3?api-version=2021-04-15 pragma: - no-cache server: @@ -552,7 +534,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -572,9 +554,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e163ecb2-f22d-4819-b88c-77b2fcdbe50e?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/0a4e9c5d-dfe6-4b1b-8066-b5eb51f699b3?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -586,7 +568,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:08 GMT + - Fri, 18 Jun 2021 02:55:44 GMT pragma: - no-cache server: @@ -600,7 +582,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -618,9 +600,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-04-15 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' @@ -632,7 +614,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:09 GMT + - Fri, 18 Jun 2021 02:55:45 GMT pragma: - no-cache server: @@ -646,7 +628,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -669,15 +651,15 @@ interactions: ParameterSetName: - -g -a -d -n --shard --throughput User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a2d7a70e-5a3f-42aa-b8fb-108c5df57572?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/37305321-fc5b-477a-a63e-07e6169be92b?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -685,9 +667,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:10 GMT + - Fri, 18 Jun 2021 02:55:47 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/operationResults/a2d7a70e-5a3f-42aa-b8fb-108c5df57572?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/operationResults/37305321-fc5b-477a-a63e-07e6169be92b?api-version=2021-04-15 pragma: - no-cache server: @@ -697,7 +679,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -717,9 +699,9 @@ interactions: ParameterSetName: - -g -a -d -n --shard --throughput User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a2d7a70e-5a3f-42aa-b8fb-108c5df57572?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/37305321-fc5b-477a-a63e-07e6169be92b?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -731,7 +713,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:40 GMT + - Fri, 18 Jun 2021 02:56:16 GMT pragma: - no-cache server: @@ -745,7 +727,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -763,9 +745,9 @@ interactions: ParameterSetName: - -g -a -d -n --shard --throughput User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-04-15 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections","name":"cli000002","properties":{"resource":{"id":"cli000002","shardKey":{"theShardKey":"Hash"},"indexes":[{"key":{"keys":["_id"]}}]}}}' @@ -777,7 +759,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:41 GMT + - Fri, 18 Jun 2021 02:56:17 GMT pragma: - no-cache server: @@ -791,7 +773,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -809,16 +791,13 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08e0aeea-018c-4f40-b09c-9fcbf91f8517?api-version=2021-04-01-preview response: body: - string: '{"name":"e1471531-db85-410c-b75b-55fc5b41767e","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e","properties":{"accountName":"cli000004","apiType":"MongoDB","creationTime":"2021-05-24T19:04:04Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"12188092-81f5-4d40-8c2a-d95f54ee9c97","creationTime":"2021-05-24T19:04:04Z"}]}}' + string: '{"name":"08e0aeea-018c-4f40-b09c-9fcbf91f8517","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08e0aeea-018c-4f40-b09c-9fcbf91f8517","properties":{"accountName":"cli000004","apiType":"MongoDB","creationTime":"2021-06-18T02:54:40Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"de75effe-051e-4cd6-b264-eeeeb0553c24","creationTime":"2021-06-18T02:54:41Z"}]}}' headers: cache-control: - no-store, no-cache @@ -827,7 +806,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:42 GMT + - Fri, 18 Jun 2021 02:56:19 GMT pragma: - no-cache server: @@ -841,7 +820,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -859,15 +838,12 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbDatabases?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08e0aeea-018c-4f40-b09c-9fcbf91f8517/restorableMongodbDatabases?api-version=2021-04-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbDatabases/c93e0660-b24f-4807-9477-17fa4c6f4760","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases","name":"c93e0660-b24f-4807-9477-17fa4c6f4760","properties":{"resource":{"_rid":"6Pm7BAAAAA==","eventTimestamp":"2021-05-24T19:04:45Z","ownerId":"cli000003","ownerResourceId":"ImoCAA==","operationType":"Create"}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08e0aeea-018c-4f40-b09c-9fcbf91f8517/restorableMongodbDatabases/72c6581a-1b9b-4ef3-8d94-6196f3250fc9","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases","name":"72c6581a-1b9b-4ef3-8d94-6196f3250fc9","properties":{"resource":{"_rid":"w9j+mQAAAA==","eventTimestamp":"2021-06-18T02:55:19Z","ownerId":"cli000003","ownerResourceId":"X1xkAA==","operationType":"Create"}}}]}' headers: cache-control: - no-store, no-cache @@ -876,7 +852,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:43 GMT + - Fri, 18 Jun 2021 02:56:19 GMT pragma: - no-cache server: @@ -890,7 +866,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -908,15 +884,12 @@ interactions: ParameterSetName: - --location --instance-id --database-rid User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbCollections?api-version=2021-03-01-preview&restorableMongodbDatabaseRid=ImoCAA%3D%3D + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08e0aeea-018c-4f40-b09c-9fcbf91f8517/restorableMongodbCollections?api-version=2021-04-01-preview&restorableMongodbDatabaseRid=X1xkAA%3D%3D response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbCollections/79f3760b-278d-48f1-b990-138aa4edbd85","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections","name":"79f3760b-278d-48f1-b990-138aa4edbd85","properties":{"resource":{"_rid":"vHusaAAAAA==","eventTimestamp":"2021-05-24T19:05:16Z","ownerId":"cli000002","ownerResourceId":"ImoCAJW6qac=","operationType":"Create"}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08e0aeea-018c-4f40-b09c-9fcbf91f8517/restorableMongodbCollections/d54d35b4-6697-43e6-96fc-c8899d6bd4ba","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections","name":"d54d35b4-6697-43e6-96fc-c8899d6bd4ba","properties":{"resource":{"_rid":"qUzr6AAAAA==","eventTimestamp":"2021-06-18T02:55:53Z","ownerId":"cli000002","ownerResourceId":"X1xkAOvA0tg=","operationType":"Create"}}}]}' headers: cache-control: - no-store, no-cache @@ -925,7 +898,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:45 GMT + - Fri, 18 Jun 2021 02:56:21 GMT pragma: - no-cache server: @@ -939,7 +912,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -957,12 +930,9 @@ interactions: ParameterSetName: - --restore-location -l --instance-id --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbResources?api-version=2021-03-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-05-24T19%3A06%3A04%2B00%3A00 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08e0aeea-018c-4f40-b09c-9fcbf91f8517/restorableMongodbResources?api-version=2021-04-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-06-18T02%3A56%3A40%2B00%3A00 response: body: string: '{"value":[{"databaseName":"cli000003","collectionNames":["cli000002"]}]}' @@ -974,7 +944,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:07:46 GMT + - Fri, 18 Jun 2021 02:58:22 GMT pragma: - no-cache server: @@ -988,7 +958,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml index 6ffe3604839..87f45d7dc9a 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_restore_command000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001","name":"cli_test_cosmosdb_restore_command000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001","name":"cli_test_cosmosdb_restore_command000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-18T02:12:35Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:01:59 GMT + - Fri, 18 Jun 2021 02:12:39 GMT expires: - '-1' pragma: @@ -47,8 +44,8 @@ interactions: - request: body: '{"location": "westus", "kind": "GlobalDocumentDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0, "isZoneRedundant": false}], - "databaseAccountOfferType": "Standard", "apiProperties": {}, "backupPolicy": - {"type": "Continuous"}, "createMode": "Default"}}' + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Default", + "backupPolicy": {"type": "Continuous"}}}' headers: Accept: - application/json @@ -61,37 +58,34 @@ interactions: Content-Length: - '284' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:03.26196Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:12:43.3682193Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/7d885302-661b-4c31-b013-6417095a3d9e?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '1819' + - '1789' content-type: - application/json date: - - Mon, 24 May 2021 19:02:05 GMT + - Fri, 18 Jun 2021 02:12:45 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/7d885302-661b-4c31-b013-6417095a3d9e?api-version=2021-04-01-preview pragma: - no-cache server: @@ -105,7 +99,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -115,7 +109,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -125,10 +119,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/7d885302-661b-4c31-b013-6417095a3d9e?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -140,7 +133,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:02:35 GMT + - Fri, 18 Jun 2021 02:13:15 GMT pragma: - no-cache server: @@ -154,7 +147,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -162,7 +155,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -172,10 +165,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/7d885302-661b-4c31-b013-6417095a3d9e?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +179,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:05 GMT + - Fri, 18 Jun 2021 02:13:46 GMT pragma: - no-cache server: @@ -201,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -209,7 +201,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -219,10 +211,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/7d885302-661b-4c31-b013-6417095a3d9e?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -234,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:36 GMT + - Fri, 18 Jun 2021 02:14:16 GMT pragma: - no-cache server: @@ -248,7 +239,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -256,7 +247,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -266,10 +257,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/7d885302-661b-4c31-b013-6417095a3d9e?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -281,7 +271,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 02:14:46 GMT pragma: - no-cache server: @@ -295,7 +285,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -303,7 +293,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -313,14 +303,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:21.3993288Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:14:01.4423754Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West @@ -329,11 +318,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 02:14:46 GMT pragma: - no-cache server: @@ -347,7 +336,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -365,16 +354,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:21.3993288Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:14:01.4423754Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West @@ -383,11 +369,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 02:14:46 GMT pragma: - no-cache server: @@ -401,7 +387,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -419,16 +405,13 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:21.3993288Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:14:01.4423754Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West @@ -437,11 +420,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:07 GMT + - Fri, 18 Jun 2021 02:14:46 GMT pragma: - no-cache server: @@ -455,7 +438,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -477,15 +460,15 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4cacabba-7af2-4e43-a3c8-75cb02021829?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/33c85d83-6ff2-458e-b6e7-8e0fbdd84ec1?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -493,9 +476,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:07 GMT + - Fri, 18 Jun 2021 02:14:48 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/4cacabba-7af2-4e43-a3c8-75cb02021829?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/33c85d83-6ff2-458e-b6e7-8e0fbdd84ec1?api-version=2021-04-15 pragma: - no-cache server: @@ -505,7 +488,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -525,9 +508,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4cacabba-7af2-4e43-a3c8-75cb02021829?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/33c85d83-6ff2-458e-b6e7-8e0fbdd84ec1?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -539,7 +522,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:37 GMT + - Fri, 18 Jun 2021 02:15:17 GMT pragma: - no-cache server: @@ -553,7 +536,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -571,12 +554,12 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-04-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"pScqAA==","_self":"dbs/pScqAA==/","_etag":"\"00008e00-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/","_ts":1621883054}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"TplhAA==","_self":"dbs/TplhAA==/","_etag":"\"0000c401-0000-0700-0000-60cc019c0000\"","_colls":"colls/","_users":"users/","_ts":1623982492}}}' headers: cache-control: - no-store, no-cache @@ -585,7 +568,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:38 GMT + - Fri, 18 Jun 2021 02:15:18 GMT pragma: - no-cache server: @@ -599,7 +582,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -624,15 +607,15 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/2ce8c9ce-c212-4cdc-872d-71512a3d5f36?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8f68597f-f6ce-4e47-bbe7-3cb36d6e7daa?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -640,9 +623,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:39 GMT + - Fri, 18 Jun 2021 02:15:19 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/2ce8c9ce-c212-4cdc-872d-71512a3d5f36?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/8f68597f-f6ce-4e47-bbe7-3cb36d6e7daa?api-version=2021-04-15 pragma: - no-cache server: @@ -652,7 +635,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -672,9 +655,9 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/2ce8c9ce-c212-4cdc-872d-71512a3d5f36?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8f68597f-f6ce-4e47-bbe7-3cb36d6e7daa?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -686,7 +669,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:10 GMT + - Fri, 18 Jun 2021 02:15:50 GMT pragma: - no-cache server: @@ -700,7 +683,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -718,12 +701,12 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-04-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"pScqAJeijo4=","_ts":1621883085,"_self":"dbs/pScqAA==/colls/pScqAJeijo4=/","_etag":"\"00009300-0000-0700-0000-60abf8cd0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"TplhANUDt5I=","_ts":1623982525,"_self":"dbs/TplhAA==/colls/TplhANUDt5I=/","_etag":"\"0000c701-0000-0700-0000-60cc01bd0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' headers: cache-control: - no-store, no-cache @@ -732,7 +715,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:10 GMT + - Fri, 18 Jun 2021 02:15:51 GMT pragma: - no-cache server: @@ -746,7 +729,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -764,16 +747,13 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9?api-version=2021-04-01-preview response: body: - string: '{"name":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-05-24T19:03:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"84ecf0cf-5717-4766-bf46-2dabc58c06de","creationTime":"2021-05-24T19:03:23Z"}]}}' + string: '{"name":"1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-06-18T02:14:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b6803c7a-4689-4194-a4da-89fdf34b3e1a","creationTime":"2021-06-18T02:14:03Z"}]}}' headers: cache-control: - no-store, no-cache @@ -782,7 +762,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:11 GMT + - Fri, 18 Jun 2021 02:15:53 GMT pragma: - no-cache server: @@ -796,7 +776,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -814,42 +794,388 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-04-01-preview response: body: - string: '{"value":[{"name":"d4b1a4f0-edcb-438d-a137-5defb99c0f07","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d4b1a4f0-edcb-438d-a137-5defb99c0f07","properties":{"accountName":"cli4rr7r3qwz6rw","apiType":"Sql","creationTime":"2021-02-23T00:47:27Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"dd635420-1570-4c29-9e84-f4c3a6c7147d","creationTime":"2021-02-23T00:47:27Z"}]}},{"name":"ab5d3d1d-0331-4b85-badb-7d7348021b5d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5d3d1d-0331-4b85-badb-7d7348021b5d","properties":{"accountName":"pkdelpitr","apiType":"Sql","creationTime":"2021-03-22T05:13:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8e4e5a09-8b0b-4c79-b763-0765b4bb9a12","creationTime":"2021-03-22T05:14:00Z"}]}},{"name":"e4936df7-a1e5-4ea9-b31f-39b4d93357a3","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e4936df7-a1e5-4ea9-b31f-39b4d93357a3","properties":{"accountName":"pkdeletepitrrestore","apiType":"Sql","creationTime":"2021-03-23T12:56:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3437d90b-576a-40d7-aebb-d44b5e8aa4fe","creationTime":"2021-03-23T12:56:22Z"}]}},{"name":"15e70a1e-dfe7-4612-998d-9271dfd2eed7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/15e70a1e-dfe7-4612-998d-9271dfd2eed7","properties":{"accountName":"pkdeletepitrerestored2","apiType":"Sql","creationTime":"2021-03-23T13:51:57Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9fb5487c-ba7f-40bd-87df-6e9fbac3ce38","creationTime":"2021-03-23T13:51:57Z"}]}},{"name":"f4b62789-73d5-42d5-acd2-9a3aabfdd708","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f4b62789-73d5-42d5-acd2-9a3aabfdd708","properties":{"accountName":"pkdelpitrrestored3","apiType":"Sql","creationTime":"2021-03-23T14:55:37Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"ab47956d-ee05-4a49-908c-923b652cc93e","creationTime":"2021-03-23T14:55:37Z"}]}},{"name":"7e9c9bb6-b915-4c5c-a79e-463e20e090b4","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7e9c9bb6-b915-4c5c-a79e-463e20e090b4","properties":{"accountName":"pkdeleteusermetricstest","apiType":"Sql","creationTime":"2021-03-26T09:44:42Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9f33930b-b8c6-4dc6-9db6-b817b5b2fee2","creationTime":"2021-03-26T09:44:42Z"}]}},{"name":"77584dc5-71c1-4639-b157-b10d6cf1b613","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","properties":{"accountName":"cligrju6mpsuift","apiType":"Sql","creationTime":"2021-05-24T19:03:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1e398a5e-034c-4a6d-a1b6-7d8b433e43fb","creationTime":"2021-05-24T19:03:30Z"}]}},{"name":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-05-24T19:03:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"84ecf0cf-5717-4766-bf46-2dabc58c06de","creationTime":"2021-05-24T19:03:23Z"}]}},{"name":"4887b893-fa01-44c5-88c9-63b8743ccb24","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24","properties":{"accountName":"clip6nwplzlrhms","apiType":"Sql","creationTime":"2021-05-24T19:03:28Z","deletionTime":"2021-05-24T19:08:06Z","restorableLocations":[]}},{"name":"e1471531-db85-410c-b75b-55fc5b41767e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e","properties":{"accountName":"cli53y73kqpqh2x","apiType":"MongoDB","creationTime":"2021-05-24T19:04:04Z","deletionTime":"2021-05-24T19:08:31Z","restorableLocations":[]}}]}' + string: '{"value":[{"name":"aea3afe4-2717-415b-93a4-e1dd19cc4595","location":"North + Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/northcentralus/restorableDatabaseAccounts/aea3afe4-2717-415b-93a4-e1dd19cc4595","properties":{"accountName":"activity-logs-pitr-src","apiType":"Sql","creationTime":"2021-04-21T03:08:40Z","restorableLocations":[{"locationName":"North + Central US","regionalDatabaseAccountInstanceId":"c45ad4b6-aaea-4fc4-8484-b87efbcb4313","creationTime":"2021-04-21T03:08:41Z"}]}},{"name":"014c15d8-92f0-4230-b57b-a1fe7bd2cf35","location":"North + Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/northcentralus/restorableDatabaseAccounts/014c15d8-92f0-4230-b57b-a1fe7bd2cf35","properties":{"accountName":"activity-logs-pitr-restored","apiType":"Sql","creationTime":"2021-04-21T03:30:56Z","restorableLocations":[{"locationName":"North + Central US","regionalDatabaseAccountInstanceId":"3f0b0893-5464-4e68-bb9f-ae498bacb06b","creationTime":"2021-04-21T03:30:56Z"}]}},{"name":"f18ba477-02b4-44b1-b57a-0183592073e6","location":"Central + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/centralus/restorableDatabaseAccounts/f18ba477-02b4-44b1-b57a-0183592073e6","properties":{"accountName":"kal-empty-account-test","apiType":"Sql","creationTime":"2021-05-14T17:51:17Z","restorableLocations":[{"locationName":"Central + US","regionalDatabaseAccountInstanceId":"8858c8fe-cfcc-405c-82f1-abba757ce6fd","creationTime":"2021-05-14T17:51:18Z"}]}},{"name":"ec6a16ed-81f1-43b4-88e6-d9cd76a392ca","location":"Canada + Central","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/canadacentral/restorableDatabaseAccounts/ec6a16ed-81f1-43b4-88e6-d9cd76a392ca","properties":{"accountName":"vinhoffset","apiType":"Sql","creationTime":"2021-06-11T18:01:29Z","restorableLocations":[{"locationName":"Canada + Central","regionalDatabaseAccountInstanceId":"007dd53a-405a-4bf3-97c1-0fcef61071fe","creationTime":"2021-06-11T18:01:29Z"},{"locationName":"East + Asia","regionalDatabaseAccountInstanceId":"0984a52f-3430-44bb-ac77-68dae5264102","creationTime":"2021-06-11T18:01:29Z"}]}},{"name":"7766c42b-df2e-41d3-825f-05a5bedfa3a5","location":"Canada + Central","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/canadacentral/restorableDatabaseAccounts/7766c42b-df2e-41d3-825f-05a5bedfa3a5","properties":{"accountName":"vinhoffset-aftermig-wr-canadacentral","apiType":"Sql","creationTime":"2021-06-11T18:30:40Z","restorableLocations":[{"locationName":"Canada + Central","regionalDatabaseAccountInstanceId":"b07f195b-5cae-4236-b40b-b970e90ba74e","creationTime":"2021-06-11T18:30:40Z"}]}},{"name":"2337c75e-d7db-4829-9344-bc5dd6fe5255","location":"Canada + Central","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/canadacentral/restorableDatabaseAccounts/2337c75e-d7db-4829-9344-bc5dd6fe5255","properties":{"accountName":"vinhoffset-aftermig-rr-eastasia-partial","apiType":"Sql","creationTime":"2021-06-11T18:33:09Z","restorableLocations":[{"locationName":"East + Asia","regionalDatabaseAccountInstanceId":"a0244bd6-03e2-4082-b363-9a302ab71d3a","creationTime":"2021-06-11T18:33:09Z"}]}},{"name":"c0291614-213c-4629-a26a-12802ca1b761","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0291614-213c-4629-a26a-12802ca1b761","properties":{"accountName":"virangai-test-mongo-pitr","apiType":"MongoDB","creationTime":"2020-11-24T21:46:07Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"12e12ed9-5da1-4a35-9ecf-09dff1515d58","creationTime":"2020-11-24T21:46:08Z"}]}},{"name":"da7bc674-bba2-4d4f-902a-c20b3553e2ce","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/da7bc674-bba2-4d4f-902a-c20b3553e2ce","properties":{"accountName":"test-virangai-cont-bk-noafec","apiType":"Sql","creationTime":"2021-02-09T00:21:09Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b00163d1-dbab-4e4b-9201-8c6ec42a1a9d","creationTime":"2021-02-09T00:21:10Z"}]}},{"name":"f6c06aad-47cc-4e02-bffc-acf599a4df1d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f6c06aad-47cc-4e02-bffc-acf599a4df1d","properties":{"accountName":"targetacct7","apiType":"MongoDB","creationTime":"2021-02-20T19:02:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b18cf598-3b0c-4a46-bf0e-930df81b7b4b","creationTime":"2021-02-20T19:02:58Z"}]}},{"name":"7194cffb-815b-4eac-b125-d841f1ab2d0c","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/7194cffb-815b-4eac-b125-d841f1ab2d0c","properties":{"accountName":"targetacct6","apiType":"MongoDB","creationTime":"2021-02-20T19:05:54Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"886ba7e8-ca9e-4e8f-b9b5-45c2424a0970","creationTime":"2021-02-20T19:05:54Z"}]}},{"name":"062e63d1-f782-4dc6-8e12-3050890f8bd8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/062e63d1-f782-4dc6-8e12-3050890f8bd8","properties":{"accountName":"targetacct8","apiType":"MongoDB","creationTime":"2021-02-20T19:18:24Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"7f399ec7-0601-4974-9ec9-500de746868c","creationTime":"2021-02-20T19:18:24Z"}]}},{"name":"37328587-b42b-4572-a089-1a0e9e9d8b0d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/37328587-b42b-4572-a089-1a0e9e9d8b0d","properties":{"accountName":"targetacct9","apiType":"MongoDB","creationTime":"2021-02-20T19:17:52Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"356ca2cc-d06d-4dbe-b481-5be0cbb26c21","creationTime":"2021-02-20T19:17:52Z"}]}},{"name":"f1120981-eb0a-4928-8c93-296c992135ab","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f1120981-eb0a-4928-8c93-296c992135ab","properties":{"accountName":"virangai-test-mongo-pitr-res","apiType":"MongoDB","creationTime":"2021-02-26T10:56:25Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"dbdbac5a-fb2e-4e8b-92ff-acd66a7fd7be","creationTime":"2021-02-26T10:56:25Z"}]}},{"name":"ac54ad8c-e894-4c4b-bfd2-bc89f0d885bf","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ac54ad8c-e894-4c4b-bfd2-bc89f0d885bf","properties":{"accountName":"virangai-test-mongo-pitr-restore","apiType":"MongoDB","creationTime":"2021-02-26T11:13:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"adbe3b02-8f07-47b6-8aad-54c69f6725bb","creationTime":"2021-02-26T11:13:04Z"}]}},{"name":"760b8a29-18fd-4e12-adb9-c9ec34af0d7e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/760b8a29-18fd-4e12-adb9-c9ec34af0d7e","properties":{"accountName":"co-wus2-amnonetemplate-cosmo-t011","apiType":"Sql","creationTime":"2021-06-10T19:45:26Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b5d2d253-600e-4611-b581-2ed2ecd02967","creationTime":"2021-06-10T19:45:27Z"}]}},{"name":"2e4f3a44-f904-4a24-ba32-1517e315434a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2e4f3a44-f904-4a24-ba32-1517e315434a","properties":{"accountName":"co-wus2-amnonetemplate-cosmo-t011-test","apiType":"Sql","creationTime":"2021-06-16T17:39:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a4298ceb-ff54-44e7-bac0-b41219145b01","creationTime":"2021-06-16T17:39:46Z"}]}},{"name":"fccbe297-cb19-424b-a8d7-e996a6b7b689","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fccbe297-cb19-424b-a8d7-e996a6b7b689","properties":{"accountName":"mongotestaccount","apiType":"MongoDB","creationTime":"2021-06-02T19:34:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9f8cab0e-80f5-48b6-bc9f-7f7b3a69afeb","creationTime":"2021-06-02T19:34:27Z"}]}},{"name":"c6b53e1d-0dec-4ff2-ab70-2e9d24a3ed27","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c6b53e1d-0dec-4ff2-ab70-2e9d24a3ed27","properties":{"accountName":"pitr-sql-stage-source","apiType":"Sql","creationTime":"2021-06-02T23:30:43Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9961d453-89c2-4daf-bcad-add22d287617","creationTime":"2021-06-02T23:30:43Z"}]}},{"name":"990590c0-4db8-4b0e-96ef-55f0be03615d","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/990590c0-4db8-4b0e-96ef-55f0be03615d","properties":{"accountName":"pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2021-06-02T23:32:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2d0a8ae4-e622-429c-a2bf-b7b13ada7b45","creationTime":"2021-06-02T23:32:32Z"}]}},{"name":"60a54911-db9e-436f-b282-34779e0a2a7f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/60a54911-db9e-436f-b282-34779e0a2a7f","properties":{"accountName":"pitr-mongo36-stage-source","apiType":"MongoDB","creationTime":"2021-06-02T23:33:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"32163288-85a4-454b-a7d7-d7fbb1f32aeb","creationTime":"2021-06-02T23:33:02Z"}]}},{"name":"b0736fc7-cb53-4b6f-bd2f-aac904085da4","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b0736fc7-cb53-4b6f-bd2f-aac904085da4","properties":{"accountName":"mongo-continuous-1212","apiType":"MongoDB","creationTime":"2021-06-04T22:09:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a1f3383c-4e2f-44b5-8348-7323e2356b3d","creationTime":"2021-06-04T22:09:26Z"}]}},{"name":"2301188f-cf13-419d-b7c2-5321c5476526","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2301188f-cf13-419d-b7c2-5321c5476526","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-06-07T21:06:02Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"05b3f3ce-59ee-4d28-bd66-09ea5c50790d","creationTime":"2021-06-07T21:06:02Z"}]}},{"name":"e157f1a1-6837-46fa-8f4f-ef3e7266ab3a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/e157f1a1-6837-46fa-8f4f-ef3e7266ab3a","properties":{"accountName":"rbactestps12","apiType":"Sql","creationTime":"2021-06-07T21:27:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"64c449c8-6fa2-4273-b066-5a062d4418be","creationTime":"2021-06-07T21:27:24Z"}]}},{"name":"41ea7d9e-553f-4259-872f-676c969e9a0b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/41ea7d9e-553f-4259-872f-676c969e9a0b","properties":{"accountName":"dbaccount27-1","apiType":"Sql","creationTime":"2021-06-08T17:39:46Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1db9bff4-73f7-48e1-a506-ab5b3edc8308","creationTime":"2021-06-08T17:39:47Z"}]}},{"name":"ceacd38f-9e6b-4a81-b2f7-ecd341c6fbbd","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ceacd38f-9e6b-4a81-b2f7-ecd341c6fbbd","properties":{"accountName":"cli125","apiType":"Sql","creationTime":"2021-06-09T19:06:13Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"c2a9bc5f-f37e-4add-a582-52abfb6a36a1","creationTime":"2021-06-09T19:06:14Z"}]}},{"name":"88d48073-10d1-402e-8cf5-c79e4e2de08e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/88d48073-10d1-402e-8cf5-c79e4e2de08e","properties":{"accountName":"sqltestaccount123","apiType":"Sql","creationTime":"2021-06-09T19:09:54Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"861a2513-08ea-4cf8-817b-99b8282f5013","creationTime":"2021-06-09T19:09:54Z"}]}},{"name":"bb9b3beb-42c4-4ae4-a983-58e20bcd71a5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bb9b3beb-42c4-4ae4-a983-58e20bcd71a5","properties":{"accountName":"db003","apiType":"MongoDB","creationTime":"2021-06-09T20:16:40Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a6dda878-4486-437f-bd72-b9e87bf75221","creationTime":"2021-06-09T20:16:41Z"}]}},{"name":"9f8ee54b-f275-44fa-b2c5-9983644c131f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/9f8ee54b-f275-44fa-b2c5-9983644c131f","properties":{"accountName":"sqltestaccount124","apiType":"Sql","creationTime":"2021-06-10T05:06:02Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"3fe302ed-daee-401c-9897-250919f9a0fe","creationTime":"2021-06-10T05:06:02Z"}]}},{"name":"c2601a38-bee1-400e-bc5e-8d817318cf31","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c2601a38-bee1-400e-bc5e-8d817318cf31","properties":{"accountName":"restoredaccountname7595","apiType":"Sql","creationTime":"2021-06-10T18:00:35Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0a4ccb11-2cb5-4b81-8ab6-ea10cbb2290d","creationTime":"2021-06-10T18:00:35Z"}]}},{"name":"33035d50-7f15-4450-a71d-a4da4dcd039f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/33035d50-7f15-4450-a71d-a4da4dcd039f","properties":{"accountName":"restoredaccountname4020","apiType":"Sql","creationTime":"2021-06-15T21:27:04Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"5d75295f-2ad7-451c-b27d-8e877e22b075","creationTime":"2021-06-15T21:27:04Z"}]}},{"name":"7d405124-1129-468e-9ff9-d031059c96bc","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7d405124-1129-468e-9ff9-d031059c96bc","properties":{"accountName":"sqltestaccount","apiType":"Sql","creationTime":"2021-06-16T05:58:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d0a6a03f-c045-4275-a38a-b221f5749051","creationTime":"2021-06-16T05:58:55Z"}]}},{"name":"1dfe47fb-822c-41f1-b403-1cf6c63d0ba7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1dfe47fb-822c-41f1-b403-1cf6c63d0ba7","properties":{"accountName":"restoredaccountname3766","apiType":"Sql","creationTime":"2021-06-16T07:16:12Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1a05d833-615e-45b0-b2ec-f87ca4d9829c","creationTime":"2021-06-16T07:16:12Z"}]}},{"name":"44229c8d-8a7e-4ef7-802c-5d09a93bd7c7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/44229c8d-8a7e-4ef7-802c-5d09a93bd7c7","properties":{"accountName":"cli127","apiType":"Sql","creationTime":"2021-06-16T16:44:34Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2f7c7d2e-fd80-4356-b5db-b08a8ee1c4f7","creationTime":"2021-06-16T16:44:35Z"}]}},{"name":"c483a757-4d93-4d60-ae22-04c9d2c89595","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c483a757-4d93-4d60-ae22-04c9d2c89595","properties":{"accountName":"restored2-cosmosdb-1212-1","apiType":"Sql","creationTime":"2021-06-04T22:17:44Z","deletionTime":"2021-06-05T05:04:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eb5e33f1-8ecf-42b7-9f3f-18784854fc5e","creationTime":"2021-06-04T22:17:44Z","deletionTime":"2021-06-05T05:04:42Z"}]}},{"name":"80458ce3-9b06-4d87-9405-1f47eb88164f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/80458ce3-9b06-4d87-9405-1f47eb88164f","properties":{"accountName":"dbaccount27-1","apiType":"Sql","creationTime":"2021-06-07T21:24:07Z","deletionTime":"2021-06-07T22:30:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a47823ea-6bce-4436-91a1-1dd14a1aa3a7","creationTime":"2021-06-07T21:24:08Z","deletionTime":"2021-06-07T22:30:24Z"}]}},{"name":"3b44efa3-a7e6-414e-99c2-22d63aa1d778","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3b44efa3-a7e6-414e-99c2-22d63aa1d778","properties":{"accountName":"cli126","apiType":"Sql","creationTime":"2021-06-10T05:07:44Z","deletionTime":"2021-06-15T21:00:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"fbc82bdc-1493-4cc4-bd69-2c33c650e3ed","creationTime":"2021-06-10T05:07:45Z","deletionTime":"2021-06-15T21:00:15Z"}]}},{"name":"3bf55696-9845-4ab5-b57c-f955a2ffe3ca","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3bf55696-9845-4ab5-b57c-f955a2ffe3ca","properties":{"accountName":"sqltestaccount","apiType":"Sql","creationTime":"2021-06-01T23:24:19Z","deletionTime":"2021-06-16T04:58:21Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1062fb86-a396-4689-9326-83193cf2274b","creationTime":"2021-06-01T23:24:20Z","deletionTime":"2021-06-16T04:58:21Z"}]}},{"name":"d5fe116b-8a63-474e-88a4-afb2a726198e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d5fe116b-8a63-474e-88a4-afb2a726198e","properties":{"accountName":"cli127","apiType":"Sql","creationTime":"2021-06-16T06:57:39Z","deletionTime":"2021-06-16T08:12:35Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"f9a67f44-e6f6-4270-91c6-d90a0292ac96","creationTime":"2021-06-16T06:57:39Z","deletionTime":"2021-06-16T08:12:35Z"}]}},{"name":"24302a82-123a-487a-bede-054ade2860f1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/24302a82-123a-487a-bede-054ade2860f1","properties":{"accountName":"dbaccount29-1","apiType":"Sql","creationTime":"2021-06-07T21:24:52Z","deletionTime":"2021-06-18T01:41:52Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"ede5fb9c-4058-44a6-8dec-29e3e7de9b44","creationTime":"2021-06-07T21:24:53Z","deletionTime":"2021-06-18T01:41:52Z"}]}},{"name":"72706ac1-0d0a-40be-a30a-1b4af0911131","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/72706ac1-0d0a-40be-a30a-1b4af0911131","properties":{"accountName":"mongo-db0002","apiType":"MongoDB","creationTime":"2021-06-07T23:44:54Z","deletionTime":"2021-06-18T01:41:53Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dfccb705-08c0-4282-9dad-07ab354ba8e8","creationTime":"2021-06-07T23:44:55Z","deletionTime":"2021-06-18T01:41:53Z"}]}},{"name":"4b9c5465-8bbc-4c8e-bc7f-5a8999c4e840","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4b9c5465-8bbc-4c8e-bc7f-5a8999c4e840","properties":{"accountName":"targetacct10","apiType":"Sql","creationTime":"2021-03-01T02:05:29Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6ff51065-9163-48e9-95e9-1281aa972a14","creationTime":"2021-03-01T02:05:29Z"}]}},{"name":"3564d9f8-5f2d-4d00-a66f-5d370d970371","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3564d9f8-5f2d-4d00-a66f-5d370d970371","properties":{"accountName":"targetacct112","apiType":"Sql","creationTime":"2021-03-01T10:33:41Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2eb33e65-1263-4a25-a18a-e7a85875f2a8","creationTime":"2021-03-01T10:33:41Z"}]}},{"name":"1cea11b1-c170-4ffe-993d-63da1bff9a94","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1cea11b1-c170-4ffe-993d-63da1bff9a94","properties":{"accountName":"clid4bvkfsumrnr-restore","apiType":"MongoDB","creationTime":"2021-01-08T20:25:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d36f7f5b-7d0f-4e35-8a05-a253eaaad55b","creationTime":"2021-01-08T20:25:49Z"}]}},{"name":"28bc2837-a17f-4038-8569-7ffb33794333","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/28bc2837-a17f-4038-8569-7ffb33794333","properties":{"accountName":"cliweraslfbdxmi","apiType":"MongoDB","creationTime":"2021-01-28T22:55:58Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8614d5c7-d9bf-4e5b-9d0c-62731c7d45c4","creationTime":"2021-01-28T22:55:59Z"}]}},{"name":"31869788-6f92-47f9-8f8b-6619582d2381","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/31869788-6f92-47f9-8f8b-6619582d2381","properties":{"accountName":"cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T02:05:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"62ff38d6-4f2d-4c43-8c9d-17258a38ad81","creationTime":"2021-01-08T02:05:37Z"}]}},{"name":"cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","properties":{"accountName":"gskcssdemo-r1","apiType":"Sql","creationTime":"2021-01-15T05:24:40Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"11da6634-3b4d-4b81-99ef-04d8b4d7410d","creationTime":"2021-01-15T05:24:40Z"}]}},{"name":"5c84891d-ee24-4dc7-aa2b-d8968baf7936","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5c84891d-ee24-4dc7-aa2b-d8968baf7936","properties":{"accountName":"gskcssdemo","apiType":"Sql","creationTime":"2020-12-14T21:53:52Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"21f8bb0a-9b6d-4d79-b305-82f555946c5f","creationTime":"2020-12-14T21:53:53Z"}]}},{"name":"d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","properties":{"accountName":"kal-continuous","apiType":"Sql","creationTime":"2020-08-05T01:00:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c28cc815-caba-4bd3-9402-6c8ec362efe6","creationTime":"2020-08-05T01:00:26Z"},{"locationName":"East + US","regionalDatabaseAccountInstanceId":"cc0bacf7-91d0-4c4b-95ff-2479327f0866","creationTime":"2020-08-05T01:12:03Z"},{"locationName":"South + Central US","regionalDatabaseAccountInstanceId":"6fc9f211-8f76-4c29-9edc-f82ee8c5211a","creationTime":"2020-08-23T01:34:11Z"}]}},{"name":"16e57fca-6555-4c92-bb57-1afa38d69371","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/16e57fca-6555-4c92-bb57-1afa38d69371","properties":{"accountName":"clikbicro7ly5p2","apiType":"MongoDB","creationTime":"2021-01-16T01:25:45Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9688f6b2-7410-4ae1-bd8b-1de6a0edcdca","creationTime":"2021-01-16T01:25:46Z"}]}},{"name":"74ebfb99-1914-4ea9-b802-736b5bda12a7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/74ebfb99-1914-4ea9-b802-736b5bda12a7","properties":{"accountName":"pitrmongotest","apiType":"MongoDB","creationTime":"2020-10-01T17:27:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"73ef95f2-a338-4afc-8bb2-6fc3b0071d58","creationTime":"2020-10-01T17:27:23Z"}]}},{"name":"a081024d-5e38-45c1-b1cb-9c99552d42b3","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a081024d-5e38-45c1-b1cb-9c99552d42b3","properties":{"accountName":"pitrmongowithsnapshots","apiType":"MongoDB","creationTime":"2021-01-07T19:45:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"cef7a5af-c690-49cd-b661-53f9241552bf","creationTime":"2021-01-07T19:45:07Z"}]}},{"name":"ac7dc153-2571-425f-b8a1-c812706ad3dc","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ac7dc153-2571-425f-b8a1-c812706ad3dc","properties":{"accountName":"targetacct4","apiType":"Sql","creationTime":"2021-02-20T17:59:47Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"124777e8-d467-4e1c-ac79-a2b5b4a9a16c","creationTime":"2021-02-20T17:59:47Z"}]}},{"name":"2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","properties":{"accountName":"test-bk-cont-restore1","apiType":"Sql","creationTime":"2020-10-15T23:55:03Z","restorableLocations":[{"locationName":"South + Central US","regionalDatabaseAccountInstanceId":"a1893351-8aa8-4ff0-8457-47ce4e6c2790","creationTime":"2020-10-15T23:55:03Z"}]}},{"name":"329aedaa-1997-4c0d-b3c9-40e890c3dc08","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/329aedaa-1997-4c0d-b3c9-40e890c3dc08","properties":{"accountName":"test-restore-pitr1","apiType":"Sql","creationTime":"2021-01-06T09:20:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"20d74db9-927d-4e1c-9944-5386a9ce1eda","creationTime":"2021-01-06T09:20:17Z"}]}},{"name":"e89306b9-137a-4293-b692-263bb3406366","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e89306b9-137a-4293-b692-263bb3406366","properties":{"accountName":"virangai-test-pitr-restore-del-restore1","apiType":"Sql","creationTime":"2021-01-08T01:07:16Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2e16165a-c3f1-44c5-99a7-bef5e8a2311f","creationTime":"2021-01-08T01:07:16Z"}]}},{"name":"b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","properties":{"accountName":"virangai-test-pitr-restore-del-restore3","apiType":"Sql","creationTime":"2021-01-08T01:15:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"75d75dd1-21da-47d0-bc25-fa01c0e3ed3e","creationTime":"2021-01-08T01:15:26Z"}]}},{"name":"e96a653a-cc5e-49f0-a3ae-36a4d461cf07","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e96a653a-cc5e-49f0-a3ae-36a4d461cf07","properties":{"accountName":"virangai-test-pitr-restore-del-restore4","apiType":"Sql","creationTime":"2021-01-08T01:36:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e59deecb-9222-4a80-b5d4-09af4a886f55","creationTime":"2021-01-08T01:36:22Z"}]}},{"name":"70f3ea16-d3bc-46f6-98e8-576fc201eabf","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/70f3ea16-d3bc-46f6-98e8-576fc201eabf","properties":{"accountName":"balaksrestorebug","apiType":"Sql","creationTime":"2021-01-09T01:08:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"94244165-49de-46f8-bb1a-2e0956694168","creationTime":"2021-01-09T01:08:27Z"}]}},{"name":"86db30d3-1725-4ece-b2f5-591ea37e14f9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/86db30d3-1725-4ece-b2f5-591ea37e14f9","properties":{"accountName":"virangai-test-pitr-restore-del2","apiType":"Sql","creationTime":"2021-01-08T20:20:20Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"36f57e91-674e-49d0-891a-f4be394b8e3a","creationTime":"2021-01-08T20:20:20Z"}]}},{"name":"05640131-c5c8-4d30-adec-aa623e28866b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/05640131-c5c8-4d30-adec-aa623e28866b","properties":{"accountName":"test-cli2loqd5ro7y4w-restore-del","apiType":"Sql","creationTime":"2021-01-08T01:37:39Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d137f5e4-3154-43fd-9f16-179b6c9bb8fa","creationTime":"2021-01-08T01:37:39Z"}]}},{"name":"11d8ee78-2502-4ad6-becd-291aef9ac258","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/11d8ee78-2502-4ad6-becd-291aef9ac258","properties":{"accountName":"kal-continuous-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:45:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"543c99f9-7bc2-4b55-9732-9733b981341f","creationTime":"2020-10-05T23:45:27Z"}]}},{"name":"1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","properties":{"accountName":"pitracctdemo2","apiType":"Sql","creationTime":"2020-08-11T02:34:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"7419408f-e6af-4596-a76b-c31ca62a54ca","creationTime":"2020-08-11T02:34:24Z"}]}},{"name":"7ccb546f-804d-4fe3-902f-bdb162d2ca51","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7ccb546f-804d-4fe3-902f-bdb162d2ca51","properties":{"accountName":"virangai-test-pitr-restore-del","apiType":"Sql","creationTime":"2020-12-10T02:06:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"fbbdcce1-e4cc-4fb9-8a5c-64f96438e722","creationTime":"2020-12-10T02:06:22Z"}]}},{"name":"b4c688c1-2ea7-477e-b994-4affe5d3ea35","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b4c688c1-2ea7-477e-b994-4affe5d3ea35","properties":{"accountName":"ptr-target","apiType":"Sql","creationTime":"2021-01-05T22:25:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1f68340e-49a4-45df-9a2a-804cd8ab1795","creationTime":"2021-01-05T22:25:24Z"}]}},{"name":"9905e7ca-6f2d-4b24-a4c5-8e7529036a74","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9905e7ca-6f2d-4b24-a4c5-8e7529036a74","properties":{"accountName":"pitrmongotest-restore","apiType":"MongoDB","creationTime":"2020-10-01T21:24:45Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"75c41286-d7f2-4594-b9f2-87f6c9843cf8","creationTime":"2020-10-01T21:24:45Z"}]}},{"name":"adc221c8-8826-4d48-8c8d-af48be84b678","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/adc221c8-8826-4d48-8c8d-af48be84b678","properties":{"accountName":"virangai-test-pitr-restore-del-restore2","apiType":"Sql","creationTime":"2021-01-08T01:12:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e6c2237b-56a2-4e27-9ba5-d3da7d136504","creationTime":"2021-01-08T01:12:07Z"}]}},{"name":"5f95bef8-07b9-400b-aac2-4e09efbc47c2","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5f95bef8-07b9-400b-aac2-4e09efbc47c2","properties":{"accountName":"cli56zv275qols2","apiType":"MongoDB","creationTime":"2021-01-28T22:28:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"0eed5071-4e89-480f-ac03-d245d57bd6a0","creationTime":"2021-01-28T22:28:29Z"}]}},{"name":"baf212fa-867f-4979-a007-4db919a87868","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/baf212fa-867f-4979-a007-4db919a87868","properties":{"accountName":"virangai-test-pitr-restore-del5","apiType":"Sql","creationTime":"2021-01-08T20:23:32Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"76ee28bb-12d9-4829-a473-cb5e29ad9a55","creationTime":"2021-01-08T20:23:32Z"}]}},{"name":"bb466093-aad0-4e58-8ae5-94c4b48caa3d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bb466093-aad0-4e58-8ae5-94c4b48caa3d","properties":{"accountName":"virangai-test-pitr-restore-del1","apiType":"Sql","creationTime":"2021-01-08T20:19:57Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"f14d0c9e-ac38-4809-b5f3-f7c37d712012","creationTime":"2021-01-08T20:19:57Z"}]}},{"name":"92c911cf-962a-4cad-8a68-fb0e21a4f257","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/92c911cf-962a-4cad-8a68-fb0e21a4f257","properties":{"accountName":"kal-cli-test","apiType":"Sql","creationTime":"2021-01-29T19:26:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a221a55d-a0d6-4040-b0b6-d51e1c146b13","creationTime":"2021-01-29T19:26:07Z"}]}},{"name":"ae351691-d2fb-4878-abe4-5305062a3356","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ae351691-d2fb-4878-abe4-5305062a3356","properties":{"accountName":"kal-doc-test-continuous","apiType":"Sql","creationTime":"2021-01-28T23:39:10Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1b99840b-2775-4ac2-8c22-af2ed9e69fc6","creationTime":"2021-01-28T23:39:11Z"}]}},{"name":"4416eb73-6313-48e3-be87-5f22d8860c3e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4416eb73-6313-48e3-be87-5f22d8860c3e","properties":{"accountName":"kal-cli-test-mongo","apiType":"MongoDB","creationTime":"2021-01-29T19:37:29Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3ab8a0e0-674a-4e05-be47-d00ee8eb0d00","creationTime":"2021-01-29T19:37:29Z"}]}},{"name":"6fd844b3-71af-4e89-9b9d-f829945272bf","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6fd844b3-71af-4e89-9b9d-f829945272bf","properties":{"accountName":"pitrdemo1015","apiType":"Sql","creationTime":"2020-10-15T17:28:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"af26f717-b6ff-4eac-864c-17e759891ae8","creationTime":"2020-10-15T17:29:00Z"}]}},{"name":"26c6c802-2477-422f-b3a0-9da58299b82e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/26c6c802-2477-422f-b3a0-9da58299b82e","properties":{"accountName":"virangai-test-pitr-restore-del-restore","apiType":"Sql","creationTime":"2021-01-08T00:50:35Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9eaed152-86f9-4576-b201-2301ea9e9719","creationTime":"2021-01-08T00:50:35Z"}]}},{"name":"1450ead6-0a1b-4de3-8d25-e551543ef6bd","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1450ead6-0a1b-4de3-8d25-e551543ef6bd","properties":{"accountName":"kal-powershell-release-test","apiType":"Sql","creationTime":"2021-02-11T00:05:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"00c855da-46ac-49ac-a320-60464fde8698","creationTime":"2021-02-11T00:05:01Z"}]}},{"name":"1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","properties":{"accountName":"sivarv-test","apiType":"Sql","creationTime":"2021-01-05T23:13:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"83791770-489f-4272-9816-4d66377703c5","creationTime":"2021-01-05T23:13:23Z"}]}},{"name":"3f392004-9f83-4ae9-ac1c-fa5f6542f245","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3f392004-9f83-4ae9-ac1c-fa5f6542f245","properties":{"accountName":"pitrdemorestored1015","apiType":"Sql","creationTime":"2020-10-15T17:37:20Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2f4857ad-25c3-4e2f-883a-abe35c5f5e0c","creationTime":"2020-10-15T17:37:20Z"}]}},{"name":"0a0e4393-fd1c-4294-b04f-871b1fd3d6cc","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0a0e4393-fd1c-4294-b04f-871b1fd3d6cc","properties":{"accountName":"kal-ps-release-mongo","apiType":"MongoDB","creationTime":"2021-01-29T07:53:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c8c42eab-eb9a-4d73-a342-53bdccd42ec4","creationTime":"2021-01-29T07:53:38Z"}]}},{"name":"23e99a35-cd36-4df4-9614-f767a03b9995","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995","properties":{"accountName":"subbannageeta","apiType":"Sql","creationTime":"2020-08-08T01:04:53Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"30701557-ecf8-43ce-8810-2c8be01dccf9","creationTime":"2020-08-08T01:04:53Z"},{"locationName":"East + US","regionalDatabaseAccountInstanceId":"8283b088-b67d-4975-bfbe-0705e3e7a599","creationTime":"2020-08-08T01:15:44Z"}]}},{"name":"1429ae40-9437-4da2-a170-06319cff03f1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1429ae40-9437-4da2-a170-06319cff03f1","properties":{"accountName":"kal-ps-release-mongo-restore","apiType":"MongoDB","creationTime":"2021-01-29T08:22:39Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"4c1abc58-80c2-4ab3-b3b0-3f0743311b33","creationTime":"2021-01-29T08:22:39Z"}]}},{"name":"a97044b4-5be9-4f17-acc5-05bd58f0156e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a97044b4-5be9-4f17-acc5-05bd58f0156e","properties":{"accountName":"target-mongo36-beforecolla","apiType":"MongoDB","creationTime":"2021-01-06T00:06:55Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"4af906ad-1a4a-4eb7-8453-f6cd8c795e91","creationTime":"2021-01-06T00:06:55Z"}]}},{"name":"5002d808-7276-4de1-8a7e-82a8561f4ae1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5002d808-7276-4de1-8a7e-82a8561f4ae1","properties":{"accountName":"kal-ps-sql-release-restore","apiType":"Sql","creationTime":"2021-01-29T08:10:42Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ebc3714a-f0c8-4fa8-8ee7-2743e200642f","creationTime":"2021-01-29T08:10:42Z"}]}},{"name":"d800a65d-80cb-4d21-b4e8-ae5995b582fc","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d800a65d-80cb-4d21-b4e8-ae5995b582fc","properties":{"accountName":"testacct412","apiType":"Sql","creationTime":"2021-03-03T19:54:14Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"424dbe6d-50d0-4def-8457-0ada8cec1e05","creationTime":"2021-03-03T19:54:14Z"}]}},{"name":"afe6a47d-1fbd-41e1-992b-db16beeeae3c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/afe6a47d-1fbd-41e1-992b-db16beeeae3c","properties":{"accountName":"scottkirill","apiType":"Sql","creationTime":"2021-04-15T17:21:20Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e3dcb79a-b56a-4dff-9f8e-76a29285e724","creationTime":"2021-04-15T17:21:20Z"}]}},{"name":"6afbd660-3eba-46e4-bae2-79041ac7edc7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6afbd660-3eba-46e4-bae2-79041ac7edc7","properties":{"accountName":"rgtest9921232812","apiType":"Sql","creationTime":"2021-06-07T21:26:27Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3c5d6709-78ff-49e3-9012-4c64ff0ec0ff","creationTime":"2021-06-07T21:26:28Z"}]}},{"name":"2d7c9954-bebe-4355-aa03-191b3398f64a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2d7c9954-bebe-4355-aa03-191b3398f64a","properties":{"accountName":"clitg4ll5ikqmab","apiType":"MongoDB","creationTime":"2021-06-15T01:21:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"088c56f5-250d-45d0-a4e0-77bd20d34591","creationTime":"2021-06-15T01:21:59Z"}]}},{"name":"ed492eb3-1c3c-4abc-ab87-9ec9ee7a406a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ed492eb3-1c3c-4abc-ab87-9ec9ee7a406a","properties":{"accountName":"clix7mfbnl5lhqc","apiType":"Sql","creationTime":"2021-06-15T21:38:13Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"495837b7-bb22-4161-8b7d-f77447afda33","creationTime":"2021-06-15T21:38:14Z"}]}},{"name":"021e8eed-9b42-4bf1-9974-1a537727f5cb","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/021e8eed-9b42-4bf1-9974-1a537727f5cb","properties":{"accountName":"cosmosdb-1215","apiType":"Sql","creationTime":"2021-06-18T00:04:52Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"fc73dab1-5bf5-4def-9812-e8a28550fd0a","creationTime":"2021-06-18T00:04:53Z"}]}},{"name":"1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-06-18T02:14:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b6803c7a-4689-4194-a4da-89fdf34b3e1a","creationTime":"2021-06-18T02:14:03Z"}]}},{"name":"013b30aa-cf27-451a-b2b7-c8da950167c0","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/013b30aa-cf27-451a-b2b7-c8da950167c0","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T08:12:56Z","deletionTime":"2021-06-07T20:33:39Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"84e252b7-8fe2-4976-bc64-bccc19511e44","creationTime":"2021-01-08T08:12:56Z","deletionTime":"2021-06-07T20:33:39Z"}]}},{"name":"2e126e4e-df6b-49a8-a6c2-4274de07c18c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2e126e4e-df6b-49a8-a6c2-4274de07c18c","properties":{"accountName":"cosmosdb-1213","apiType":"Sql","creationTime":"2021-06-10T00:19:06Z","deletionTime":"2021-06-10T00:21:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ec20f81b-959b-463c-9f71-ebce45a67afe","creationTime":"2021-06-10T00:19:06Z","deletionTime":"2021-06-10T00:21:36Z"}]}},{"name":"3d273afd-50a5-4bdb-ab48-6b7b7c46f31e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3d273afd-50a5-4bdb-ab48-6b7b7c46f31e","properties":{"accountName":"cosmosdb-1213","apiType":"Sql","creationTime":"2021-06-10T02:24:26Z","deletionTime":"2021-06-10T02:26:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"94e4350b-74bd-4913-9fc6-6a36a4d59806","creationTime":"2021-06-10T02:24:26Z","deletionTime":"2021-06-10T02:26:59Z"}]}},{"name":"5263046e-e505-4657-9df7-af8974b55c85","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5263046e-e505-4657-9df7-af8974b55c85","properties":{"accountName":"cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-10T02:44:07Z","deletionTime":"2021-06-10T03:00:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6dcc16e0-5531-47df-8023-59dadf90597e","creationTime":"2021-06-10T02:44:08Z","deletionTime":"2021-06-10T03:00:05Z"}]}},{"name":"250464da-7883-4869-89b8-3e333bc83b05","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/250464da-7883-4869-89b8-3e333bc83b05","properties":{"accountName":"restored-cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-10T02:58:59Z","deletionTime":"2021-06-10T03:00:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d1dd3d56-88b6-4a8d-90ff-7e66b7b41722","creationTime":"2021-06-10T02:58:59Z","deletionTime":"2021-06-10T03:00:05Z"}]}},{"name":"ccb5a198-f9d7-4397-9037-ca392da7aebd","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ccb5a198-f9d7-4397-9037-ca392da7aebd","properties":{"accountName":"cliuerjkwyxmxje","apiType":"Sql","creationTime":"2021-06-14T21:03:29Z","deletionTime":"2021-06-14T21:05:34Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5247e960-94ac-464f-a33a-02a53fe7e63f","creationTime":"2021-06-14T21:03:29Z","deletionTime":"2021-06-14T21:05:34Z"}]}},{"name":"625ec3cb-099e-4c98-9ebd-d44eee919068","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/625ec3cb-099e-4c98-9ebd-d44eee919068","properties":{"accountName":"clijh4npvte2x3q","apiType":"Sql","creationTime":"2021-06-14T21:09:55Z","deletionTime":"2021-06-14T21:12:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2bda155b-effe-4df0-b308-cd7741ba0913","creationTime":"2021-06-14T21:09:55Z","deletionTime":"2021-06-14T21:12:07Z"}]}},{"name":"868f70d2-c84a-4358-8d4f-47686b906ea2","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/868f70d2-c84a-4358-8d4f-47686b906ea2","properties":{"accountName":"cliqxjy6fmj5jlm","apiType":"Sql","creationTime":"2021-06-14T21:15:20Z","deletionTime":"2021-06-14T21:17:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"27631306-71bd-4e99-be63-e660e637ab26","creationTime":"2021-06-14T21:15:20Z","deletionTime":"2021-06-14T21:17:25Z"}]}},{"name":"d44c1510-9c4b-4a54-8639-b5bde547322d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d44c1510-9c4b-4a54-8639-b5bde547322d","properties":{"accountName":"clidlgtoe2tw6ml","apiType":"Sql","creationTime":"2021-06-14T21:21:13Z","deletionTime":"2021-06-14T21:23:47Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d53b9d4d-8258-42dd-ac8b-3e82384997cc","creationTime":"2021-06-14T21:21:13Z","deletionTime":"2021-06-14T21:23:47Z"}]}},{"name":"9ee3c4c2-9b12-4e4e-9735-d851582abe9a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9ee3c4c2-9b12-4e4e-9735-d851582abe9a","properties":{"accountName":"clisrvyr3bk5kfa","apiType":"Sql","creationTime":"2021-06-14T21:50:01Z","deletionTime":"2021-06-14T21:52:09Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a7411c51-47a4-4d57-9e2f-32cf2550f796","creationTime":"2021-06-14T21:50:01Z","deletionTime":"2021-06-14T21:52:09Z"}]}},{"name":"80010499-9dd4-4e16-bc1c-04410db81283","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/80010499-9dd4-4e16-bc1c-04410db81283","properties":{"accountName":"clivgc32rbbkkvq","apiType":"Sql","creationTime":"2021-06-14T22:41:28Z","deletionTime":"2021-06-14T22:44:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"cf6af2ae-f544-40a7-ac3c-bc864777679c","creationTime":"2021-06-14T22:41:29Z","deletionTime":"2021-06-14T22:44:05Z"}]}},{"name":"20a9362a-496f-4c62-95d8-85148051ba29","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/20a9362a-496f-4c62-95d8-85148051ba29","properties":{"accountName":"cli2g65ee6mdfc2","apiType":"Sql","creationTime":"2021-06-14T23:53:58Z","deletionTime":"2021-06-14T23:57:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e10823bb-91f4-45a2-b894-5b961818f8db","creationTime":"2021-06-14T23:53:59Z","deletionTime":"2021-06-14T23:57:02Z"}]}},{"name":"6be7acbf-6cc2-4bd3-aaef-4294c9a7efd5","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6be7acbf-6cc2-4bd3-aaef-4294c9a7efd5","properties":{"accountName":"clikzjgoxzxmtbq","apiType":"MongoDB","creationTime":"2021-06-15T00:34:33Z","deletionTime":"2021-06-15T00:37:06Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"20fffe7f-5bb1-475b-884d-bf02bc0a5fe3","creationTime":"2021-06-15T00:34:34Z","deletionTime":"2021-06-15T00:37:06Z"}]}},{"name":"dbc102e5-e4cb-42de-b663-50a8104f7802","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dbc102e5-e4cb-42de-b663-50a8104f7802","properties":{"accountName":"cli7pkjuw3cxxgf","apiType":"Sql","creationTime":"2021-06-15T00:35:24Z","deletionTime":"2021-06-15T00:37:13Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ababcf02-966e-4de7-a16d-b1adbcd8409f","creationTime":"2021-06-15T00:35:25Z","deletionTime":"2021-06-15T00:37:13Z"}]}},{"name":"91a38e6b-6c7e-4ba0-ab91-27be63671a93","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/91a38e6b-6c7e-4ba0-ab91-27be63671a93","properties":{"accountName":"clid33vwtmbmr2q","apiType":"Sql","creationTime":"2021-06-15T01:23:38Z","deletionTime":"2021-06-15T01:24:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"55adbcc9-f8a6-4215-ba0a-f2a90407ee8e","creationTime":"2021-06-15T01:23:39Z","deletionTime":"2021-06-15T01:24:05Z"}]}},{"name":"0508d46e-8bcd-4811-b33b-acee83bcbfd5","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0508d46e-8bcd-4811-b33b-acee83bcbfd5","properties":{"accountName":"clinuq6ym5hqnf2","apiType":"MongoDB","creationTime":"2021-06-15T01:24:09Z","deletionTime":"2021-06-15T01:24:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"000c49b2-efb1-422e-9c30-e95cba116f27","creationTime":"2021-06-15T01:24:10Z","deletionTime":"2021-06-15T01:24:36Z"}]}},{"name":"0db9fd5e-9734-499f-aff6-dd1449d99483","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0db9fd5e-9734-499f-aff6-dd1449d99483","properties":{"accountName":"clillzpvl4apfye","apiType":"Sql","creationTime":"2021-06-15T01:38:54Z","deletionTime":"2021-06-15T01:39:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b579fb8c-9994-4087-8738-b3d2bec1fffa","creationTime":"2021-06-15T01:38:55Z","deletionTime":"2021-06-15T01:39:24Z"}]}},{"name":"74b2f05b-1612-4f2c-b054-745191903f6b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/74b2f05b-1612-4f2c-b054-745191903f6b","properties":{"accountName":"clihcq2lnfbzm5t","apiType":"MongoDB","creationTime":"2021-06-15T01:52:46Z","deletionTime":"2021-06-15T01:59:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a4f8ac24-a541-4522-92b2-6374134e697e","creationTime":"2021-06-15T01:52:46Z","deletionTime":"2021-06-15T01:59:49Z"}]}},{"name":"8b8d9752-9d8b-44a4-bc8e-b1f5225eefce","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8b8d9752-9d8b-44a4-bc8e-b1f5225eefce","properties":{"accountName":"clitnddomf5rzfe","apiType":"MongoDB","creationTime":"2021-06-15T03:44:48Z","deletionTime":"2021-06-15T03:56:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"507cd4f6-47bc-4d9e-ac01-0daf2efa9ddd","creationTime":"2021-06-15T03:44:49Z","deletionTime":"2021-06-15T03:56:28Z"}]}},{"name":"86d3734e-3c6a-4ae1-b421-5f85c1ddcd4c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/86d3734e-3c6a-4ae1-b421-5f85c1ddcd4c","properties":{"accountName":"clix6a4246hhtcl","apiType":"MongoDB","creationTime":"2021-06-15T04:05:45Z","deletionTime":"2021-06-15T04:13:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"27ac7f1b-484c-4bb6-941f-9fe6ff452873","creationTime":"2021-06-15T04:05:46Z","deletionTime":"2021-06-15T04:13:01Z"}]}},{"name":"f8771040-d642-4ea9-992d-bdd8fa39c498","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f8771040-d642-4ea9-992d-bdd8fa39c498","properties":{"accountName":"clignkykjgcyswb","apiType":"Sql","creationTime":"2021-06-15T05:07:57Z","deletionTime":"2021-06-15T05:18:15Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b32af216-ea91-4a1b-b26c-7dce004f86e4","creationTime":"2021-06-15T05:07:58Z","deletionTime":"2021-06-15T05:18:15Z"}]}},{"name":"b14479c0-cfd3-4237-8e10-8fc0cc5c9499","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b14479c0-cfd3-4237-8e10-8fc0cc5c9499","properties":{"accountName":"cliuuo3zotcyuh6","apiType":"Sql","creationTime":"2021-06-15T06:10:52Z","deletionTime":"2021-06-15T06:23:41Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e29e0939-027e-45ac-8caf-3fe3977c74c3","creationTime":"2021-06-15T06:10:52Z","deletionTime":"2021-06-15T06:23:41Z"}]}},{"name":"5533f986-110d-40df-8672-90a7771fe61b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5533f986-110d-40df-8672-90a7771fe61b","properties":{"accountName":"clicsayoewlilwa","apiType":"Sql","creationTime":"2021-06-15T06:28:00Z","deletionTime":"2021-06-15T06:53:08Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"95eb7503-3249-41dc-8d07-37a8d4037bc1","creationTime":"2021-06-15T06:28:01Z","deletionTime":"2021-06-15T06:53:08Z"}]}},{"name":"c97c2741-d50e-4493-a49b-6976407a64ad","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c97c2741-d50e-4493-a49b-6976407a64ad","properties":{"accountName":"clilc3hdtnexj7n","apiType":"Sql","creationTime":"2021-06-15T07:08:34Z","deletionTime":"2021-06-15T17:33:21Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6d2309f5-93e8-4a5d-8ffe-da49ec8908e5","creationTime":"2021-06-15T07:08:35Z","deletionTime":"2021-06-15T17:33:21Z"}]}},{"name":"108826c8-6e4d-4376-a9db-c6b38945fcef","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/108826c8-6e4d-4376-a9db-c6b38945fcef","properties":{"accountName":"cligd6ng723t35i","apiType":"Sql","creationTime":"2021-06-15T17:34:20Z","deletionTime":"2021-06-15T17:40:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c4e8b9ae-7b01-4cd9-9a14-8995f37d5606","creationTime":"2021-06-15T17:34:21Z","deletionTime":"2021-06-15T17:40:17Z"}]}},{"name":"015736af-0843-4206-b3dc-ef7aeb91a62b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/015736af-0843-4206-b3dc-ef7aeb91a62b","properties":{"accountName":"cligkcxvg6cdxzt","apiType":"Sql","creationTime":"2021-06-15T17:42:22Z","deletionTime":"2021-06-15T17:48:19Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8d60e91b-7d69-46f2-b023-976e08d5146c","creationTime":"2021-06-15T17:42:23Z","deletionTime":"2021-06-15T17:48:19Z"}]}},{"name":"eb0a730d-3251-4ba4-89a8-bf1afe8b4a1d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/eb0a730d-3251-4ba4-89a8-bf1afe8b4a1d","properties":{"accountName":"clicyandfwdgfgm","apiType":"Sql","creationTime":"2021-06-15T18:21:13Z","deletionTime":"2021-06-15T18:40:21Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"637c6f9d-ff3e-470c-8992-c18b6f0d94bf","creationTime":"2021-06-15T18:21:13Z","deletionTime":"2021-06-15T18:40:21Z"}]}},{"name":"5565bf95-1329-47d3-aa5c-a65539972e8a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5565bf95-1329-47d3-aa5c-a65539972e8a","properties":{"accountName":"clildmbmxx2uq7w","apiType":"Sql","creationTime":"2021-06-15T18:39:13Z","deletionTime":"2021-06-15T18:40:21Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"247c847d-a777-4e4d-8f10-6aff1ea856b7","creationTime":"2021-06-15T18:39:13Z","deletionTime":"2021-06-15T18:40:21Z"}]}},{"name":"9ead44ab-ae25-4bb7-90ce-b3be58c2f728","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9ead44ab-ae25-4bb7-90ce-b3be58c2f728","properties":{"accountName":"cli7oeek6z2j4ye","apiType":"Sql","creationTime":"2021-06-15T19:04:38Z","deletionTime":"2021-06-15T19:05:55Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d493dd2d-49e1-418c-8426-14258fd9eea3","creationTime":"2021-06-15T19:04:38Z","deletionTime":"2021-06-15T19:05:55Z"}]}},{"name":"c70e2042-ebf2-4cfa-a2c0-97d5fc15b9db","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c70e2042-ebf2-4cfa-a2c0-97d5fc15b9db","properties":{"accountName":"cliuq6ab2xvcyqo","apiType":"Sql","creationTime":"2021-06-15T18:44:05Z","deletionTime":"2021-06-15T19:05:56Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"857bfb09-e450-4e1d-b2a2-495159b6b3e0","creationTime":"2021-06-15T18:44:06Z","deletionTime":"2021-06-15T19:05:56Z"}]}},{"name":"f1f4b075-0f3d-4a26-9424-5f95167c810e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f1f4b075-0f3d-4a26-9424-5f95167c810e","properties":{"accountName":"clidylqw7kqcmtp","apiType":"Sql","creationTime":"2021-06-15T19:13:25Z","deletionTime":"2021-06-15T19:16:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8db9796d-6c9f-476d-b5b6-edd1c66dd0db","creationTime":"2021-06-15T19:13:25Z","deletionTime":"2021-06-15T19:16:02Z"}]}},{"name":"5817b924-84c3-4096-bbad-6cbe2733f8e4","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5817b924-84c3-4096-bbad-6cbe2733f8e4","properties":{"accountName":"cliexj7vya5gfaq","apiType":"Sql","creationTime":"2021-06-15T19:50:01Z","deletionTime":"2021-06-15T19:52:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"67cfac14-add7-4ba0-a011-75b636e0a0aa","creationTime":"2021-06-15T19:50:02Z","deletionTime":"2021-06-15T19:52:36Z"}]}},{"name":"8001ec64-2c95-40b6-b215-01f82fa694b1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8001ec64-2c95-40b6-b215-01f82fa694b1","properties":{"accountName":"cli743d67fliy4h","apiType":"Sql","creationTime":"2021-06-15T19:55:45Z","deletionTime":"2021-06-15T19:58:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d0020435-fd39-4558-9954-e20b26d5c6f2","creationTime":"2021-06-15T19:55:45Z","deletionTime":"2021-06-15T19:58:28Z"}]}},{"name":"c8e800f9-8988-4559-b9e8-b14d9e7a5d30","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c8e800f9-8988-4559-b9e8-b14d9e7a5d30","properties":{"accountName":"clipfy3q2xsshzx","apiType":"Sql","creationTime":"2021-06-15T20:14:55Z","deletionTime":"2021-06-15T20:20:54Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c9ba74bc-ac3d-4009-9b15-399cbc13d82e","creationTime":"2021-06-15T20:14:56Z","deletionTime":"2021-06-15T20:20:54Z"}]}},{"name":"12a72075-d9bd-457b-8365-6e9ad339f3e7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/12a72075-d9bd-457b-8365-6e9ad339f3e7","properties":{"accountName":"clioepcc6kuvq22","apiType":"Sql","creationTime":"2021-06-15T20:31:28Z","deletionTime":"2021-06-15T20:34:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1b70260f-4651-4f23-a28c-a47901640d00","creationTime":"2021-06-15T20:31:28Z","deletionTime":"2021-06-15T20:34:36Z"}]}},{"name":"53c91b46-f9e0-4c85-9b5a-e35ef9b98b27","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/53c91b46-f9e0-4c85-9b5a-e35ef9b98b27","properties":{"accountName":"cliew7oy3skaf6r","apiType":"MongoDB","creationTime":"2021-06-15T20:40:13Z","deletionTime":"2021-06-15T20:46:12Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"0fd22886-ef27-4754-872d-4b264b62f6db","creationTime":"2021-06-15T20:40:14Z","deletionTime":"2021-06-15T20:46:12Z"}]}},{"name":"f62356db-c005-4a17-8ea4-531e3080ea6a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f62356db-c005-4a17-8ea4-531e3080ea6a","properties":{"accountName":"cli45gjd4b7nbzf","apiType":"MongoDB","creationTime":"2021-06-15T21:18:56Z","deletionTime":"2021-06-15T21:24:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d836debc-c08e-4699-99bc-a00c4dfd6164","creationTime":"2021-06-15T21:18:57Z","deletionTime":"2021-06-15T21:24:49Z"}]}},{"name":"4b5896ee-6403-49f6-b59e-b7f2fdeac48e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4b5896ee-6403-49f6-b59e-b7f2fdeac48e","properties":{"accountName":"clididj6b5m5wlk","apiType":"Sql","creationTime":"2021-06-15T21:22:31Z","deletionTime":"2021-06-15T21:25:34Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b37e21bd-aa72-4833-af18-79c6d238da39","creationTime":"2021-06-15T21:22:31Z","deletionTime":"2021-06-15T21:25:34Z"}]}},{"name":"da6f1010-2367-44b3-b85b-a5811a268035","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/da6f1010-2367-44b3-b85b-a5811a268035","properties":{"accountName":"cliorx36fi7bcfu","apiType":"Sql","creationTime":"2021-06-15T21:18:26Z","deletionTime":"2021-06-15T21:37:31Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"30e93095-85b8-4a7a-8f6e-0ef6968e7d1b","creationTime":"2021-06-15T21:18:27Z","deletionTime":"2021-06-15T21:37:31Z"}]}},{"name":"81e884d3-a185-46de-b28f-59b2df28e181","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/81e884d3-a185-46de-b28f-59b2df28e181","properties":{"accountName":"cliwohxgd4sabml","apiType":"Sql","creationTime":"2021-06-15T21:36:40Z","deletionTime":"2021-06-15T21:37:32Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"577f9dd2-7a2c-48b7-bd91-799f5a286c8f","creationTime":"2021-06-15T21:36:40Z","deletionTime":"2021-06-15T21:37:32Z"}]}},{"name":"2a2b62ce-9ae3-41b9-8f18-ee8de8448ec1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2a2b62ce-9ae3-41b9-8f18-ee8de8448ec1","properties":{"accountName":"cli2lcsmgq7gc2b","apiType":"Sql","creationTime":"2021-06-15T21:33:59Z","deletionTime":"2021-06-15T21:39:57Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"04c8c1ed-aeeb-4c4d-b748-ab522aff0c32","creationTime":"2021-06-15T21:33:59Z","deletionTime":"2021-06-15T21:39:57Z"}]}},{"name":"e90562e5-8a16-43dd-aa47-7df1ca5f430b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e90562e5-8a16-43dd-aa47-7df1ca5f430b","properties":{"accountName":"clisw6e6gphqune","apiType":"Sql","creationTime":"2021-06-16T19:12:59Z","deletionTime":"2021-06-16T19:16:06Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c33ae9b3-6704-4c81-a883-dd07a3c4fc0a","creationTime":"2021-06-16T19:12:59Z","deletionTime":"2021-06-16T19:16:06Z"}]}},{"name":"4adfd605-5257-4cbe-960c-e5d0b5b5fe31","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4adfd605-5257-4cbe-960c-e5d0b5b5fe31","properties":{"accountName":"clilupqw6yol77y","apiType":"Sql","creationTime":"2021-06-16T19:17:53Z","deletionTime":"2021-06-16T19:19:18Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2a56f7d7-15c1-4062-aba3-a6cc6038e2f9","creationTime":"2021-06-16T19:17:53Z","deletionTime":"2021-06-16T19:19:18Z"}]}},{"name":"f0c3c60e-96df-44dd-aa4a-3074102ff2f3","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f0c3c60e-96df-44dd-aa4a-3074102ff2f3","properties":{"accountName":"cli5gr7wq7ze6nm","apiType":"Sql","creationTime":"2021-06-16T19:20:58Z","deletionTime":"2021-06-16T19:22:31Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"22c65540-fe05-4dd5-bd8f-19355a04fb4b","creationTime":"2021-06-16T19:20:59Z","deletionTime":"2021-06-16T19:22:31Z"}]}},{"name":"7491d32f-bd26-4f30-be1e-4a6712217dc7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7491d32f-bd26-4f30-be1e-4a6712217dc7","properties":{"accountName":"clicj44v2xdix2j","apiType":"Sql","creationTime":"2021-06-16T19:25:01Z","deletionTime":"2021-06-16T19:26:31Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5b123a04-722a-4db7-ba1d-c887b5cdbce1","creationTime":"2021-06-16T19:25:02Z","deletionTime":"2021-06-16T19:26:31Z"}]}},{"name":"a5d2e540-ed13-4c37-a7f4-404045451665","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a5d2e540-ed13-4c37-a7f4-404045451665","properties":{"accountName":"clixpmyerwxbihh","apiType":"Sql","creationTime":"2021-06-16T19:44:31Z","deletionTime":"2021-06-16T19:47:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5e04089e-284f-49c1-8b67-6512848d276c","creationTime":"2021-06-16T19:44:31Z","deletionTime":"2021-06-16T19:47:37Z"}]}},{"name":"43587019-1601-4722-90ae-f5402084843e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/43587019-1601-4722-90ae-f5402084843e","properties":{"accountName":"clisil5dlzea3kb","apiType":"Sql","creationTime":"2021-06-16T20:01:15Z","deletionTime":"2021-06-16T20:02:44Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3c4e8201-2ca2-44c7-9971-2be302a3d079","creationTime":"2021-06-16T20:01:16Z","deletionTime":"2021-06-16T20:02:44Z"}]}},{"name":"6e39c0ea-ffbc-4775-bdca-aabff3a06a60","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6e39c0ea-ffbc-4775-bdca-aabff3a06a60","properties":{"accountName":"cli7zvdd4pkw2r6","apiType":"Sql","creationTime":"2021-06-16T20:07:36Z","deletionTime":"2021-06-16T20:09:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a5c0c7f9-03dc-43f9-8229-b327f8d487b5","creationTime":"2021-06-16T20:07:37Z","deletionTime":"2021-06-16T20:09:07Z"}]}},{"name":"49190793-edaf-482e-9951-dbf710944f94","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/49190793-edaf-482e-9951-dbf710944f94","properties":{"accountName":"cliltnnui46ava2","apiType":"Sql","creationTime":"2021-06-16T20:22:30Z","deletionTime":"2021-06-16T20:24:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d104874a-cc55-47d1-97b6-ad9be610aedc","creationTime":"2021-06-16T20:22:30Z","deletionTime":"2021-06-16T20:24:01Z"}]}},{"name":"235e4cfb-9509-4356-b1e6-036276104b0d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/235e4cfb-9509-4356-b1e6-036276104b0d","properties":{"accountName":"clidogwzvenxw26","apiType":"Sql","creationTime":"2021-06-16T20:26:48Z","deletionTime":"2021-06-16T20:28:19Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6409619c-7137-41bf-ab0e-4a398525c5b5","creationTime":"2021-06-16T20:26:49Z","deletionTime":"2021-06-16T20:28:19Z"}]}},{"name":"e21aae49-e0f2-4929-a161-7977be62a762","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e21aae49-e0f2-4929-a161-7977be62a762","properties":{"accountName":"cliceiq6mocp6i5","apiType":"Sql","creationTime":"2021-06-16T20:33:50Z","deletionTime":"2021-06-16T20:35:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"bf2b3723-c9bc-44bf-807a-0811275218fb","creationTime":"2021-06-16T20:33:50Z","deletionTime":"2021-06-16T20:35:26Z"}]}},{"name":"52eb72ff-f80e-4705-92c9-968f67da472c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/52eb72ff-f80e-4705-92c9-968f67da472c","properties":{"accountName":"clir6i7dl4r4wf2","apiType":"Sql","creationTime":"2021-06-16T20:45:16Z","deletionTime":"2021-06-16T20:47:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"f9a411d2-d33e-4694-81d8-2088d2a562d4","creationTime":"2021-06-16T20:45:17Z","deletionTime":"2021-06-16T20:47:01Z"}]}},{"name":"7f63d75d-a350-4dd0-8d80-882578cdff61","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7f63d75d-a350-4dd0-8d80-882578cdff61","properties":{"accountName":"cliutxtwnqe4iiy","apiType":"Sql","creationTime":"2021-06-16T22:28:17Z","deletionTime":"2021-06-16T22:29:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"07a1ede0-74a4-4136-adeb-e1870b0a87a4","creationTime":"2021-06-16T22:28:18Z","deletionTime":"2021-06-16T22:29:49Z"}]}},{"name":"96cc7d5c-40f8-4c37-8b43-43bcf8c69376","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/96cc7d5c-40f8-4c37-8b43-43bcf8c69376","properties":{"accountName":"clinlfokyrxduju","apiType":"Sql","creationTime":"2021-06-16T22:39:52Z","deletionTime":"2021-06-16T22:41:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"f4d9b776-65cb-429b-aa85-e623140f245e","creationTime":"2021-06-16T22:39:53Z","deletionTime":"2021-06-16T22:41:25Z"}]}},{"name":"279ccc1f-1594-4d10-a1ac-d877b1b9e708","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/279ccc1f-1594-4d10-a1ac-d877b1b9e708","properties":{"accountName":"clixf7ysjwgbct2","apiType":"Sql","creationTime":"2021-06-16T22:46:56Z","deletionTime":"2021-06-16T22:53:00Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5f3e6caa-3784-4fa9-b5dd-a1d11d1b6e02","creationTime":"2021-06-16T22:46:57Z","deletionTime":"2021-06-16T22:53:00Z"}]}},{"name":"9c04c9b6-2d9a-40aa-a0cc-754356a3c928","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9c04c9b6-2d9a-40aa-a0cc-754356a3c928","properties":{"accountName":"clidjwnfnbnsf4w","apiType":"Sql","creationTime":"2021-06-16T23:14:58Z","deletionTime":"2021-06-16T23:16:34Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8d5e5730-a768-4266-9409-a8d3f5a9e481","creationTime":"2021-06-16T23:14:59Z","deletionTime":"2021-06-16T23:16:34Z"}]}},{"name":"da02aaa9-6f01-44f0-b236-8c3c6f8a30e5","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/da02aaa9-6f01-44f0-b236-8c3c6f8a30e5","properties":{"accountName":"cliq3uqnmicrffa","apiType":"Sql","creationTime":"2021-06-16T23:26:13Z","deletionTime":"2021-06-16T23:27:47Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"402e376b-4c33-48e5-8820-919d650a5f01","creationTime":"2021-06-16T23:26:14Z","deletionTime":"2021-06-16T23:27:47Z"}]}},{"name":"3f0955f3-f1b5-42a1-9a23-b66eba71894a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3f0955f3-f1b5-42a1-9a23-b66eba71894a","properties":{"accountName":"clibex7mu77mpl5","apiType":"Sql","creationTime":"2021-06-16T23:44:47Z","deletionTime":"2021-06-16T23:50:54Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6bafaabc-e945-449d-96be-fdd87e06ac14","creationTime":"2021-06-16T23:44:48Z","deletionTime":"2021-06-16T23:50:54Z"}]}},{"name":"9dc47f53-76a3-4c59-8880-bc47e24be568","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9dc47f53-76a3-4c59-8880-bc47e24be568","properties":{"accountName":"cligww7ms5ee62s","apiType":"Sql","creationTime":"2021-06-17T01:27:42Z","deletionTime":"2021-06-17T01:29:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9c3937cc-a136-4455-b80c-d89d8a8fa85b","creationTime":"2021-06-17T01:27:43Z","deletionTime":"2021-06-17T01:29:17Z"}]}},{"name":"5c6a1b11-fb33-4226-9bae-8b9ab34774a1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5c6a1b11-fb33-4226-9bae-8b9ab34774a1","properties":{"accountName":"clixukbcuhbk36c","apiType":"Sql","creationTime":"2021-06-17T01:38:47Z","deletionTime":"2021-06-17T01:40:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5c9eb7c6-cfa2-459b-8e76-dc023bab4dde","creationTime":"2021-06-17T01:38:47Z","deletionTime":"2021-06-17T01:40:24Z"}]}},{"name":"69d50f39-4361-4eb3-a238-ad3a7dfb9e83","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/69d50f39-4361-4eb3-a238-ad3a7dfb9e83","properties":{"accountName":"clivt3zzne5quej","apiType":"Sql","creationTime":"2021-06-17T02:07:50Z","deletionTime":"2021-06-17T02:09:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d1700c5f-5628-4605-985b-5782e573cea9","creationTime":"2021-06-17T02:07:51Z","deletionTime":"2021-06-17T02:09:24Z"}]}},{"name":"a93c769d-4cb1-4406-a4b9-dad84094f984","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a93c769d-4cb1-4406-a4b9-dad84094f984","properties":{"accountName":"climxklkuvodvvc","apiType":"Sql","creationTime":"2021-06-17T02:14:39Z","deletionTime":"2021-06-17T02:16:13Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"daf2ec1a-0f95-4634-b705-fefdb9cf9dd1","creationTime":"2021-06-17T02:14:40Z","deletionTime":"2021-06-17T02:16:13Z"}]}},{"name":"20a895d0-2dca-4843-ae52-cf0eb44d508a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/20a895d0-2dca-4843-ae52-cf0eb44d508a","properties":{"accountName":"cliofxoelvbo77m","apiType":"Sql","creationTime":"2021-06-17T02:55:05Z","deletionTime":"2021-06-17T02:56:38Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5339984e-7bcc-4010-bacb-ca79c67ccc46","creationTime":"2021-06-17T02:55:06Z","deletionTime":"2021-06-17T02:56:38Z"}]}},{"name":"8fd8004f-4943-48e2-bdf8-bc6a8f3e1dca","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8fd8004f-4943-48e2-bdf8-bc6a8f3e1dca","properties":{"accountName":"clim5rfkhugxhz3","apiType":"Sql","creationTime":"2021-06-17T03:27:28Z","deletionTime":"2021-06-17T03:29:08Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a9d29f81-d030-4ea9-a64a-433b3af978af","creationTime":"2021-06-17T03:27:28Z","deletionTime":"2021-06-17T03:29:08Z"}]}},{"name":"e0ad7b66-02ff-4af0-9339-dee1777a33a0","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e0ad7b66-02ff-4af0-9339-dee1777a33a0","properties":{"accountName":"cliog3ya62athqa","apiType":"Sql","creationTime":"2021-06-17T03:48:09Z","deletionTime":"2021-06-17T03:54:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"813d7f13-1fb1-404e-964f-500459fff9aa","creationTime":"2021-06-17T03:48:10Z","deletionTime":"2021-06-17T03:54:17Z"}]}},{"name":"9ebc71b2-dfea-43d9-abed-14fd5543b003","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9ebc71b2-dfea-43d9-abed-14fd5543b003","properties":{"accountName":"clish7kwafxjimr","apiType":"Sql","creationTime":"2021-06-17T04:05:18Z","deletionTime":"2021-06-17T04:11:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"7c62c19f-67cb-409f-b315-056b81042ef3","creationTime":"2021-06-17T04:05:18Z","deletionTime":"2021-06-17T04:11:23Z"}]}},{"name":"fd3aa83e-023e-42bf-82c3-b49c70769a7b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fd3aa83e-023e-42bf-82c3-b49c70769a7b","properties":{"accountName":"clixu73fkxqc3r2","apiType":"Sql","creationTime":"2021-06-17T04:18:48Z","deletionTime":"2021-06-17T04:24:54Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"131ed675-6c51-4857-8436-1e4d16375e7d","creationTime":"2021-06-17T04:18:49Z","deletionTime":"2021-06-17T04:24:54Z"}]}},{"name":"ab991a20-f698-478a-afa1-3030c048e962","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab991a20-f698-478a-afa1-3030c048e962","properties":{"accountName":"clicafuqzjd5exp","apiType":"Sql","creationTime":"2021-06-17T04:29:05Z","deletionTime":"2021-06-17T04:35:08Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ca94f3e3-40c0-49cc-b9ee-3b0d0a8f0f49","creationTime":"2021-06-17T04:29:06Z","deletionTime":"2021-06-17T04:35:08Z"}]}},{"name":"4b0b9b38-96b5-4a5c-a8e8-dbae8d6c019b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4b0b9b38-96b5-4a5c-a8e8-dbae8d6c019b","properties":{"accountName":"clikpl7kyr3j7x6","apiType":"Sql","creationTime":"2021-06-17T04:44:48Z","deletionTime":"2021-06-17T04:50:58Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"080cde57-05b7-4de9-96b8-9ae9402dfa56","creationTime":"2021-06-17T04:44:48Z","deletionTime":"2021-06-17T04:50:58Z"}]}},{"name":"07999175-c43f-427f-b27c-9f55f53a2cac","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/07999175-c43f-427f-b27c-9f55f53a2cac","properties":{"accountName":"clirwjte3f5yuqu","apiType":"Sql","creationTime":"2021-06-17T04:58:41Z","deletionTime":"2021-06-17T05:04:45Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"52a5c138-036d-4b53-9291-dfa7d907dca0","creationTime":"2021-06-17T04:58:42Z","deletionTime":"2021-06-17T05:04:45Z"}]}},{"name":"6e9595a9-605e-403d-a3c0-112a48b0aa39","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6e9595a9-605e-403d-a3c0-112a48b0aa39","properties":{"accountName":"clibrfenghtlqct","apiType":"Sql","creationTime":"2021-06-17T05:08:41Z","deletionTime":"2021-06-17T05:14:46Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e2e14bdf-27bf-41a0-9e3c-0f2ed1a4e11d","creationTime":"2021-06-17T05:08:41Z","deletionTime":"2021-06-17T05:14:46Z"}]}},{"name":"08dfdb9a-cb70-4c3a-bca4-dab424d9563a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08dfdb9a-cb70-4c3a-bca4-dab424d9563a","properties":{"accountName":"clijocjd72ccgt6","apiType":"Sql","creationTime":"2021-06-17T06:39:40Z","deletionTime":"2021-06-17T06:46:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"43286ec1-94c8-45b2-914b-f3df90568c39","creationTime":"2021-06-17T06:39:40Z","deletionTime":"2021-06-17T06:46:02Z"}]}},{"name":"c231d642-401a-4706-abf3-c6552597023e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c231d642-401a-4706-abf3-c6552597023e","properties":{"accountName":"cli6cxr3el26tue","apiType":"Sql","creationTime":"2021-06-17T06:57:06Z","deletionTime":"2021-06-17T07:03:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"32c8f9a6-d828-4e0a-afd8-3cb076a0eb89","creationTime":"2021-06-17T06:57:07Z","deletionTime":"2021-06-17T07:03:23Z"}]}},{"name":"fcadfc2c-aa3e-40cb-b216-4eb115f928d9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fcadfc2c-aa3e-40cb-b216-4eb115f928d9","properties":{"accountName":"clinsg64f6iooqr","apiType":"Sql","creationTime":"2021-06-17T07:17:07Z","deletionTime":"2021-06-17T07:23:32Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"59784fa1-267a-455a-978e-abdc8b829e9e","creationTime":"2021-06-17T07:17:08Z","deletionTime":"2021-06-17T07:23:32Z"}]}},{"name":"b4d32787-58db-4578-be6d-378192bb68a1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b4d32787-58db-4578-be6d-378192bb68a1","properties":{"accountName":"clih6hqkeqwpgfi","apiType":"Sql","creationTime":"2021-06-17T07:35:00Z","deletionTime":"2021-06-17T07:40:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5f6bcd8f-9712-4a2d-a645-eed53452190f","creationTime":"2021-06-17T07:35:01Z","deletionTime":"2021-06-17T07:40:02Z"}]}},{"name":"fbe88ad8-aeab-4e31-81ae-7fe3f3062019","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fbe88ad8-aeab-4e31-81ae-7fe3f3062019","properties":{"accountName":"clidxu5kw6e64e2","apiType":"Sql","creationTime":"2021-06-17T07:45:23Z","deletionTime":"2021-06-17T07:50:19Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"bfcf1a48-b80f-4cfa-9e1a-41f86746e2ef","creationTime":"2021-06-17T07:45:23Z","deletionTime":"2021-06-17T07:50:19Z"}]}},{"name":"88c769b9-09ed-45a0-b0cc-882a0316a24b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/88c769b9-09ed-45a0-b0cc-882a0316a24b","properties":{"accountName":"clixqhxvl25w5rs","apiType":"Sql","creationTime":"2021-06-17T17:43:22Z","deletionTime":"2021-06-17T17:48:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"42cd8fa9-1b3a-4441-aa62-5a734fc2e358","creationTime":"2021-06-17T17:43:23Z","deletionTime":"2021-06-17T17:48:28Z"}]}},{"name":"056d5aae-31de-45f2-9572-ffac9b377b51","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/056d5aae-31de-45f2-9572-ffac9b377b51","properties":{"accountName":"clir5uspxka4iz2","apiType":"Sql","creationTime":"2021-06-17T22:47:22Z","deletionTime":"2021-06-17T22:52:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ecf1d8e2-9eae-414c-8fa4-48f03765fb30","creationTime":"2021-06-17T22:47:22Z","deletionTime":"2021-06-17T22:52:26Z"}]}},{"name":"5e02fb4c-2bcf-4247-a6ff-c847bd6f10b1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5e02fb4c-2bcf-4247-a6ff-c847bd6f10b1","properties":{"accountName":"cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-17T22:11:24Z","deletionTime":"2021-06-17T23:36:58Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"54781d86-893a-4e51-86a7-f373c7ee9a3d","creationTime":"2021-06-17T22:11:24Z","deletionTime":"2021-06-17T23:36:58Z"}]}},{"name":"19c98ad7-2c9b-4c26-a973-6b73f8a32222","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/19c98ad7-2c9b-4c26-a973-6b73f8a32222","properties":{"accountName":"cli5e6vgxaqxgb6","apiType":"Sql","creationTime":"2021-06-18T00:58:37Z","deletionTime":"2021-06-18T01:03:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2e0f99aa-4293-4d92-842f-f95b2d6c7f5b","creationTime":"2021-06-18T00:58:38Z","deletionTime":"2021-06-18T01:03:37Z"}]}},{"name":"a05f1b33-0d02-4db4-8077-a02101842f51","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a05f1b33-0d02-4db4-8077-a02101842f51","properties":{"accountName":"restored-cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-18T01:10:09Z","deletionTime":"2021-06-18T01:11:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5f917f40-8ec2-4502-9f9c-36a276504a99","creationTime":"2021-06-18T01:10:09Z","deletionTime":"2021-06-18T01:11:23Z"}]}},{"name":"adb35fb1-bd63-45ab-b4be-fb71908f3a00","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/adb35fb1-bd63-45ab-b4be-fb71908f3a00","properties":{"accountName":"cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-18T00:44:20Z","deletionTime":"2021-06-18T01:11:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d7c20579-9dba-4742-b4a9-a254307cf6aa","creationTime":"2021-06-18T00:44:20Z","deletionTime":"2021-06-18T01:11:24Z"}]}},{"name":"03d8a984-2813-461f-ae8a-40162fc34fc9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/03d8a984-2813-461f-ae8a-40162fc34fc9","properties":{"accountName":"clibqqowljgy2pk","apiType":"Sql","creationTime":"2021-06-18T01:34:26Z","deletionTime":"2021-06-18T01:54:44Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"0ba1d604-ff3b-407c-8291-771a2cc38837","creationTime":"2021-06-18T01:34:27Z","deletionTime":"2021-06-18T01:54:44Z"}]}},{"name":"829dbb14-29e7-4e4e-aa44-07a39c39f6ee","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/829dbb14-29e7-4e4e-aa44-07a39c39f6ee","properties":{"accountName":"cli7bpibga5crep","apiType":"Sql","creationTime":"2021-06-18T01:53:26Z","deletionTime":"2021-06-18T01:54:44Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"92d1010f-f552-4c5c-ba0e-2b2f8272e3d3","creationTime":"2021-06-18T01:53:26Z","deletionTime":"2021-06-18T01:54:44Z"}]}},{"name":"066a63e6-285e-4a28-a678-bcd237d478bb","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/066a63e6-285e-4a28-a678-bcd237d478bb","properties":{"accountName":"clie353lj37ehgx","apiType":"Sql","creationTime":"2021-06-18T01:57:03Z","deletionTime":"2021-06-18T02:00:08Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"451c57be-cc76-418d-b91a-210cbe5cce21","creationTime":"2021-06-18T01:57:04Z","deletionTime":"2021-06-18T02:00:08Z"}]}},{"name":"22bd53e7-b41b-45f4-bdef-60fc4e22a4f5","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/22bd53e7-b41b-45f4-bdef-60fc4e22a4f5","properties":{"accountName":"clinvzay2oxwdrt","apiType":"Sql","creationTime":"2021-06-18T02:06:02Z","deletionTime":"2021-06-18T02:09:11Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"aced316e-4d28-43b2-9391-c82cb8f8eba5","creationTime":"2021-06-18T02:06:02Z","deletionTime":"2021-06-18T02:09:11Z"}]}},{"name":"038a4dbd-c42f-44df-8037-31b77a8d7e0e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/038a4dbd-c42f-44df-8037-31b77a8d7e0e","properties":{"accountName":"cliaa2qj3ti2lxg","apiType":"Sql","creationTime":"2021-06-18T02:10:35Z","deletionTime":"2021-06-18T02:13:43Z","restorableLocations":[]}},{"name":"ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","location":"South + Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southcentralus/restorableDatabaseAccounts/ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","properties":{"accountName":"kal-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:57:45Z","restorableLocations":[{"locationName":"South + Central US","regionalDatabaseAccountInstanceId":"ff8bf7b0-f9c3-461c-8c13-26e94ac4c2bc","creationTime":"2020-10-05T23:57:46Z"}]}},{"name":"afd28572-807d-4ea2-bf0f-65f0b4e411dc","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/afd28572-807d-4ea2-bf0f-65f0b4e411dc","properties":{"accountName":"amisitestaccount","apiType":"Sql","creationTime":"2021-06-14T18:25:57Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"97b4f06b-62cd-4ea2-873e-6b674138b58c","creationTime":"2021-06-14T18:25:58Z"}]}},{"name":"b2e52a09-ca35-462e-976a-a784606f87ec","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/b2e52a09-ca35-462e-976a-a784606f87ec","properties":{"accountName":"cosmosdb-1210","apiType":"Sql","creationTime":"2021-06-10T03:08:01Z","deletionTime":"2021-06-10T03:25:01Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"798d5b90-cd01-4f3a-88fe-93965a9e2a50","creationTime":"2021-06-10T03:08:02Z","deletionTime":"2021-06-10T03:25:01Z"}]}},{"name":"8037f5d7-8619-48e9-870c-a7ecd8310b71","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/8037f5d7-8619-48e9-870c-a7ecd8310b71","properties":{"accountName":"restored2-cosmosdb-1210-1","apiType":"Sql","creationTime":"2021-06-10T03:23:30Z","deletionTime":"2021-06-10T03:25:04Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"36ffdd26-d63a-428a-b28f-69bc8137ae3a","creationTime":"2021-06-10T03:23:30Z","deletionTime":"2021-06-10T03:25:04Z"}]}},{"name":"c935156b-cb09-4712-b286-3b4d5335a64b","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/c935156b-cb09-4712-b286-3b4d5335a64b","properties":{"accountName":"mongo-continuous-1274","apiType":"MongoDB","creationTime":"2021-06-10T03:33:02Z","deletionTime":"2021-06-10T03:35:32Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"927a1dac-8e23-4baa-a745-e200fa0a97db","creationTime":"2021-06-10T03:33:03Z","deletionTime":"2021-06-10T03:35:32Z"}]}},{"name":"3330d6e1-9283-4516-bcb3-3bc0b4c52a2f","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/3330d6e1-9283-4516-bcb3-3bc0b4c52a2f","properties":{"accountName":"mongo-continuous-1274","apiType":"MongoDB","creationTime":"2021-06-10T04:11:43Z","deletionTime":"2021-06-10T04:14:11Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"cc8315a2-9b66-4d28-9a3e-e6e5c8d87950","creationTime":"2021-06-10T04:11:44Z","deletionTime":"2021-06-10T04:14:11Z"}]}}]}' headers: cache-control: - no-cache content-length: - - '5549' + - '112876' content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:09:13 GMT + - Fri, 18 Jun 2021 02:19:54 GMT expires: - '-1' pragma: @@ -896,7 +1222,6 @@ interactions: - '' - '' - '' - - '' status: code: 200 message: OK @@ -904,8 +1229,8 @@ interactions: body: '{"location": "West US", "kind": "GlobalDocumentDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0}], "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Restore", "restoreParameters": - {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9", - "restoreTimestampInUtc": "2021-05-24T19:07:22.000Z"}}}' + {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9", + "restoreTimestampInUtc": "2021-06-18T02:18:02.000Z"}}}' headers: Accept: - application/json @@ -918,37 +1243,34 @@ interactions: Content-Length: - '509' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:09:16.2461204Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:19:57.9226734Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"3990e709-314c-4825-914f-cdb87a913705","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","restoreTimestampInUtc":"2021-06-18T02:18:02Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '2335' + - '2341' content-type: - application/json date: - - Mon, 24 May 2021 19:09:18 GMT + - Fri, 18 Jun 2021 02:19:59 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview pragma: - no-cache server: @@ -962,7 +1284,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -972,7 +1294,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -982,10 +1304,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -997,7 +1318,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:09:48 GMT + - Fri, 18 Jun 2021 02:20:30 GMT pragma: - no-cache server: @@ -1011,7 +1332,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1019,7 +1340,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1029,10 +1350,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1044,7 +1364,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:10:19 GMT + - Fri, 18 Jun 2021 02:21:00 GMT pragma: - no-cache server: @@ -1058,7 +1378,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1066,7 +1386,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1076,10 +1396,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1091,7 +1410,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:10:49 GMT + - Fri, 18 Jun 2021 02:21:30 GMT pragma: - no-cache server: @@ -1105,7 +1424,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1113,7 +1432,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1123,10 +1442,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1138,7 +1456,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:11:19 GMT + - Fri, 18 Jun 2021 02:22:01 GMT pragma: - no-cache server: @@ -1152,7 +1470,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1160,7 +1478,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1170,10 +1488,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1185,7 +1502,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:11:49 GMT + - Fri, 18 Jun 2021 02:22:31 GMT pragma: - no-cache server: @@ -1199,7 +1516,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1207,7 +1524,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1217,10 +1534,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1232,7 +1548,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:12:19 GMT + - Fri, 18 Jun 2021 02:23:00 GMT pragma: - no-cache server: @@ -1246,7 +1562,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1254,7 +1570,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1264,10 +1580,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1279,7 +1594,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:12:49 GMT + - Fri, 18 Jun 2021 02:23:31 GMT pragma: - no-cache server: @@ -1293,7 +1608,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1301,7 +1616,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1311,10 +1626,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1326,7 +1640,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:13:19 GMT + - Fri, 18 Jun 2021 02:24:01 GMT pragma: - no-cache server: @@ -1340,7 +1654,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1348,7 +1662,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1358,10 +1672,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1373,7 +1686,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:13:50 GMT + - Fri, 18 Jun 2021 02:24:31 GMT pragma: - no-cache server: @@ -1387,7 +1700,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1395,7 +1708,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1405,10 +1718,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1420,7 +1732,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:14:19 GMT + - Fri, 18 Jun 2021 02:25:02 GMT pragma: - no-cache server: @@ -1434,7 +1746,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1442,7 +1754,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1452,10 +1764,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1467,7 +1778,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:14:49 GMT + - Fri, 18 Jun 2021 02:25:31 GMT pragma: - no-cache server: @@ -1481,7 +1792,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1489,7 +1800,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1499,10 +1810,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1514,7 +1824,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:15:19 GMT + - Fri, 18 Jun 2021 02:26:02 GMT pragma: - no-cache server: @@ -1528,7 +1838,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1536,7 +1846,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1546,10 +1856,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1561,7 +1870,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:15:50 GMT + - Fri, 18 Jun 2021 02:26:32 GMT pragma: - no-cache server: @@ -1575,7 +1884,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1583,7 +1892,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1593,10 +1902,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1608,7 +1916,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:16:20 GMT + - Fri, 18 Jun 2021 02:27:02 GMT pragma: - no-cache server: @@ -1622,7 +1930,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1630,7 +1938,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1640,10 +1948,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1655,7 +1962,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:16:50 GMT + - Fri, 18 Jun 2021 02:27:33 GMT pragma: - no-cache server: @@ -1669,7 +1976,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1677,7 +1984,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1687,10 +1994,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1702,7 +2008,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:17:20 GMT + - Fri, 18 Jun 2021 02:28:02 GMT pragma: - no-cache server: @@ -1716,7 +2022,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1724,7 +2030,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1734,10 +2040,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1749,7 +2054,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:17:50 GMT + - Fri, 18 Jun 2021 02:28:33 GMT pragma: - no-cache server: @@ -1763,7 +2068,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1771,7 +2076,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 02:29:03 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1781,10 +2132,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1796,7 +2146,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:18:20 GMT + - Fri, 18 Jun 2021 02:29:33 GMT pragma: - no-cache server: @@ -1810,7 +2160,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1818,7 +2168,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 02:30:03 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1828,10 +2224,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1843,7 +2238,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:18:50 GMT + - Fri, 18 Jun 2021 02:30:34 GMT pragma: - no-cache server: @@ -1857,7 +2252,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1865,7 +2260,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 02:31:03 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1875,10 +2316,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1890,7 +2330,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:19:21 GMT + - Fri, 18 Jun 2021 02:31:34 GMT pragma: - no-cache server: @@ -1904,7 +2344,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1912,7 +2352,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 02:32:05 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1922,10 +2408,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1937,7 +2422,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:19:50 GMT + - Fri, 18 Jun 2021 02:32:34 GMT pragma: - no-cache server: @@ -1951,7 +2436,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1959,7 +2444,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 02:33:04 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1969,10 +2500,9 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4883a6c3-7fba-4834-be48-7c83deb64f4a?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -1984,7 +2514,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:20:20 GMT + - Fri, 18 Jun 2021 02:33:34 GMT pragma: - no-cache server: @@ -1998,7 +2528,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -2006,7 +2536,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2016,27 +2546,26 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:55.9871889Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:33:25.7049993Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"3990e709-314c-4825-914f-cdb87a913705","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","restoreTimestampInUtc":"2021-06-18T02:18:02Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2409' + - '2415' content-type: - application/json date: - - Mon, 24 May 2021 19:20:20 GMT + - Fri, 18 Jun 2021 02:33:35 GMT pragma: - no-cache server: @@ -2050,7 +2579,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -2068,29 +2597,26 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:55.9871889Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:33:25.7049993Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"3990e709-314c-4825-914f-cdb87a913705","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","restoreTimestampInUtc":"2021-06-18T02:18:02Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2409' + - '2415' content-type: - application/json date: - - Mon, 24 May 2021 19:20:20 GMT + - Fri, 18 Jun 2021 02:33:35 GMT pragma: - no-cache server: @@ -2104,7 +2630,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -2122,29 +2648,26 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:55.9871889Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:33:25.7049993Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"3990e709-314c-4825-914f-cdb87a913705","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1f4ffd91-b3db-4e68-99eb-fd9c26d363e9","restoreTimestampInUtc":"2021-06-18T02:18:02Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2409' + - '2415' content-type: - application/json date: - - Mon, 24 May 2021 19:20:21 GMT + - Fri, 18 Jun 2021 02:33:36 GMT pragma: - no-cache server: @@ -2158,7 +2681,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml index 9701df6cd05..590f7d4a106 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_restore_using_create000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-18T01:33:07Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:01:59 GMT + - Fri, 18 Jun 2021 01:33:09 GMT expires: - '-1' pragma: @@ -47,8 +44,8 @@ interactions: - request: body: '{"location": "westus", "kind": "GlobalDocumentDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0, "isZoneRedundant": false}], - "databaseAccountOfferType": "Standard", "apiProperties": {}, "backupPolicy": - {"type": "Continuous"}, "createMode": "Default"}}' + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Default", + "backupPolicy": {"type": "Continuous"}}}' headers: Accept: - application/json @@ -61,37 +58,34 @@ interactions: Content-Length: - '284' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:02.9080388Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:33:12.9469408Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"03d8a984-2813-461f-ae8a-40162fc34fc9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ff74ae50-ae1d-4d04-b72a-b25dd93f035b?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '1821' + - '1789' content-type: - application/json date: - - Mon, 24 May 2021 19:02:05 GMT + - Fri, 18 Jun 2021 01:33:14 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/ff74ae50-ae1d-4d04-b72a-b25dd93f035b?api-version=2021-04-01-preview pragma: - no-cache server: @@ -105,7 +99,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -115,7 +109,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -125,10 +119,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ff74ae50-ae1d-4d04-b72a-b25dd93f035b?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -140,7 +133,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:02:35 GMT + - Fri, 18 Jun 2021 01:33:44 GMT pragma: - no-cache server: @@ -154,7 +147,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -162,7 +155,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -172,10 +165,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ff74ae50-ae1d-4d04-b72a-b25dd93f035b?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +179,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:05 GMT + - Fri, 18 Jun 2021 01:34:15 GMT pragma: - no-cache server: @@ -201,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -209,7 +201,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -219,10 +211,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ff74ae50-ae1d-4d04-b72a-b25dd93f035b?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -234,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:35 GMT + - Fri, 18 Jun 2021 01:34:44 GMT pragma: - no-cache server: @@ -248,7 +239,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -256,7 +247,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -266,10 +257,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ff74ae50-ae1d-4d04-b72a-b25dd93f035b?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -281,7 +271,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 01:35:14 GMT pragma: - no-cache server: @@ -295,7 +285,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -303,7 +293,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -313,14 +303,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:28.9412662Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:34:25.8766462Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"03d8a984-2813-461f-ae8a-40162fc34fc9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West @@ -329,11 +318,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 01:35:14 GMT pragma: - no-cache server: @@ -347,7 +336,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -365,16 +354,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:28.9412662Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:34:25.8766462Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"03d8a984-2813-461f-ae8a-40162fc34fc9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West @@ -383,11 +369,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 01:35:14 GMT pragma: - no-cache server: @@ -401,7 +387,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -419,16 +405,13 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:28.9412662Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:34:25.8766462Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"03d8a984-2813-461f-ae8a-40162fc34fc9","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West @@ -437,11 +420,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 01:35:15 GMT pragma: - no-cache server: @@ -455,7 +438,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -477,15 +460,15 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/849c67f5-b5fe-4120-86f2-6eeb375ef94b?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e1800bbd-1457-4a51-837a-f30c4a7073c1?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -493,9 +476,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:07 GMT + - Fri, 18 Jun 2021 01:35:16 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/849c67f5-b5fe-4120-86f2-6eeb375ef94b?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/e1800bbd-1457-4a51-837a-f30c4a7073c1?api-version=2021-04-15 pragma: - no-cache server: @@ -505,7 +488,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -525,9 +508,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/849c67f5-b5fe-4120-86f2-6eeb375ef94b?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e1800bbd-1457-4a51-837a-f30c4a7073c1?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -539,7 +522,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:37 GMT + - Fri, 18 Jun 2021 01:35:46 GMT pragma: - no-cache server: @@ -553,7 +536,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -571,12 +554,12 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-04-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"MIIEAA==","_self":"dbs/MIIEAA==/","_etag":"\"00002700-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/","_ts":1621883054}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"PIVwAA==","_self":"dbs/PIVwAA==/","_etag":"\"00007800-0000-0700-0000-60cbf8590000\"","_colls":"colls/","_users":"users/","_ts":1623980121}}}' headers: cache-control: - no-store, no-cache @@ -585,7 +568,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:37 GMT + - Fri, 18 Jun 2021 01:35:46 GMT pragma: - no-cache server: @@ -599,7 +582,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -624,15 +607,15 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e0a69cb8-cd7e-490d-a45a-f5cdebdea155?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/eaad2915-73f8-43e7-9af4-3c31594223ea?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -640,9 +623,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:39 GMT + - Fri, 18 Jun 2021 01:35:48 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/e0a69cb8-cd7e-490d-a45a-f5cdebdea155?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/eaad2915-73f8-43e7-9af4-3c31594223ea?api-version=2021-04-15 pragma: - no-cache server: @@ -652,7 +635,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -672,9 +655,9 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e0a69cb8-cd7e-490d-a45a-f5cdebdea155?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/eaad2915-73f8-43e7-9af4-3c31594223ea?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -686,7 +669,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:09 GMT + - Fri, 18 Jun 2021 01:36:19 GMT pragma: - no-cache server: @@ -700,7 +683,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -718,12 +701,12 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-04-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"MIIEAIojPpE=","_ts":1621883086,"_self":"dbs/MIIEAA==/colls/MIIEAIojPpE=/","_etag":"\"00002a00-0000-0700-0000-60abf8ce0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"PIVwAKYvY+8=","_ts":1623980153,"_self":"dbs/PIVwAA==/colls/PIVwAKYvY+8=/","_etag":"\"00007b00-0000-0700-0000-60cbf8790000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' headers: cache-control: - no-store, no-cache @@ -732,7 +715,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:09 GMT + - Fri, 18 Jun 2021 01:36:19 GMT pragma: - no-cache server: @@ -746,7 +729,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -762,44 +745,379 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-04-01-preview response: body: - string: '{"value":[{"name":"d4b1a4f0-edcb-438d-a137-5defb99c0f07","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d4b1a4f0-edcb-438d-a137-5defb99c0f07","properties":{"accountName":"cli4rr7r3qwz6rw","apiType":"Sql","creationTime":"2021-02-23T00:47:27Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"dd635420-1570-4c29-9e84-f4c3a6c7147d","creationTime":"2021-02-23T00:47:27Z"}]}},{"name":"ab5d3d1d-0331-4b85-badb-7d7348021b5d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5d3d1d-0331-4b85-badb-7d7348021b5d","properties":{"accountName":"pkdelpitr","apiType":"Sql","creationTime":"2021-03-22T05:13:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8e4e5a09-8b0b-4c79-b763-0765b4bb9a12","creationTime":"2021-03-22T05:14:00Z"}]}},{"name":"e4936df7-a1e5-4ea9-b31f-39b4d93357a3","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e4936df7-a1e5-4ea9-b31f-39b4d93357a3","properties":{"accountName":"pkdeletepitrrestore","apiType":"Sql","creationTime":"2021-03-23T12:56:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3437d90b-576a-40d7-aebb-d44b5e8aa4fe","creationTime":"2021-03-23T12:56:22Z"}]}},{"name":"15e70a1e-dfe7-4612-998d-9271dfd2eed7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/15e70a1e-dfe7-4612-998d-9271dfd2eed7","properties":{"accountName":"pkdeletepitrerestored2","apiType":"Sql","creationTime":"2021-03-23T13:51:57Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9fb5487c-ba7f-40bd-87df-6e9fbac3ce38","creationTime":"2021-03-23T13:51:57Z"}]}},{"name":"f4b62789-73d5-42d5-acd2-9a3aabfdd708","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f4b62789-73d5-42d5-acd2-9a3aabfdd708","properties":{"accountName":"pkdelpitrrestored3","apiType":"Sql","creationTime":"2021-03-23T14:55:37Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"ab47956d-ee05-4a49-908c-923b652cc93e","creationTime":"2021-03-23T14:55:37Z"}]}},{"name":"7e9c9bb6-b915-4c5c-a79e-463e20e090b4","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7e9c9bb6-b915-4c5c-a79e-463e20e090b4","properties":{"accountName":"pkdeleteusermetricstest","apiType":"Sql","creationTime":"2021-03-26T09:44:42Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9f33930b-b8c6-4dc6-9db6-b817b5b2fee2","creationTime":"2021-03-26T09:44:42Z"}]}},{"name":"4887b893-fa01-44c5-88c9-63b8743ccb24","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24","properties":{"accountName":"clip6nwplzlrhms","apiType":"Sql","creationTime":"2021-05-24T19:03:28Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"344e6d5d-b509-41bf-8e1b-9fcca0fab48f","creationTime":"2021-05-24T19:03:29Z"}]}},{"name":"77584dc5-71c1-4639-b157-b10d6cf1b613","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-05-24T19:03:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1e398a5e-034c-4a6d-a1b6-7d8b433e43fb","creationTime":"2021-05-24T19:03:30Z"}]}},{"name":"e1471531-db85-410c-b75b-55fc5b41767e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e","properties":{"accountName":"cli53y73kqpqh2x","apiType":"MongoDB","creationTime":"2021-05-24T19:04:04Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"12188092-81f5-4d40-8c2a-d95f54ee9c97","creationTime":"2021-05-24T19:04:04Z"}]}},{"name":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","properties":{"accountName":"cli5kprujhrqrk4","apiType":"Sql","creationTime":"2021-05-24T19:03:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"84ecf0cf-5717-4766-bf46-2dabc58c06de","creationTime":"2021-05-24T19:03:23Z"}]}}]}' + string: '{"value":[{"name":"aea3afe4-2717-415b-93a4-e1dd19cc4595","location":"North + Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/northcentralus/restorableDatabaseAccounts/aea3afe4-2717-415b-93a4-e1dd19cc4595","properties":{"accountName":"activity-logs-pitr-src","apiType":"Sql","creationTime":"2021-04-21T03:08:40Z","restorableLocations":[{"locationName":"North + Central US","regionalDatabaseAccountInstanceId":"c45ad4b6-aaea-4fc4-8484-b87efbcb4313","creationTime":"2021-04-21T03:08:41Z"}]}},{"name":"014c15d8-92f0-4230-b57b-a1fe7bd2cf35","location":"North + Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/northcentralus/restorableDatabaseAccounts/014c15d8-92f0-4230-b57b-a1fe7bd2cf35","properties":{"accountName":"activity-logs-pitr-restored","apiType":"Sql","creationTime":"2021-04-21T03:30:56Z","restorableLocations":[{"locationName":"North + Central US","regionalDatabaseAccountInstanceId":"3f0b0893-5464-4e68-bb9f-ae498bacb06b","creationTime":"2021-04-21T03:30:56Z"}]}},{"name":"f18ba477-02b4-44b1-b57a-0183592073e6","location":"Central + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/centralus/restorableDatabaseAccounts/f18ba477-02b4-44b1-b57a-0183592073e6","properties":{"accountName":"kal-empty-account-test","apiType":"Sql","creationTime":"2021-05-14T17:51:17Z","restorableLocations":[{"locationName":"Central + US","regionalDatabaseAccountInstanceId":"8858c8fe-cfcc-405c-82f1-abba757ce6fd","creationTime":"2021-05-14T17:51:18Z"}]}},{"name":"ec6a16ed-81f1-43b4-88e6-d9cd76a392ca","location":"Canada + Central","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/canadacentral/restorableDatabaseAccounts/ec6a16ed-81f1-43b4-88e6-d9cd76a392ca","properties":{"accountName":"vinhoffset","apiType":"Sql","creationTime":"2021-06-11T18:01:29Z","restorableLocations":[{"locationName":"Canada + Central","regionalDatabaseAccountInstanceId":"007dd53a-405a-4bf3-97c1-0fcef61071fe","creationTime":"2021-06-11T18:01:29Z"},{"locationName":"East + Asia","regionalDatabaseAccountInstanceId":"0984a52f-3430-44bb-ac77-68dae5264102","creationTime":"2021-06-11T18:01:29Z"}]}},{"name":"7766c42b-df2e-41d3-825f-05a5bedfa3a5","location":"Canada + Central","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/canadacentral/restorableDatabaseAccounts/7766c42b-df2e-41d3-825f-05a5bedfa3a5","properties":{"accountName":"vinhoffset-aftermig-wr-canadacentral","apiType":"Sql","creationTime":"2021-06-11T18:30:40Z","restorableLocations":[{"locationName":"Canada + Central","regionalDatabaseAccountInstanceId":"b07f195b-5cae-4236-b40b-b970e90ba74e","creationTime":"2021-06-11T18:30:40Z"}]}},{"name":"2337c75e-d7db-4829-9344-bc5dd6fe5255","location":"Canada + Central","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/canadacentral/restorableDatabaseAccounts/2337c75e-d7db-4829-9344-bc5dd6fe5255","properties":{"accountName":"vinhoffset-aftermig-rr-eastasia-partial","apiType":"Sql","creationTime":"2021-06-11T18:33:09Z","restorableLocations":[{"locationName":"East + Asia","regionalDatabaseAccountInstanceId":"a0244bd6-03e2-4082-b363-9a302ab71d3a","creationTime":"2021-06-11T18:33:09Z"}]}},{"name":"c0291614-213c-4629-a26a-12802ca1b761","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0291614-213c-4629-a26a-12802ca1b761","properties":{"accountName":"virangai-test-mongo-pitr","apiType":"MongoDB","creationTime":"2020-11-24T21:46:07Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"12e12ed9-5da1-4a35-9ecf-09dff1515d58","creationTime":"2020-11-24T21:46:08Z"}]}},{"name":"da7bc674-bba2-4d4f-902a-c20b3553e2ce","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/da7bc674-bba2-4d4f-902a-c20b3553e2ce","properties":{"accountName":"test-virangai-cont-bk-noafec","apiType":"Sql","creationTime":"2021-02-09T00:21:09Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b00163d1-dbab-4e4b-9201-8c6ec42a1a9d","creationTime":"2021-02-09T00:21:10Z"}]}},{"name":"f6c06aad-47cc-4e02-bffc-acf599a4df1d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f6c06aad-47cc-4e02-bffc-acf599a4df1d","properties":{"accountName":"targetacct7","apiType":"MongoDB","creationTime":"2021-02-20T19:02:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b18cf598-3b0c-4a46-bf0e-930df81b7b4b","creationTime":"2021-02-20T19:02:58Z"}]}},{"name":"7194cffb-815b-4eac-b125-d841f1ab2d0c","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/7194cffb-815b-4eac-b125-d841f1ab2d0c","properties":{"accountName":"targetacct6","apiType":"MongoDB","creationTime":"2021-02-20T19:05:54Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"886ba7e8-ca9e-4e8f-b9b5-45c2424a0970","creationTime":"2021-02-20T19:05:54Z"}]}},{"name":"062e63d1-f782-4dc6-8e12-3050890f8bd8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/062e63d1-f782-4dc6-8e12-3050890f8bd8","properties":{"accountName":"targetacct8","apiType":"MongoDB","creationTime":"2021-02-20T19:18:24Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"7f399ec7-0601-4974-9ec9-500de746868c","creationTime":"2021-02-20T19:18:24Z"}]}},{"name":"37328587-b42b-4572-a089-1a0e9e9d8b0d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/37328587-b42b-4572-a089-1a0e9e9d8b0d","properties":{"accountName":"targetacct9","apiType":"MongoDB","creationTime":"2021-02-20T19:17:52Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"356ca2cc-d06d-4dbe-b481-5be0cbb26c21","creationTime":"2021-02-20T19:17:52Z"}]}},{"name":"f1120981-eb0a-4928-8c93-296c992135ab","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f1120981-eb0a-4928-8c93-296c992135ab","properties":{"accountName":"virangai-test-mongo-pitr-res","apiType":"MongoDB","creationTime":"2021-02-26T10:56:25Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"dbdbac5a-fb2e-4e8b-92ff-acd66a7fd7be","creationTime":"2021-02-26T10:56:25Z"}]}},{"name":"ac54ad8c-e894-4c4b-bfd2-bc89f0d885bf","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ac54ad8c-e894-4c4b-bfd2-bc89f0d885bf","properties":{"accountName":"virangai-test-mongo-pitr-restore","apiType":"MongoDB","creationTime":"2021-02-26T11:13:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"adbe3b02-8f07-47b6-8aad-54c69f6725bb","creationTime":"2021-02-26T11:13:04Z"}]}},{"name":"760b8a29-18fd-4e12-adb9-c9ec34af0d7e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/760b8a29-18fd-4e12-adb9-c9ec34af0d7e","properties":{"accountName":"co-wus2-amnonetemplate-cosmo-t011","apiType":"Sql","creationTime":"2021-06-10T19:45:26Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b5d2d253-600e-4611-b581-2ed2ecd02967","creationTime":"2021-06-10T19:45:27Z"}]}},{"name":"2e4f3a44-f904-4a24-ba32-1517e315434a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2e4f3a44-f904-4a24-ba32-1517e315434a","properties":{"accountName":"co-wus2-amnonetemplate-cosmo-t011-test","apiType":"Sql","creationTime":"2021-06-16T17:39:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a4298ceb-ff54-44e7-bac0-b41219145b01","creationTime":"2021-06-16T17:39:46Z"}]}},{"name":"fccbe297-cb19-424b-a8d7-e996a6b7b689","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fccbe297-cb19-424b-a8d7-e996a6b7b689","properties":{"accountName":"mongotestaccount","apiType":"MongoDB","creationTime":"2021-06-02T19:34:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9f8cab0e-80f5-48b6-bc9f-7f7b3a69afeb","creationTime":"2021-06-02T19:34:27Z"}]}},{"name":"c6b53e1d-0dec-4ff2-ab70-2e9d24a3ed27","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c6b53e1d-0dec-4ff2-ab70-2e9d24a3ed27","properties":{"accountName":"pitr-sql-stage-source","apiType":"Sql","creationTime":"2021-06-02T23:30:43Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9961d453-89c2-4daf-bcad-add22d287617","creationTime":"2021-06-02T23:30:43Z"}]}},{"name":"990590c0-4db8-4b0e-96ef-55f0be03615d","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/990590c0-4db8-4b0e-96ef-55f0be03615d","properties":{"accountName":"pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2021-06-02T23:32:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2d0a8ae4-e622-429c-a2bf-b7b13ada7b45","creationTime":"2021-06-02T23:32:32Z"}]}},{"name":"60a54911-db9e-436f-b282-34779e0a2a7f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/60a54911-db9e-436f-b282-34779e0a2a7f","properties":{"accountName":"pitr-mongo36-stage-source","apiType":"MongoDB","creationTime":"2021-06-02T23:33:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"32163288-85a4-454b-a7d7-d7fbb1f32aeb","creationTime":"2021-06-02T23:33:02Z"}]}},{"name":"b0736fc7-cb53-4b6f-bd2f-aac904085da4","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b0736fc7-cb53-4b6f-bd2f-aac904085da4","properties":{"accountName":"mongo-continuous-1212","apiType":"MongoDB","creationTime":"2021-06-04T22:09:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a1f3383c-4e2f-44b5-8348-7323e2356b3d","creationTime":"2021-06-04T22:09:26Z"}]}},{"name":"2301188f-cf13-419d-b7c2-5321c5476526","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2301188f-cf13-419d-b7c2-5321c5476526","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-06-07T21:06:02Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"05b3f3ce-59ee-4d28-bd66-09ea5c50790d","creationTime":"2021-06-07T21:06:02Z"}]}},{"name":"24302a82-123a-487a-bede-054ade2860f1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/24302a82-123a-487a-bede-054ade2860f1","properties":{"accountName":"dbaccount29-1","apiType":"Sql","creationTime":"2021-06-07T21:24:52Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"ede5fb9c-4058-44a6-8dec-29e3e7de9b44","creationTime":"2021-06-07T21:24:53Z"}]}},{"name":"e157f1a1-6837-46fa-8f4f-ef3e7266ab3a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/e157f1a1-6837-46fa-8f4f-ef3e7266ab3a","properties":{"accountName":"rbactestps12","apiType":"Sql","creationTime":"2021-06-07T21:27:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"64c449c8-6fa2-4273-b066-5a062d4418be","creationTime":"2021-06-07T21:27:24Z"}]}},{"name":"72706ac1-0d0a-40be-a30a-1b4af0911131","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/72706ac1-0d0a-40be-a30a-1b4af0911131","properties":{"accountName":"mongo-db0002","apiType":"MongoDB","creationTime":"2021-06-07T23:44:54Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dfccb705-08c0-4282-9dad-07ab354ba8e8","creationTime":"2021-06-07T23:44:55Z"}]}},{"name":"41ea7d9e-553f-4259-872f-676c969e9a0b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/41ea7d9e-553f-4259-872f-676c969e9a0b","properties":{"accountName":"dbaccount27-1","apiType":"Sql","creationTime":"2021-06-08T17:39:46Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1db9bff4-73f7-48e1-a506-ab5b3edc8308","creationTime":"2021-06-08T17:39:47Z"}]}},{"name":"ceacd38f-9e6b-4a81-b2f7-ecd341c6fbbd","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ceacd38f-9e6b-4a81-b2f7-ecd341c6fbbd","properties":{"accountName":"cli125","apiType":"Sql","creationTime":"2021-06-09T19:06:13Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"c2a9bc5f-f37e-4add-a582-52abfb6a36a1","creationTime":"2021-06-09T19:06:14Z"}]}},{"name":"88d48073-10d1-402e-8cf5-c79e4e2de08e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/88d48073-10d1-402e-8cf5-c79e4e2de08e","properties":{"accountName":"sqltestaccount123","apiType":"Sql","creationTime":"2021-06-09T19:09:54Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"861a2513-08ea-4cf8-817b-99b8282f5013","creationTime":"2021-06-09T19:09:54Z"}]}},{"name":"bb9b3beb-42c4-4ae4-a983-58e20bcd71a5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bb9b3beb-42c4-4ae4-a983-58e20bcd71a5","properties":{"accountName":"db003","apiType":"MongoDB","creationTime":"2021-06-09T20:16:40Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a6dda878-4486-437f-bd72-b9e87bf75221","creationTime":"2021-06-09T20:16:41Z"}]}},{"name":"9f8ee54b-f275-44fa-b2c5-9983644c131f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/9f8ee54b-f275-44fa-b2c5-9983644c131f","properties":{"accountName":"sqltestaccount124","apiType":"Sql","creationTime":"2021-06-10T05:06:02Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"3fe302ed-daee-401c-9897-250919f9a0fe","creationTime":"2021-06-10T05:06:02Z"}]}},{"name":"c2601a38-bee1-400e-bc5e-8d817318cf31","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c2601a38-bee1-400e-bc5e-8d817318cf31","properties":{"accountName":"restoredaccountname7595","apiType":"Sql","creationTime":"2021-06-10T18:00:35Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0a4ccb11-2cb5-4b81-8ab6-ea10cbb2290d","creationTime":"2021-06-10T18:00:35Z"}]}},{"name":"33035d50-7f15-4450-a71d-a4da4dcd039f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/33035d50-7f15-4450-a71d-a4da4dcd039f","properties":{"accountName":"restoredaccountname4020","apiType":"Sql","creationTime":"2021-06-15T21:27:04Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"5d75295f-2ad7-451c-b27d-8e877e22b075","creationTime":"2021-06-15T21:27:04Z"}]}},{"name":"7d405124-1129-468e-9ff9-d031059c96bc","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7d405124-1129-468e-9ff9-d031059c96bc","properties":{"accountName":"sqltestaccount","apiType":"Sql","creationTime":"2021-06-16T05:58:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d0a6a03f-c045-4275-a38a-b221f5749051","creationTime":"2021-06-16T05:58:55Z"}]}},{"name":"1dfe47fb-822c-41f1-b403-1cf6c63d0ba7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1dfe47fb-822c-41f1-b403-1cf6c63d0ba7","properties":{"accountName":"restoredaccountname3766","apiType":"Sql","creationTime":"2021-06-16T07:16:12Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1a05d833-615e-45b0-b2ec-f87ca4d9829c","creationTime":"2021-06-16T07:16:12Z"}]}},{"name":"44229c8d-8a7e-4ef7-802c-5d09a93bd7c7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/44229c8d-8a7e-4ef7-802c-5d09a93bd7c7","properties":{"accountName":"cli127","apiType":"Sql","creationTime":"2021-06-16T16:44:34Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2f7c7d2e-fd80-4356-b5db-b08a8ee1c4f7","creationTime":"2021-06-16T16:44:35Z"}]}},{"name":"c483a757-4d93-4d60-ae22-04c9d2c89595","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c483a757-4d93-4d60-ae22-04c9d2c89595","properties":{"accountName":"restored2-cosmosdb-1212-1","apiType":"Sql","creationTime":"2021-06-04T22:17:44Z","deletionTime":"2021-06-05T05:04:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eb5e33f1-8ecf-42b7-9f3f-18784854fc5e","creationTime":"2021-06-04T22:17:44Z","deletionTime":"2021-06-05T05:04:42Z"}]}},{"name":"80458ce3-9b06-4d87-9405-1f47eb88164f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/80458ce3-9b06-4d87-9405-1f47eb88164f","properties":{"accountName":"dbaccount27-1","apiType":"Sql","creationTime":"2021-06-07T21:24:07Z","deletionTime":"2021-06-07T22:30:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a47823ea-6bce-4436-91a1-1dd14a1aa3a7","creationTime":"2021-06-07T21:24:08Z","deletionTime":"2021-06-07T22:30:24Z"}]}},{"name":"3b44efa3-a7e6-414e-99c2-22d63aa1d778","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3b44efa3-a7e6-414e-99c2-22d63aa1d778","properties":{"accountName":"cli126","apiType":"Sql","creationTime":"2021-06-10T05:07:44Z","deletionTime":"2021-06-15T21:00:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"fbc82bdc-1493-4cc4-bd69-2c33c650e3ed","creationTime":"2021-06-10T05:07:45Z","deletionTime":"2021-06-15T21:00:15Z"}]}},{"name":"3bf55696-9845-4ab5-b57c-f955a2ffe3ca","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3bf55696-9845-4ab5-b57c-f955a2ffe3ca","properties":{"accountName":"sqltestaccount","apiType":"Sql","creationTime":"2021-06-01T23:24:19Z","deletionTime":"2021-06-16T04:58:21Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1062fb86-a396-4689-9326-83193cf2274b","creationTime":"2021-06-01T23:24:20Z","deletionTime":"2021-06-16T04:58:21Z"}]}},{"name":"d5fe116b-8a63-474e-88a4-afb2a726198e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d5fe116b-8a63-474e-88a4-afb2a726198e","properties":{"accountName":"cli127","apiType":"Sql","creationTime":"2021-06-16T06:57:39Z","deletionTime":"2021-06-16T08:12:35Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"f9a67f44-e6f6-4270-91c6-d90a0292ac96","creationTime":"2021-06-16T06:57:39Z","deletionTime":"2021-06-16T08:12:35Z"}]}},{"name":"4b9c5465-8bbc-4c8e-bc7f-5a8999c4e840","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4b9c5465-8bbc-4c8e-bc7f-5a8999c4e840","properties":{"accountName":"targetacct10","apiType":"Sql","creationTime":"2021-03-01T02:05:29Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6ff51065-9163-48e9-95e9-1281aa972a14","creationTime":"2021-03-01T02:05:29Z"}]}},{"name":"3564d9f8-5f2d-4d00-a66f-5d370d970371","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3564d9f8-5f2d-4d00-a66f-5d370d970371","properties":{"accountName":"targetacct112","apiType":"Sql","creationTime":"2021-03-01T10:33:41Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2eb33e65-1263-4a25-a18a-e7a85875f2a8","creationTime":"2021-03-01T10:33:41Z"}]}},{"name":"1cea11b1-c170-4ffe-993d-63da1bff9a94","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1cea11b1-c170-4ffe-993d-63da1bff9a94","properties":{"accountName":"clid4bvkfsumrnr-restore","apiType":"MongoDB","creationTime":"2021-01-08T20:25:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d36f7f5b-7d0f-4e35-8a05-a253eaaad55b","creationTime":"2021-01-08T20:25:49Z"}]}},{"name":"28bc2837-a17f-4038-8569-7ffb33794333","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/28bc2837-a17f-4038-8569-7ffb33794333","properties":{"accountName":"cliweraslfbdxmi","apiType":"MongoDB","creationTime":"2021-01-28T22:55:58Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8614d5c7-d9bf-4e5b-9d0c-62731c7d45c4","creationTime":"2021-01-28T22:55:59Z"}]}},{"name":"31869788-6f92-47f9-8f8b-6619582d2381","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/31869788-6f92-47f9-8f8b-6619582d2381","properties":{"accountName":"cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T02:05:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"62ff38d6-4f2d-4c43-8c9d-17258a38ad81","creationTime":"2021-01-08T02:05:37Z"}]}},{"name":"cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","properties":{"accountName":"gskcssdemo-r1","apiType":"Sql","creationTime":"2021-01-15T05:24:40Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"11da6634-3b4d-4b81-99ef-04d8b4d7410d","creationTime":"2021-01-15T05:24:40Z"}]}},{"name":"5c84891d-ee24-4dc7-aa2b-d8968baf7936","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5c84891d-ee24-4dc7-aa2b-d8968baf7936","properties":{"accountName":"gskcssdemo","apiType":"Sql","creationTime":"2020-12-14T21:53:52Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"21f8bb0a-9b6d-4d79-b305-82f555946c5f","creationTime":"2020-12-14T21:53:53Z"}]}},{"name":"d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","properties":{"accountName":"kal-continuous","apiType":"Sql","creationTime":"2020-08-05T01:00:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c28cc815-caba-4bd3-9402-6c8ec362efe6","creationTime":"2020-08-05T01:00:26Z"},{"locationName":"East + US","regionalDatabaseAccountInstanceId":"cc0bacf7-91d0-4c4b-95ff-2479327f0866","creationTime":"2020-08-05T01:12:03Z"},{"locationName":"South + Central US","regionalDatabaseAccountInstanceId":"6fc9f211-8f76-4c29-9edc-f82ee8c5211a","creationTime":"2020-08-23T01:34:11Z"}]}},{"name":"16e57fca-6555-4c92-bb57-1afa38d69371","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/16e57fca-6555-4c92-bb57-1afa38d69371","properties":{"accountName":"clikbicro7ly5p2","apiType":"MongoDB","creationTime":"2021-01-16T01:25:45Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9688f6b2-7410-4ae1-bd8b-1de6a0edcdca","creationTime":"2021-01-16T01:25:46Z"}]}},{"name":"74ebfb99-1914-4ea9-b802-736b5bda12a7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/74ebfb99-1914-4ea9-b802-736b5bda12a7","properties":{"accountName":"pitrmongotest","apiType":"MongoDB","creationTime":"2020-10-01T17:27:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"73ef95f2-a338-4afc-8bb2-6fc3b0071d58","creationTime":"2020-10-01T17:27:23Z"}]}},{"name":"a081024d-5e38-45c1-b1cb-9c99552d42b3","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a081024d-5e38-45c1-b1cb-9c99552d42b3","properties":{"accountName":"pitrmongowithsnapshots","apiType":"MongoDB","creationTime":"2021-01-07T19:45:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"cef7a5af-c690-49cd-b661-53f9241552bf","creationTime":"2021-01-07T19:45:07Z"}]}},{"name":"ac7dc153-2571-425f-b8a1-c812706ad3dc","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ac7dc153-2571-425f-b8a1-c812706ad3dc","properties":{"accountName":"targetacct4","apiType":"Sql","creationTime":"2021-02-20T17:59:47Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"124777e8-d467-4e1c-ac79-a2b5b4a9a16c","creationTime":"2021-02-20T17:59:47Z"}]}},{"name":"2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","properties":{"accountName":"test-bk-cont-restore1","apiType":"Sql","creationTime":"2020-10-15T23:55:03Z","restorableLocations":[{"locationName":"South + Central US","regionalDatabaseAccountInstanceId":"a1893351-8aa8-4ff0-8457-47ce4e6c2790","creationTime":"2020-10-15T23:55:03Z"}]}},{"name":"329aedaa-1997-4c0d-b3c9-40e890c3dc08","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/329aedaa-1997-4c0d-b3c9-40e890c3dc08","properties":{"accountName":"test-restore-pitr1","apiType":"Sql","creationTime":"2021-01-06T09:20:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"20d74db9-927d-4e1c-9944-5386a9ce1eda","creationTime":"2021-01-06T09:20:17Z"}]}},{"name":"e89306b9-137a-4293-b692-263bb3406366","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e89306b9-137a-4293-b692-263bb3406366","properties":{"accountName":"virangai-test-pitr-restore-del-restore1","apiType":"Sql","creationTime":"2021-01-08T01:07:16Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2e16165a-c3f1-44c5-99a7-bef5e8a2311f","creationTime":"2021-01-08T01:07:16Z"}]}},{"name":"b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","properties":{"accountName":"virangai-test-pitr-restore-del-restore3","apiType":"Sql","creationTime":"2021-01-08T01:15:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"75d75dd1-21da-47d0-bc25-fa01c0e3ed3e","creationTime":"2021-01-08T01:15:26Z"}]}},{"name":"e96a653a-cc5e-49f0-a3ae-36a4d461cf07","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e96a653a-cc5e-49f0-a3ae-36a4d461cf07","properties":{"accountName":"virangai-test-pitr-restore-del-restore4","apiType":"Sql","creationTime":"2021-01-08T01:36:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e59deecb-9222-4a80-b5d4-09af4a886f55","creationTime":"2021-01-08T01:36:22Z"}]}},{"name":"70f3ea16-d3bc-46f6-98e8-576fc201eabf","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/70f3ea16-d3bc-46f6-98e8-576fc201eabf","properties":{"accountName":"balaksrestorebug","apiType":"Sql","creationTime":"2021-01-09T01:08:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"94244165-49de-46f8-bb1a-2e0956694168","creationTime":"2021-01-09T01:08:27Z"}]}},{"name":"86db30d3-1725-4ece-b2f5-591ea37e14f9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/86db30d3-1725-4ece-b2f5-591ea37e14f9","properties":{"accountName":"virangai-test-pitr-restore-del2","apiType":"Sql","creationTime":"2021-01-08T20:20:20Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"36f57e91-674e-49d0-891a-f4be394b8e3a","creationTime":"2021-01-08T20:20:20Z"}]}},{"name":"05640131-c5c8-4d30-adec-aa623e28866b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/05640131-c5c8-4d30-adec-aa623e28866b","properties":{"accountName":"test-cli2loqd5ro7y4w-restore-del","apiType":"Sql","creationTime":"2021-01-08T01:37:39Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d137f5e4-3154-43fd-9f16-179b6c9bb8fa","creationTime":"2021-01-08T01:37:39Z"}]}},{"name":"11d8ee78-2502-4ad6-becd-291aef9ac258","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/11d8ee78-2502-4ad6-becd-291aef9ac258","properties":{"accountName":"kal-continuous-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:45:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"543c99f9-7bc2-4b55-9732-9733b981341f","creationTime":"2020-10-05T23:45:27Z"}]}},{"name":"1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","properties":{"accountName":"pitracctdemo2","apiType":"Sql","creationTime":"2020-08-11T02:34:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"7419408f-e6af-4596-a76b-c31ca62a54ca","creationTime":"2020-08-11T02:34:24Z"}]}},{"name":"7ccb546f-804d-4fe3-902f-bdb162d2ca51","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7ccb546f-804d-4fe3-902f-bdb162d2ca51","properties":{"accountName":"virangai-test-pitr-restore-del","apiType":"Sql","creationTime":"2020-12-10T02:06:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"fbbdcce1-e4cc-4fb9-8a5c-64f96438e722","creationTime":"2020-12-10T02:06:22Z"}]}},{"name":"b4c688c1-2ea7-477e-b994-4affe5d3ea35","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b4c688c1-2ea7-477e-b994-4affe5d3ea35","properties":{"accountName":"ptr-target","apiType":"Sql","creationTime":"2021-01-05T22:25:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1f68340e-49a4-45df-9a2a-804cd8ab1795","creationTime":"2021-01-05T22:25:24Z"}]}},{"name":"9905e7ca-6f2d-4b24-a4c5-8e7529036a74","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9905e7ca-6f2d-4b24-a4c5-8e7529036a74","properties":{"accountName":"pitrmongotest-restore","apiType":"MongoDB","creationTime":"2020-10-01T21:24:45Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"75c41286-d7f2-4594-b9f2-87f6c9843cf8","creationTime":"2020-10-01T21:24:45Z"}]}},{"name":"adc221c8-8826-4d48-8c8d-af48be84b678","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/adc221c8-8826-4d48-8c8d-af48be84b678","properties":{"accountName":"virangai-test-pitr-restore-del-restore2","apiType":"Sql","creationTime":"2021-01-08T01:12:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e6c2237b-56a2-4e27-9ba5-d3da7d136504","creationTime":"2021-01-08T01:12:07Z"}]}},{"name":"5f95bef8-07b9-400b-aac2-4e09efbc47c2","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5f95bef8-07b9-400b-aac2-4e09efbc47c2","properties":{"accountName":"cli56zv275qols2","apiType":"MongoDB","creationTime":"2021-01-28T22:28:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"0eed5071-4e89-480f-ac03-d245d57bd6a0","creationTime":"2021-01-28T22:28:29Z"}]}},{"name":"baf212fa-867f-4979-a007-4db919a87868","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/baf212fa-867f-4979-a007-4db919a87868","properties":{"accountName":"virangai-test-pitr-restore-del5","apiType":"Sql","creationTime":"2021-01-08T20:23:32Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"76ee28bb-12d9-4829-a473-cb5e29ad9a55","creationTime":"2021-01-08T20:23:32Z"}]}},{"name":"bb466093-aad0-4e58-8ae5-94c4b48caa3d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bb466093-aad0-4e58-8ae5-94c4b48caa3d","properties":{"accountName":"virangai-test-pitr-restore-del1","apiType":"Sql","creationTime":"2021-01-08T20:19:57Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"f14d0c9e-ac38-4809-b5f3-f7c37d712012","creationTime":"2021-01-08T20:19:57Z"}]}},{"name":"92c911cf-962a-4cad-8a68-fb0e21a4f257","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/92c911cf-962a-4cad-8a68-fb0e21a4f257","properties":{"accountName":"kal-cli-test","apiType":"Sql","creationTime":"2021-01-29T19:26:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a221a55d-a0d6-4040-b0b6-d51e1c146b13","creationTime":"2021-01-29T19:26:07Z"}]}},{"name":"ae351691-d2fb-4878-abe4-5305062a3356","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ae351691-d2fb-4878-abe4-5305062a3356","properties":{"accountName":"kal-doc-test-continuous","apiType":"Sql","creationTime":"2021-01-28T23:39:10Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1b99840b-2775-4ac2-8c22-af2ed9e69fc6","creationTime":"2021-01-28T23:39:11Z"}]}},{"name":"4416eb73-6313-48e3-be87-5f22d8860c3e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4416eb73-6313-48e3-be87-5f22d8860c3e","properties":{"accountName":"kal-cli-test-mongo","apiType":"MongoDB","creationTime":"2021-01-29T19:37:29Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3ab8a0e0-674a-4e05-be47-d00ee8eb0d00","creationTime":"2021-01-29T19:37:29Z"}]}},{"name":"6fd844b3-71af-4e89-9b9d-f829945272bf","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6fd844b3-71af-4e89-9b9d-f829945272bf","properties":{"accountName":"pitrdemo1015","apiType":"Sql","creationTime":"2020-10-15T17:28:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"af26f717-b6ff-4eac-864c-17e759891ae8","creationTime":"2020-10-15T17:29:00Z"}]}},{"name":"26c6c802-2477-422f-b3a0-9da58299b82e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/26c6c802-2477-422f-b3a0-9da58299b82e","properties":{"accountName":"virangai-test-pitr-restore-del-restore","apiType":"Sql","creationTime":"2021-01-08T00:50:35Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9eaed152-86f9-4576-b201-2301ea9e9719","creationTime":"2021-01-08T00:50:35Z"}]}},{"name":"1450ead6-0a1b-4de3-8d25-e551543ef6bd","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1450ead6-0a1b-4de3-8d25-e551543ef6bd","properties":{"accountName":"kal-powershell-release-test","apiType":"Sql","creationTime":"2021-02-11T00:05:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"00c855da-46ac-49ac-a320-60464fde8698","creationTime":"2021-02-11T00:05:01Z"}]}},{"name":"1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","properties":{"accountName":"sivarv-test","apiType":"Sql","creationTime":"2021-01-05T23:13:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"83791770-489f-4272-9816-4d66377703c5","creationTime":"2021-01-05T23:13:23Z"}]}},{"name":"3f392004-9f83-4ae9-ac1c-fa5f6542f245","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3f392004-9f83-4ae9-ac1c-fa5f6542f245","properties":{"accountName":"pitrdemorestored1015","apiType":"Sql","creationTime":"2020-10-15T17:37:20Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2f4857ad-25c3-4e2f-883a-abe35c5f5e0c","creationTime":"2020-10-15T17:37:20Z"}]}},{"name":"0a0e4393-fd1c-4294-b04f-871b1fd3d6cc","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0a0e4393-fd1c-4294-b04f-871b1fd3d6cc","properties":{"accountName":"kal-ps-release-mongo","apiType":"MongoDB","creationTime":"2021-01-29T07:53:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c8c42eab-eb9a-4d73-a342-53bdccd42ec4","creationTime":"2021-01-29T07:53:38Z"}]}},{"name":"23e99a35-cd36-4df4-9614-f767a03b9995","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995","properties":{"accountName":"subbannageeta","apiType":"Sql","creationTime":"2020-08-08T01:04:53Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"30701557-ecf8-43ce-8810-2c8be01dccf9","creationTime":"2020-08-08T01:04:53Z"},{"locationName":"East + US","regionalDatabaseAccountInstanceId":"8283b088-b67d-4975-bfbe-0705e3e7a599","creationTime":"2020-08-08T01:15:44Z"}]}},{"name":"1429ae40-9437-4da2-a170-06319cff03f1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1429ae40-9437-4da2-a170-06319cff03f1","properties":{"accountName":"kal-ps-release-mongo-restore","apiType":"MongoDB","creationTime":"2021-01-29T08:22:39Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"4c1abc58-80c2-4ab3-b3b0-3f0743311b33","creationTime":"2021-01-29T08:22:39Z"}]}},{"name":"a97044b4-5be9-4f17-acc5-05bd58f0156e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a97044b4-5be9-4f17-acc5-05bd58f0156e","properties":{"accountName":"target-mongo36-beforecolla","apiType":"MongoDB","creationTime":"2021-01-06T00:06:55Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"4af906ad-1a4a-4eb7-8453-f6cd8c795e91","creationTime":"2021-01-06T00:06:55Z"}]}},{"name":"5002d808-7276-4de1-8a7e-82a8561f4ae1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5002d808-7276-4de1-8a7e-82a8561f4ae1","properties":{"accountName":"kal-ps-sql-release-restore","apiType":"Sql","creationTime":"2021-01-29T08:10:42Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ebc3714a-f0c8-4fa8-8ee7-2743e200642f","creationTime":"2021-01-29T08:10:42Z"}]}},{"name":"d800a65d-80cb-4d21-b4e8-ae5995b582fc","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d800a65d-80cb-4d21-b4e8-ae5995b582fc","properties":{"accountName":"testacct412","apiType":"Sql","creationTime":"2021-03-03T19:54:14Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"424dbe6d-50d0-4def-8457-0ada8cec1e05","creationTime":"2021-03-03T19:54:14Z"}]}},{"name":"afe6a47d-1fbd-41e1-992b-db16beeeae3c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/afe6a47d-1fbd-41e1-992b-db16beeeae3c","properties":{"accountName":"scottkirill","apiType":"Sql","creationTime":"2021-04-15T17:21:20Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e3dcb79a-b56a-4dff-9f8e-76a29285e724","creationTime":"2021-04-15T17:21:20Z"}]}},{"name":"6afbd660-3eba-46e4-bae2-79041ac7edc7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6afbd660-3eba-46e4-bae2-79041ac7edc7","properties":{"accountName":"rgtest9921232812","apiType":"Sql","creationTime":"2021-06-07T21:26:27Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3c5d6709-78ff-49e3-9012-4c64ff0ec0ff","creationTime":"2021-06-07T21:26:28Z"}]}},{"name":"2d7c9954-bebe-4355-aa03-191b3398f64a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2d7c9954-bebe-4355-aa03-191b3398f64a","properties":{"accountName":"clitg4ll5ikqmab","apiType":"MongoDB","creationTime":"2021-06-15T01:21:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"088c56f5-250d-45d0-a4e0-77bd20d34591","creationTime":"2021-06-15T01:21:59Z"}]}},{"name":"ed492eb3-1c3c-4abc-ab87-9ec9ee7a406a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ed492eb3-1c3c-4abc-ab87-9ec9ee7a406a","properties":{"accountName":"clix7mfbnl5lhqc","apiType":"Sql","creationTime":"2021-06-15T21:38:13Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"495837b7-bb22-4161-8b7d-f77447afda33","creationTime":"2021-06-15T21:38:14Z"}]}},{"name":"021e8eed-9b42-4bf1-9974-1a537727f5cb","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/021e8eed-9b42-4bf1-9974-1a537727f5cb","properties":{"accountName":"cosmosdb-1215","apiType":"Sql","creationTime":"2021-06-18T00:04:52Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"fc73dab1-5bf5-4def-9812-e8a28550fd0a","creationTime":"2021-06-18T00:04:53Z"}]}},{"name":"03d8a984-2813-461f-ae8a-40162fc34fc9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/03d8a984-2813-461f-ae8a-40162fc34fc9","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-06-18T01:34:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"0ba1d604-ff3b-407c-8291-771a2cc38837","creationTime":"2021-06-18T01:34:27Z"}]}},{"name":"013b30aa-cf27-451a-b2b7-c8da950167c0","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/013b30aa-cf27-451a-b2b7-c8da950167c0","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T08:12:56Z","deletionTime":"2021-06-07T20:33:39Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"84e252b7-8fe2-4976-bc64-bccc19511e44","creationTime":"2021-01-08T08:12:56Z","deletionTime":"2021-06-07T20:33:39Z"}]}},{"name":"2e126e4e-df6b-49a8-a6c2-4274de07c18c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2e126e4e-df6b-49a8-a6c2-4274de07c18c","properties":{"accountName":"cosmosdb-1213","apiType":"Sql","creationTime":"2021-06-10T00:19:06Z","deletionTime":"2021-06-10T00:21:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ec20f81b-959b-463c-9f71-ebce45a67afe","creationTime":"2021-06-10T00:19:06Z","deletionTime":"2021-06-10T00:21:36Z"}]}},{"name":"3d273afd-50a5-4bdb-ab48-6b7b7c46f31e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3d273afd-50a5-4bdb-ab48-6b7b7c46f31e","properties":{"accountName":"cosmosdb-1213","apiType":"Sql","creationTime":"2021-06-10T02:24:26Z","deletionTime":"2021-06-10T02:26:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"94e4350b-74bd-4913-9fc6-6a36a4d59806","creationTime":"2021-06-10T02:24:26Z","deletionTime":"2021-06-10T02:26:59Z"}]}},{"name":"5263046e-e505-4657-9df7-af8974b55c85","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5263046e-e505-4657-9df7-af8974b55c85","properties":{"accountName":"cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-10T02:44:07Z","deletionTime":"2021-06-10T03:00:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6dcc16e0-5531-47df-8023-59dadf90597e","creationTime":"2021-06-10T02:44:08Z","deletionTime":"2021-06-10T03:00:05Z"}]}},{"name":"250464da-7883-4869-89b8-3e333bc83b05","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/250464da-7883-4869-89b8-3e333bc83b05","properties":{"accountName":"restored-cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-10T02:58:59Z","deletionTime":"2021-06-10T03:00:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d1dd3d56-88b6-4a8d-90ff-7e66b7b41722","creationTime":"2021-06-10T02:58:59Z","deletionTime":"2021-06-10T03:00:05Z"}]}},{"name":"ccb5a198-f9d7-4397-9037-ca392da7aebd","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ccb5a198-f9d7-4397-9037-ca392da7aebd","properties":{"accountName":"cliuerjkwyxmxje","apiType":"Sql","creationTime":"2021-06-14T21:03:29Z","deletionTime":"2021-06-14T21:05:34Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5247e960-94ac-464f-a33a-02a53fe7e63f","creationTime":"2021-06-14T21:03:29Z","deletionTime":"2021-06-14T21:05:34Z"}]}},{"name":"625ec3cb-099e-4c98-9ebd-d44eee919068","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/625ec3cb-099e-4c98-9ebd-d44eee919068","properties":{"accountName":"clijh4npvte2x3q","apiType":"Sql","creationTime":"2021-06-14T21:09:55Z","deletionTime":"2021-06-14T21:12:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2bda155b-effe-4df0-b308-cd7741ba0913","creationTime":"2021-06-14T21:09:55Z","deletionTime":"2021-06-14T21:12:07Z"}]}},{"name":"868f70d2-c84a-4358-8d4f-47686b906ea2","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/868f70d2-c84a-4358-8d4f-47686b906ea2","properties":{"accountName":"cliqxjy6fmj5jlm","apiType":"Sql","creationTime":"2021-06-14T21:15:20Z","deletionTime":"2021-06-14T21:17:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"27631306-71bd-4e99-be63-e660e637ab26","creationTime":"2021-06-14T21:15:20Z","deletionTime":"2021-06-14T21:17:25Z"}]}},{"name":"d44c1510-9c4b-4a54-8639-b5bde547322d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d44c1510-9c4b-4a54-8639-b5bde547322d","properties":{"accountName":"clidlgtoe2tw6ml","apiType":"Sql","creationTime":"2021-06-14T21:21:13Z","deletionTime":"2021-06-14T21:23:47Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d53b9d4d-8258-42dd-ac8b-3e82384997cc","creationTime":"2021-06-14T21:21:13Z","deletionTime":"2021-06-14T21:23:47Z"}]}},{"name":"9ee3c4c2-9b12-4e4e-9735-d851582abe9a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9ee3c4c2-9b12-4e4e-9735-d851582abe9a","properties":{"accountName":"clisrvyr3bk5kfa","apiType":"Sql","creationTime":"2021-06-14T21:50:01Z","deletionTime":"2021-06-14T21:52:09Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a7411c51-47a4-4d57-9e2f-32cf2550f796","creationTime":"2021-06-14T21:50:01Z","deletionTime":"2021-06-14T21:52:09Z"}]}},{"name":"80010499-9dd4-4e16-bc1c-04410db81283","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/80010499-9dd4-4e16-bc1c-04410db81283","properties":{"accountName":"clivgc32rbbkkvq","apiType":"Sql","creationTime":"2021-06-14T22:41:28Z","deletionTime":"2021-06-14T22:44:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"cf6af2ae-f544-40a7-ac3c-bc864777679c","creationTime":"2021-06-14T22:41:29Z","deletionTime":"2021-06-14T22:44:05Z"}]}},{"name":"20a9362a-496f-4c62-95d8-85148051ba29","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/20a9362a-496f-4c62-95d8-85148051ba29","properties":{"accountName":"cli2g65ee6mdfc2","apiType":"Sql","creationTime":"2021-06-14T23:53:58Z","deletionTime":"2021-06-14T23:57:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e10823bb-91f4-45a2-b894-5b961818f8db","creationTime":"2021-06-14T23:53:59Z","deletionTime":"2021-06-14T23:57:02Z"}]}},{"name":"6be7acbf-6cc2-4bd3-aaef-4294c9a7efd5","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6be7acbf-6cc2-4bd3-aaef-4294c9a7efd5","properties":{"accountName":"clikzjgoxzxmtbq","apiType":"MongoDB","creationTime":"2021-06-15T00:34:33Z","deletionTime":"2021-06-15T00:37:06Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"20fffe7f-5bb1-475b-884d-bf02bc0a5fe3","creationTime":"2021-06-15T00:34:34Z","deletionTime":"2021-06-15T00:37:06Z"}]}},{"name":"dbc102e5-e4cb-42de-b663-50a8104f7802","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dbc102e5-e4cb-42de-b663-50a8104f7802","properties":{"accountName":"cli7pkjuw3cxxgf","apiType":"Sql","creationTime":"2021-06-15T00:35:24Z","deletionTime":"2021-06-15T00:37:13Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ababcf02-966e-4de7-a16d-b1adbcd8409f","creationTime":"2021-06-15T00:35:25Z","deletionTime":"2021-06-15T00:37:13Z"}]}},{"name":"91a38e6b-6c7e-4ba0-ab91-27be63671a93","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/91a38e6b-6c7e-4ba0-ab91-27be63671a93","properties":{"accountName":"clid33vwtmbmr2q","apiType":"Sql","creationTime":"2021-06-15T01:23:38Z","deletionTime":"2021-06-15T01:24:05Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"55adbcc9-f8a6-4215-ba0a-f2a90407ee8e","creationTime":"2021-06-15T01:23:39Z","deletionTime":"2021-06-15T01:24:05Z"}]}},{"name":"0508d46e-8bcd-4811-b33b-acee83bcbfd5","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0508d46e-8bcd-4811-b33b-acee83bcbfd5","properties":{"accountName":"clinuq6ym5hqnf2","apiType":"MongoDB","creationTime":"2021-06-15T01:24:09Z","deletionTime":"2021-06-15T01:24:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"000c49b2-efb1-422e-9c30-e95cba116f27","creationTime":"2021-06-15T01:24:10Z","deletionTime":"2021-06-15T01:24:36Z"}]}},{"name":"0db9fd5e-9734-499f-aff6-dd1449d99483","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0db9fd5e-9734-499f-aff6-dd1449d99483","properties":{"accountName":"clillzpvl4apfye","apiType":"Sql","creationTime":"2021-06-15T01:38:54Z","deletionTime":"2021-06-15T01:39:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b579fb8c-9994-4087-8738-b3d2bec1fffa","creationTime":"2021-06-15T01:38:55Z","deletionTime":"2021-06-15T01:39:24Z"}]}},{"name":"74b2f05b-1612-4f2c-b054-745191903f6b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/74b2f05b-1612-4f2c-b054-745191903f6b","properties":{"accountName":"clihcq2lnfbzm5t","apiType":"MongoDB","creationTime":"2021-06-15T01:52:46Z","deletionTime":"2021-06-15T01:59:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a4f8ac24-a541-4522-92b2-6374134e697e","creationTime":"2021-06-15T01:52:46Z","deletionTime":"2021-06-15T01:59:49Z"}]}},{"name":"8b8d9752-9d8b-44a4-bc8e-b1f5225eefce","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8b8d9752-9d8b-44a4-bc8e-b1f5225eefce","properties":{"accountName":"clitnddomf5rzfe","apiType":"MongoDB","creationTime":"2021-06-15T03:44:48Z","deletionTime":"2021-06-15T03:56:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"507cd4f6-47bc-4d9e-ac01-0daf2efa9ddd","creationTime":"2021-06-15T03:44:49Z","deletionTime":"2021-06-15T03:56:28Z"}]}},{"name":"86d3734e-3c6a-4ae1-b421-5f85c1ddcd4c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/86d3734e-3c6a-4ae1-b421-5f85c1ddcd4c","properties":{"accountName":"clix6a4246hhtcl","apiType":"MongoDB","creationTime":"2021-06-15T04:05:45Z","deletionTime":"2021-06-15T04:13:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"27ac7f1b-484c-4bb6-941f-9fe6ff452873","creationTime":"2021-06-15T04:05:46Z","deletionTime":"2021-06-15T04:13:01Z"}]}},{"name":"f8771040-d642-4ea9-992d-bdd8fa39c498","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f8771040-d642-4ea9-992d-bdd8fa39c498","properties":{"accountName":"clignkykjgcyswb","apiType":"Sql","creationTime":"2021-06-15T05:07:57Z","deletionTime":"2021-06-15T05:18:15Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b32af216-ea91-4a1b-b26c-7dce004f86e4","creationTime":"2021-06-15T05:07:58Z","deletionTime":"2021-06-15T05:18:15Z"}]}},{"name":"b14479c0-cfd3-4237-8e10-8fc0cc5c9499","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b14479c0-cfd3-4237-8e10-8fc0cc5c9499","properties":{"accountName":"cliuuo3zotcyuh6","apiType":"Sql","creationTime":"2021-06-15T06:10:52Z","deletionTime":"2021-06-15T06:23:41Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e29e0939-027e-45ac-8caf-3fe3977c74c3","creationTime":"2021-06-15T06:10:52Z","deletionTime":"2021-06-15T06:23:41Z"}]}},{"name":"5533f986-110d-40df-8672-90a7771fe61b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5533f986-110d-40df-8672-90a7771fe61b","properties":{"accountName":"clicsayoewlilwa","apiType":"Sql","creationTime":"2021-06-15T06:28:00Z","deletionTime":"2021-06-15T06:53:08Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"95eb7503-3249-41dc-8d07-37a8d4037bc1","creationTime":"2021-06-15T06:28:01Z","deletionTime":"2021-06-15T06:53:08Z"}]}},{"name":"c97c2741-d50e-4493-a49b-6976407a64ad","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c97c2741-d50e-4493-a49b-6976407a64ad","properties":{"accountName":"clilc3hdtnexj7n","apiType":"Sql","creationTime":"2021-06-15T07:08:34Z","deletionTime":"2021-06-15T17:33:21Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6d2309f5-93e8-4a5d-8ffe-da49ec8908e5","creationTime":"2021-06-15T07:08:35Z","deletionTime":"2021-06-15T17:33:21Z"}]}},{"name":"108826c8-6e4d-4376-a9db-c6b38945fcef","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/108826c8-6e4d-4376-a9db-c6b38945fcef","properties":{"accountName":"cligd6ng723t35i","apiType":"Sql","creationTime":"2021-06-15T17:34:20Z","deletionTime":"2021-06-15T17:40:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c4e8b9ae-7b01-4cd9-9a14-8995f37d5606","creationTime":"2021-06-15T17:34:21Z","deletionTime":"2021-06-15T17:40:17Z"}]}},{"name":"015736af-0843-4206-b3dc-ef7aeb91a62b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/015736af-0843-4206-b3dc-ef7aeb91a62b","properties":{"accountName":"cligkcxvg6cdxzt","apiType":"Sql","creationTime":"2021-06-15T17:42:22Z","deletionTime":"2021-06-15T17:48:19Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8d60e91b-7d69-46f2-b023-976e08d5146c","creationTime":"2021-06-15T17:42:23Z","deletionTime":"2021-06-15T17:48:19Z"}]}},{"name":"eb0a730d-3251-4ba4-89a8-bf1afe8b4a1d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/eb0a730d-3251-4ba4-89a8-bf1afe8b4a1d","properties":{"accountName":"clicyandfwdgfgm","apiType":"Sql","creationTime":"2021-06-15T18:21:13Z","deletionTime":"2021-06-15T18:40:21Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"637c6f9d-ff3e-470c-8992-c18b6f0d94bf","creationTime":"2021-06-15T18:21:13Z","deletionTime":"2021-06-15T18:40:21Z"}]}},{"name":"5565bf95-1329-47d3-aa5c-a65539972e8a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5565bf95-1329-47d3-aa5c-a65539972e8a","properties":{"accountName":"clildmbmxx2uq7w","apiType":"Sql","creationTime":"2021-06-15T18:39:13Z","deletionTime":"2021-06-15T18:40:21Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"247c847d-a777-4e4d-8f10-6aff1ea856b7","creationTime":"2021-06-15T18:39:13Z","deletionTime":"2021-06-15T18:40:21Z"}]}},{"name":"9ead44ab-ae25-4bb7-90ce-b3be58c2f728","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9ead44ab-ae25-4bb7-90ce-b3be58c2f728","properties":{"accountName":"cli7oeek6z2j4ye","apiType":"Sql","creationTime":"2021-06-15T19:04:38Z","deletionTime":"2021-06-15T19:05:55Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d493dd2d-49e1-418c-8426-14258fd9eea3","creationTime":"2021-06-15T19:04:38Z","deletionTime":"2021-06-15T19:05:55Z"}]}},{"name":"c70e2042-ebf2-4cfa-a2c0-97d5fc15b9db","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c70e2042-ebf2-4cfa-a2c0-97d5fc15b9db","properties":{"accountName":"cliuq6ab2xvcyqo","apiType":"Sql","creationTime":"2021-06-15T18:44:05Z","deletionTime":"2021-06-15T19:05:56Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"857bfb09-e450-4e1d-b2a2-495159b6b3e0","creationTime":"2021-06-15T18:44:06Z","deletionTime":"2021-06-15T19:05:56Z"}]}},{"name":"f1f4b075-0f3d-4a26-9424-5f95167c810e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f1f4b075-0f3d-4a26-9424-5f95167c810e","properties":{"accountName":"clidylqw7kqcmtp","apiType":"Sql","creationTime":"2021-06-15T19:13:25Z","deletionTime":"2021-06-15T19:16:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8db9796d-6c9f-476d-b5b6-edd1c66dd0db","creationTime":"2021-06-15T19:13:25Z","deletionTime":"2021-06-15T19:16:02Z"}]}},{"name":"5817b924-84c3-4096-bbad-6cbe2733f8e4","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5817b924-84c3-4096-bbad-6cbe2733f8e4","properties":{"accountName":"cliexj7vya5gfaq","apiType":"Sql","creationTime":"2021-06-15T19:50:01Z","deletionTime":"2021-06-15T19:52:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"67cfac14-add7-4ba0-a011-75b636e0a0aa","creationTime":"2021-06-15T19:50:02Z","deletionTime":"2021-06-15T19:52:36Z"}]}},{"name":"8001ec64-2c95-40b6-b215-01f82fa694b1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8001ec64-2c95-40b6-b215-01f82fa694b1","properties":{"accountName":"cli743d67fliy4h","apiType":"Sql","creationTime":"2021-06-15T19:55:45Z","deletionTime":"2021-06-15T19:58:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d0020435-fd39-4558-9954-e20b26d5c6f2","creationTime":"2021-06-15T19:55:45Z","deletionTime":"2021-06-15T19:58:28Z"}]}},{"name":"c8e800f9-8988-4559-b9e8-b14d9e7a5d30","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c8e800f9-8988-4559-b9e8-b14d9e7a5d30","properties":{"accountName":"clipfy3q2xsshzx","apiType":"Sql","creationTime":"2021-06-15T20:14:55Z","deletionTime":"2021-06-15T20:20:54Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c9ba74bc-ac3d-4009-9b15-399cbc13d82e","creationTime":"2021-06-15T20:14:56Z","deletionTime":"2021-06-15T20:20:54Z"}]}},{"name":"12a72075-d9bd-457b-8365-6e9ad339f3e7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/12a72075-d9bd-457b-8365-6e9ad339f3e7","properties":{"accountName":"clioepcc6kuvq22","apiType":"Sql","creationTime":"2021-06-15T20:31:28Z","deletionTime":"2021-06-15T20:34:36Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1b70260f-4651-4f23-a28c-a47901640d00","creationTime":"2021-06-15T20:31:28Z","deletionTime":"2021-06-15T20:34:36Z"}]}},{"name":"53c91b46-f9e0-4c85-9b5a-e35ef9b98b27","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/53c91b46-f9e0-4c85-9b5a-e35ef9b98b27","properties":{"accountName":"cliew7oy3skaf6r","apiType":"MongoDB","creationTime":"2021-06-15T20:40:13Z","deletionTime":"2021-06-15T20:46:12Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"0fd22886-ef27-4754-872d-4b264b62f6db","creationTime":"2021-06-15T20:40:14Z","deletionTime":"2021-06-15T20:46:12Z"}]}},{"name":"f62356db-c005-4a17-8ea4-531e3080ea6a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f62356db-c005-4a17-8ea4-531e3080ea6a","properties":{"accountName":"cli45gjd4b7nbzf","apiType":"MongoDB","creationTime":"2021-06-15T21:18:56Z","deletionTime":"2021-06-15T21:24:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d836debc-c08e-4699-99bc-a00c4dfd6164","creationTime":"2021-06-15T21:18:57Z","deletionTime":"2021-06-15T21:24:49Z"}]}},{"name":"4b5896ee-6403-49f6-b59e-b7f2fdeac48e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4b5896ee-6403-49f6-b59e-b7f2fdeac48e","properties":{"accountName":"clididj6b5m5wlk","apiType":"Sql","creationTime":"2021-06-15T21:22:31Z","deletionTime":"2021-06-15T21:25:34Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"b37e21bd-aa72-4833-af18-79c6d238da39","creationTime":"2021-06-15T21:22:31Z","deletionTime":"2021-06-15T21:25:34Z"}]}},{"name":"da6f1010-2367-44b3-b85b-a5811a268035","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/da6f1010-2367-44b3-b85b-a5811a268035","properties":{"accountName":"cliorx36fi7bcfu","apiType":"Sql","creationTime":"2021-06-15T21:18:26Z","deletionTime":"2021-06-15T21:37:31Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"30e93095-85b8-4a7a-8f6e-0ef6968e7d1b","creationTime":"2021-06-15T21:18:27Z","deletionTime":"2021-06-15T21:37:31Z"}]}},{"name":"81e884d3-a185-46de-b28f-59b2df28e181","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/81e884d3-a185-46de-b28f-59b2df28e181","properties":{"accountName":"cliwohxgd4sabml","apiType":"Sql","creationTime":"2021-06-15T21:36:40Z","deletionTime":"2021-06-15T21:37:32Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"577f9dd2-7a2c-48b7-bd91-799f5a286c8f","creationTime":"2021-06-15T21:36:40Z","deletionTime":"2021-06-15T21:37:32Z"}]}},{"name":"2a2b62ce-9ae3-41b9-8f18-ee8de8448ec1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2a2b62ce-9ae3-41b9-8f18-ee8de8448ec1","properties":{"accountName":"cli2lcsmgq7gc2b","apiType":"Sql","creationTime":"2021-06-15T21:33:59Z","deletionTime":"2021-06-15T21:39:57Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"04c8c1ed-aeeb-4c4d-b748-ab522aff0c32","creationTime":"2021-06-15T21:33:59Z","deletionTime":"2021-06-15T21:39:57Z"}]}},{"name":"e90562e5-8a16-43dd-aa47-7df1ca5f430b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e90562e5-8a16-43dd-aa47-7df1ca5f430b","properties":{"accountName":"clisw6e6gphqune","apiType":"Sql","creationTime":"2021-06-16T19:12:59Z","deletionTime":"2021-06-16T19:16:06Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"c33ae9b3-6704-4c81-a883-dd07a3c4fc0a","creationTime":"2021-06-16T19:12:59Z","deletionTime":"2021-06-16T19:16:06Z"}]}},{"name":"4adfd605-5257-4cbe-960c-e5d0b5b5fe31","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4adfd605-5257-4cbe-960c-e5d0b5b5fe31","properties":{"accountName":"clilupqw6yol77y","apiType":"Sql","creationTime":"2021-06-16T19:17:53Z","deletionTime":"2021-06-16T19:19:18Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2a56f7d7-15c1-4062-aba3-a6cc6038e2f9","creationTime":"2021-06-16T19:17:53Z","deletionTime":"2021-06-16T19:19:18Z"}]}},{"name":"f0c3c60e-96df-44dd-aa4a-3074102ff2f3","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f0c3c60e-96df-44dd-aa4a-3074102ff2f3","properties":{"accountName":"cli5gr7wq7ze6nm","apiType":"Sql","creationTime":"2021-06-16T19:20:58Z","deletionTime":"2021-06-16T19:22:31Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"22c65540-fe05-4dd5-bd8f-19355a04fb4b","creationTime":"2021-06-16T19:20:59Z","deletionTime":"2021-06-16T19:22:31Z"}]}},{"name":"7491d32f-bd26-4f30-be1e-4a6712217dc7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7491d32f-bd26-4f30-be1e-4a6712217dc7","properties":{"accountName":"clicj44v2xdix2j","apiType":"Sql","creationTime":"2021-06-16T19:25:01Z","deletionTime":"2021-06-16T19:26:31Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5b123a04-722a-4db7-ba1d-c887b5cdbce1","creationTime":"2021-06-16T19:25:02Z","deletionTime":"2021-06-16T19:26:31Z"}]}},{"name":"a5d2e540-ed13-4c37-a7f4-404045451665","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a5d2e540-ed13-4c37-a7f4-404045451665","properties":{"accountName":"clixpmyerwxbihh","apiType":"Sql","creationTime":"2021-06-16T19:44:31Z","deletionTime":"2021-06-16T19:47:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5e04089e-284f-49c1-8b67-6512848d276c","creationTime":"2021-06-16T19:44:31Z","deletionTime":"2021-06-16T19:47:37Z"}]}},{"name":"43587019-1601-4722-90ae-f5402084843e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/43587019-1601-4722-90ae-f5402084843e","properties":{"accountName":"clisil5dlzea3kb","apiType":"Sql","creationTime":"2021-06-16T20:01:15Z","deletionTime":"2021-06-16T20:02:44Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3c4e8201-2ca2-44c7-9971-2be302a3d079","creationTime":"2021-06-16T20:01:16Z","deletionTime":"2021-06-16T20:02:44Z"}]}},{"name":"6e39c0ea-ffbc-4775-bdca-aabff3a06a60","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6e39c0ea-ffbc-4775-bdca-aabff3a06a60","properties":{"accountName":"cli7zvdd4pkw2r6","apiType":"Sql","creationTime":"2021-06-16T20:07:36Z","deletionTime":"2021-06-16T20:09:07Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a5c0c7f9-03dc-43f9-8229-b327f8d487b5","creationTime":"2021-06-16T20:07:37Z","deletionTime":"2021-06-16T20:09:07Z"}]}},{"name":"49190793-edaf-482e-9951-dbf710944f94","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/49190793-edaf-482e-9951-dbf710944f94","properties":{"accountName":"cliltnnui46ava2","apiType":"Sql","creationTime":"2021-06-16T20:22:30Z","deletionTime":"2021-06-16T20:24:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d104874a-cc55-47d1-97b6-ad9be610aedc","creationTime":"2021-06-16T20:22:30Z","deletionTime":"2021-06-16T20:24:01Z"}]}},{"name":"235e4cfb-9509-4356-b1e6-036276104b0d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/235e4cfb-9509-4356-b1e6-036276104b0d","properties":{"accountName":"clidogwzvenxw26","apiType":"Sql","creationTime":"2021-06-16T20:26:48Z","deletionTime":"2021-06-16T20:28:19Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6409619c-7137-41bf-ab0e-4a398525c5b5","creationTime":"2021-06-16T20:26:49Z","deletionTime":"2021-06-16T20:28:19Z"}]}},{"name":"e21aae49-e0f2-4929-a161-7977be62a762","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e21aae49-e0f2-4929-a161-7977be62a762","properties":{"accountName":"cliceiq6mocp6i5","apiType":"Sql","creationTime":"2021-06-16T20:33:50Z","deletionTime":"2021-06-16T20:35:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"bf2b3723-c9bc-44bf-807a-0811275218fb","creationTime":"2021-06-16T20:33:50Z","deletionTime":"2021-06-16T20:35:26Z"}]}},{"name":"52eb72ff-f80e-4705-92c9-968f67da472c","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/52eb72ff-f80e-4705-92c9-968f67da472c","properties":{"accountName":"clir6i7dl4r4wf2","apiType":"Sql","creationTime":"2021-06-16T20:45:16Z","deletionTime":"2021-06-16T20:47:01Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"f9a411d2-d33e-4694-81d8-2088d2a562d4","creationTime":"2021-06-16T20:45:17Z","deletionTime":"2021-06-16T20:47:01Z"}]}},{"name":"7f63d75d-a350-4dd0-8d80-882578cdff61","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7f63d75d-a350-4dd0-8d80-882578cdff61","properties":{"accountName":"cliutxtwnqe4iiy","apiType":"Sql","creationTime":"2021-06-16T22:28:17Z","deletionTime":"2021-06-16T22:29:49Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"07a1ede0-74a4-4136-adeb-e1870b0a87a4","creationTime":"2021-06-16T22:28:18Z","deletionTime":"2021-06-16T22:29:49Z"}]}},{"name":"96cc7d5c-40f8-4c37-8b43-43bcf8c69376","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/96cc7d5c-40f8-4c37-8b43-43bcf8c69376","properties":{"accountName":"clinlfokyrxduju","apiType":"Sql","creationTime":"2021-06-16T22:39:52Z","deletionTime":"2021-06-16T22:41:25Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"f4d9b776-65cb-429b-aa85-e623140f245e","creationTime":"2021-06-16T22:39:53Z","deletionTime":"2021-06-16T22:41:25Z"}]}},{"name":"279ccc1f-1594-4d10-a1ac-d877b1b9e708","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/279ccc1f-1594-4d10-a1ac-d877b1b9e708","properties":{"accountName":"clixf7ysjwgbct2","apiType":"Sql","creationTime":"2021-06-16T22:46:56Z","deletionTime":"2021-06-16T22:53:00Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5f3e6caa-3784-4fa9-b5dd-a1d11d1b6e02","creationTime":"2021-06-16T22:46:57Z","deletionTime":"2021-06-16T22:53:00Z"}]}},{"name":"9c04c9b6-2d9a-40aa-a0cc-754356a3c928","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9c04c9b6-2d9a-40aa-a0cc-754356a3c928","properties":{"accountName":"clidjwnfnbnsf4w","apiType":"Sql","creationTime":"2021-06-16T23:14:58Z","deletionTime":"2021-06-16T23:16:34Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8d5e5730-a768-4266-9409-a8d3f5a9e481","creationTime":"2021-06-16T23:14:59Z","deletionTime":"2021-06-16T23:16:34Z"}]}},{"name":"da02aaa9-6f01-44f0-b236-8c3c6f8a30e5","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/da02aaa9-6f01-44f0-b236-8c3c6f8a30e5","properties":{"accountName":"cliq3uqnmicrffa","apiType":"Sql","creationTime":"2021-06-16T23:26:13Z","deletionTime":"2021-06-16T23:27:47Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"402e376b-4c33-48e5-8820-919d650a5f01","creationTime":"2021-06-16T23:26:14Z","deletionTime":"2021-06-16T23:27:47Z"}]}},{"name":"3f0955f3-f1b5-42a1-9a23-b66eba71894a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3f0955f3-f1b5-42a1-9a23-b66eba71894a","properties":{"accountName":"clibex7mu77mpl5","apiType":"Sql","creationTime":"2021-06-16T23:44:47Z","deletionTime":"2021-06-16T23:50:54Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"6bafaabc-e945-449d-96be-fdd87e06ac14","creationTime":"2021-06-16T23:44:48Z","deletionTime":"2021-06-16T23:50:54Z"}]}},{"name":"9dc47f53-76a3-4c59-8880-bc47e24be568","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9dc47f53-76a3-4c59-8880-bc47e24be568","properties":{"accountName":"cligww7ms5ee62s","apiType":"Sql","creationTime":"2021-06-17T01:27:42Z","deletionTime":"2021-06-17T01:29:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9c3937cc-a136-4455-b80c-d89d8a8fa85b","creationTime":"2021-06-17T01:27:43Z","deletionTime":"2021-06-17T01:29:17Z"}]}},{"name":"5c6a1b11-fb33-4226-9bae-8b9ab34774a1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5c6a1b11-fb33-4226-9bae-8b9ab34774a1","properties":{"accountName":"clixukbcuhbk36c","apiType":"Sql","creationTime":"2021-06-17T01:38:47Z","deletionTime":"2021-06-17T01:40:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5c9eb7c6-cfa2-459b-8e76-dc023bab4dde","creationTime":"2021-06-17T01:38:47Z","deletionTime":"2021-06-17T01:40:24Z"}]}},{"name":"69d50f39-4361-4eb3-a238-ad3a7dfb9e83","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/69d50f39-4361-4eb3-a238-ad3a7dfb9e83","properties":{"accountName":"clivt3zzne5quej","apiType":"Sql","creationTime":"2021-06-17T02:07:50Z","deletionTime":"2021-06-17T02:09:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d1700c5f-5628-4605-985b-5782e573cea9","creationTime":"2021-06-17T02:07:51Z","deletionTime":"2021-06-17T02:09:24Z"}]}},{"name":"a93c769d-4cb1-4406-a4b9-dad84094f984","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a93c769d-4cb1-4406-a4b9-dad84094f984","properties":{"accountName":"climxklkuvodvvc","apiType":"Sql","creationTime":"2021-06-17T02:14:39Z","deletionTime":"2021-06-17T02:16:13Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"daf2ec1a-0f95-4634-b705-fefdb9cf9dd1","creationTime":"2021-06-17T02:14:40Z","deletionTime":"2021-06-17T02:16:13Z"}]}},{"name":"20a895d0-2dca-4843-ae52-cf0eb44d508a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/20a895d0-2dca-4843-ae52-cf0eb44d508a","properties":{"accountName":"cliofxoelvbo77m","apiType":"Sql","creationTime":"2021-06-17T02:55:05Z","deletionTime":"2021-06-17T02:56:38Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5339984e-7bcc-4010-bacb-ca79c67ccc46","creationTime":"2021-06-17T02:55:06Z","deletionTime":"2021-06-17T02:56:38Z"}]}},{"name":"8fd8004f-4943-48e2-bdf8-bc6a8f3e1dca","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8fd8004f-4943-48e2-bdf8-bc6a8f3e1dca","properties":{"accountName":"clim5rfkhugxhz3","apiType":"Sql","creationTime":"2021-06-17T03:27:28Z","deletionTime":"2021-06-17T03:29:08Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"a9d29f81-d030-4ea9-a64a-433b3af978af","creationTime":"2021-06-17T03:27:28Z","deletionTime":"2021-06-17T03:29:08Z"}]}},{"name":"e0ad7b66-02ff-4af0-9339-dee1777a33a0","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e0ad7b66-02ff-4af0-9339-dee1777a33a0","properties":{"accountName":"cliog3ya62athqa","apiType":"Sql","creationTime":"2021-06-17T03:48:09Z","deletionTime":"2021-06-17T03:54:17Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"813d7f13-1fb1-404e-964f-500459fff9aa","creationTime":"2021-06-17T03:48:10Z","deletionTime":"2021-06-17T03:54:17Z"}]}},{"name":"9ebc71b2-dfea-43d9-abed-14fd5543b003","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9ebc71b2-dfea-43d9-abed-14fd5543b003","properties":{"accountName":"clish7kwafxjimr","apiType":"Sql","creationTime":"2021-06-17T04:05:18Z","deletionTime":"2021-06-17T04:11:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"7c62c19f-67cb-409f-b315-056b81042ef3","creationTime":"2021-06-17T04:05:18Z","deletionTime":"2021-06-17T04:11:23Z"}]}},{"name":"fd3aa83e-023e-42bf-82c3-b49c70769a7b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fd3aa83e-023e-42bf-82c3-b49c70769a7b","properties":{"accountName":"clixu73fkxqc3r2","apiType":"Sql","creationTime":"2021-06-17T04:18:48Z","deletionTime":"2021-06-17T04:24:54Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"131ed675-6c51-4857-8436-1e4d16375e7d","creationTime":"2021-06-17T04:18:49Z","deletionTime":"2021-06-17T04:24:54Z"}]}},{"name":"ab991a20-f698-478a-afa1-3030c048e962","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab991a20-f698-478a-afa1-3030c048e962","properties":{"accountName":"clicafuqzjd5exp","apiType":"Sql","creationTime":"2021-06-17T04:29:05Z","deletionTime":"2021-06-17T04:35:08Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ca94f3e3-40c0-49cc-b9ee-3b0d0a8f0f49","creationTime":"2021-06-17T04:29:06Z","deletionTime":"2021-06-17T04:35:08Z"}]}},{"name":"4b0b9b38-96b5-4a5c-a8e8-dbae8d6c019b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4b0b9b38-96b5-4a5c-a8e8-dbae8d6c019b","properties":{"accountName":"clikpl7kyr3j7x6","apiType":"Sql","creationTime":"2021-06-17T04:44:48Z","deletionTime":"2021-06-17T04:50:58Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"080cde57-05b7-4de9-96b8-9ae9402dfa56","creationTime":"2021-06-17T04:44:48Z","deletionTime":"2021-06-17T04:50:58Z"}]}},{"name":"07999175-c43f-427f-b27c-9f55f53a2cac","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/07999175-c43f-427f-b27c-9f55f53a2cac","properties":{"accountName":"clirwjte3f5yuqu","apiType":"Sql","creationTime":"2021-06-17T04:58:41Z","deletionTime":"2021-06-17T05:04:45Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"52a5c138-036d-4b53-9291-dfa7d907dca0","creationTime":"2021-06-17T04:58:42Z","deletionTime":"2021-06-17T05:04:45Z"}]}},{"name":"6e9595a9-605e-403d-a3c0-112a48b0aa39","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6e9595a9-605e-403d-a3c0-112a48b0aa39","properties":{"accountName":"clibrfenghtlqct","apiType":"Sql","creationTime":"2021-06-17T05:08:41Z","deletionTime":"2021-06-17T05:14:46Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"e2e14bdf-27bf-41a0-9e3c-0f2ed1a4e11d","creationTime":"2021-06-17T05:08:41Z","deletionTime":"2021-06-17T05:14:46Z"}]}},{"name":"08dfdb9a-cb70-4c3a-bca4-dab424d9563a","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08dfdb9a-cb70-4c3a-bca4-dab424d9563a","properties":{"accountName":"clijocjd72ccgt6","apiType":"Sql","creationTime":"2021-06-17T06:39:40Z","deletionTime":"2021-06-17T06:46:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"43286ec1-94c8-45b2-914b-f3df90568c39","creationTime":"2021-06-17T06:39:40Z","deletionTime":"2021-06-17T06:46:02Z"}]}},{"name":"c231d642-401a-4706-abf3-c6552597023e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c231d642-401a-4706-abf3-c6552597023e","properties":{"accountName":"cli6cxr3el26tue","apiType":"Sql","creationTime":"2021-06-17T06:57:06Z","deletionTime":"2021-06-17T07:03:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"32c8f9a6-d828-4e0a-afd8-3cb076a0eb89","creationTime":"2021-06-17T06:57:07Z","deletionTime":"2021-06-17T07:03:23Z"}]}},{"name":"fcadfc2c-aa3e-40cb-b216-4eb115f928d9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fcadfc2c-aa3e-40cb-b216-4eb115f928d9","properties":{"accountName":"clinsg64f6iooqr","apiType":"Sql","creationTime":"2021-06-17T07:17:07Z","deletionTime":"2021-06-17T07:23:32Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"59784fa1-267a-455a-978e-abdc8b829e9e","creationTime":"2021-06-17T07:17:08Z","deletionTime":"2021-06-17T07:23:32Z"}]}},{"name":"b4d32787-58db-4578-be6d-378192bb68a1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b4d32787-58db-4578-be6d-378192bb68a1","properties":{"accountName":"clih6hqkeqwpgfi","apiType":"Sql","creationTime":"2021-06-17T07:35:00Z","deletionTime":"2021-06-17T07:40:02Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5f6bcd8f-9712-4a2d-a645-eed53452190f","creationTime":"2021-06-17T07:35:01Z","deletionTime":"2021-06-17T07:40:02Z"}]}},{"name":"fbe88ad8-aeab-4e31-81ae-7fe3f3062019","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fbe88ad8-aeab-4e31-81ae-7fe3f3062019","properties":{"accountName":"clidxu5kw6e64e2","apiType":"Sql","creationTime":"2021-06-17T07:45:23Z","deletionTime":"2021-06-17T07:50:19Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"bfcf1a48-b80f-4cfa-9e1a-41f86746e2ef","creationTime":"2021-06-17T07:45:23Z","deletionTime":"2021-06-17T07:50:19Z"}]}},{"name":"88c769b9-09ed-45a0-b0cc-882a0316a24b","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/88c769b9-09ed-45a0-b0cc-882a0316a24b","properties":{"accountName":"clixqhxvl25w5rs","apiType":"Sql","creationTime":"2021-06-17T17:43:22Z","deletionTime":"2021-06-17T17:48:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"42cd8fa9-1b3a-4441-aa62-5a734fc2e358","creationTime":"2021-06-17T17:43:23Z","deletionTime":"2021-06-17T17:48:28Z"}]}},{"name":"056d5aae-31de-45f2-9572-ffac9b377b51","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/056d5aae-31de-45f2-9572-ffac9b377b51","properties":{"accountName":"clir5uspxka4iz2","apiType":"Sql","creationTime":"2021-06-17T22:47:22Z","deletionTime":"2021-06-17T22:52:26Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ecf1d8e2-9eae-414c-8fa4-48f03765fb30","creationTime":"2021-06-17T22:47:22Z","deletionTime":"2021-06-17T22:52:26Z"}]}},{"name":"5e02fb4c-2bcf-4247-a6ff-c847bd6f10b1","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5e02fb4c-2bcf-4247-a6ff-c847bd6f10b1","properties":{"accountName":"cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-17T22:11:24Z","deletionTime":"2021-06-17T23:36:58Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"54781d86-893a-4e51-86a7-f373c7ee9a3d","creationTime":"2021-06-17T22:11:24Z","deletionTime":"2021-06-17T23:36:58Z"}]}},{"name":"19c98ad7-2c9b-4c26-a973-6b73f8a32222","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/19c98ad7-2c9b-4c26-a973-6b73f8a32222","properties":{"accountName":"cli5e6vgxaqxgb6","apiType":"Sql","creationTime":"2021-06-18T00:58:37Z","deletionTime":"2021-06-18T01:03:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"2e0f99aa-4293-4d92-842f-f95b2d6c7f5b","creationTime":"2021-06-18T00:58:38Z","deletionTime":"2021-06-18T01:03:37Z"}]}},{"name":"a05f1b33-0d02-4db4-8077-a02101842f51","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a05f1b33-0d02-4db4-8077-a02101842f51","properties":{"accountName":"restored-cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-18T01:10:09Z","deletionTime":"2021-06-18T01:11:23Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"5f917f40-8ec2-4502-9f9c-36a276504a99","creationTime":"2021-06-18T01:10:09Z","deletionTime":"2021-06-18T01:11:23Z"}]}},{"name":"adb35fb1-bd63-45ab-b4be-fb71908f3a00","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/adb35fb1-bd63-45ab-b4be-fb71908f3a00","properties":{"accountName":"cosmosdb-1214","apiType":"Sql","creationTime":"2021-06-18T00:44:20Z","deletionTime":"2021-06-18T01:11:24Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"d7c20579-9dba-4742-b4a9-a254307cf6aa","creationTime":"2021-06-18T00:44:20Z","deletionTime":"2021-06-18T01:11:24Z"}]}},{"name":"ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","location":"South + Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southcentralus/restorableDatabaseAccounts/ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","properties":{"accountName":"kal-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:57:45Z","restorableLocations":[{"locationName":"South + Central US","regionalDatabaseAccountInstanceId":"ff8bf7b0-f9c3-461c-8c13-26e94ac4c2bc","creationTime":"2020-10-05T23:57:46Z"}]}},{"name":"afd28572-807d-4ea2-bf0f-65f0b4e411dc","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/afd28572-807d-4ea2-bf0f-65f0b4e411dc","properties":{"accountName":"amisitestaccount","apiType":"Sql","creationTime":"2021-06-14T18:25:57Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"97b4f06b-62cd-4ea2-873e-6b674138b58c","creationTime":"2021-06-14T18:25:58Z"}]}},{"name":"b2e52a09-ca35-462e-976a-a784606f87ec","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/b2e52a09-ca35-462e-976a-a784606f87ec","properties":{"accountName":"cosmosdb-1210","apiType":"Sql","creationTime":"2021-06-10T03:08:01Z","deletionTime":"2021-06-10T03:25:01Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"798d5b90-cd01-4f3a-88fe-93965a9e2a50","creationTime":"2021-06-10T03:08:02Z","deletionTime":"2021-06-10T03:25:01Z"}]}},{"name":"8037f5d7-8619-48e9-870c-a7ecd8310b71","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/8037f5d7-8619-48e9-870c-a7ecd8310b71","properties":{"accountName":"restored2-cosmosdb-1210-1","apiType":"Sql","creationTime":"2021-06-10T03:23:30Z","deletionTime":"2021-06-10T03:25:04Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"36ffdd26-d63a-428a-b28f-69bc8137ae3a","creationTime":"2021-06-10T03:23:30Z","deletionTime":"2021-06-10T03:25:04Z"}]}},{"name":"c935156b-cb09-4712-b286-3b4d5335a64b","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/c935156b-cb09-4712-b286-3b4d5335a64b","properties":{"accountName":"mongo-continuous-1274","apiType":"MongoDB","creationTime":"2021-06-10T03:33:02Z","deletionTime":"2021-06-10T03:35:32Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"927a1dac-8e23-4baa-a745-e200fa0a97db","creationTime":"2021-06-10T03:33:03Z","deletionTime":"2021-06-10T03:35:32Z"}]}},{"name":"3330d6e1-9283-4516-bcb3-3bc0b4c52a2f","location":"East + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus/restorableDatabaseAccounts/3330d6e1-9283-4516-bcb3-3bc0b4c52a2f","properties":{"accountName":"mongo-continuous-1274","apiType":"MongoDB","creationTime":"2021-06-10T04:11:43Z","deletionTime":"2021-06-10T04:14:11Z","restorableLocations":[{"locationName":"East + US","regionalDatabaseAccountInstanceId":"cc8315a2-9b66-4d28-9a3e-e6e5c8d87950","creationTime":"2021-06-10T04:11:44Z","deletionTime":"2021-06-10T04:14:11Z"}]}}]}' headers: cache-control: - no-cache content-length: - - '5751' + - '109661' content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:05:12 GMT + - Fri, 18 Jun 2021 01:36:21 GMT expires: - '-1' pragma: @@ -846,7 +1164,6 @@ interactions: - '' - '' - '' - - '' status: code: 200 message: OK @@ -864,15 +1181,12 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_restore_using_create000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-18T01:33:07Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -881,7 +1195,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:09:12 GMT + - Fri, 18 Jun 2021 01:40:22 GMT expires: - '-1' pragma: @@ -899,8 +1213,8 @@ interactions: body: '{"location": "westus", "kind": "GlobalDocumentDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0, "isZoneRedundant": false}], "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Restore", - "restoreParameters": {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613", - "restoreTimestampInUtc": "2021-05-24T19:07:29.000Z"}}}' + "restoreParameters": {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/03d8a984-2813-461f-ae8a-40162fc34fc9", + "restoreTimestampInUtc": "2021-06-18T01:38:26.000Z"}}}' headers: Accept: - application/json @@ -913,37 +1227,34 @@ interactions: Content-Length: - '534' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:09:16.0884012Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:40:24.7032938Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"829dbb14-29e7-4e4e-aa44-07a39c39f6ee","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/03d8a984-2813-461f-ae8a-40162fc34fc9","restoreTimestampInUtc":"2021-06-18T01:38:26Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '2335' + - '2341' content-type: - application/json date: - - Mon, 24 May 2021 19:09:17 GMT + - Fri, 18 Jun 2021 01:40:26 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview pragma: - no-cache server: @@ -957,9 +1268,9 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: Ok @@ -967,7 +1278,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -977,10 +1288,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -992,7 +1302,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:09:47 GMT + - Fri, 18 Jun 2021 01:40:56 GMT pragma: - no-cache server: @@ -1006,7 +1316,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1014,7 +1324,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1024,10 +1334,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1039,7 +1348,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:10:17 GMT + - Fri, 18 Jun 2021 01:41:26 GMT pragma: - no-cache server: @@ -1053,7 +1362,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1061,7 +1370,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1071,10 +1380,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1086,7 +1394,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:10:48 GMT + - Fri, 18 Jun 2021 01:41:56 GMT pragma: - no-cache server: @@ -1100,7 +1408,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1108,7 +1416,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1118,10 +1426,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1133,7 +1440,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:11:18 GMT + - Fri, 18 Jun 2021 01:42:27 GMT pragma: - no-cache server: @@ -1147,7 +1454,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1155,7 +1462,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1165,10 +1472,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1180,7 +1486,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:11:48 GMT + - Fri, 18 Jun 2021 01:42:57 GMT pragma: - no-cache server: @@ -1194,7 +1500,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1202,7 +1508,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1212,10 +1518,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1227,7 +1532,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:12:17 GMT + - Fri, 18 Jun 2021 01:43:27 GMT pragma: - no-cache server: @@ -1241,7 +1546,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1249,7 +1554,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1259,10 +1564,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1274,7 +1578,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:12:48 GMT + - Fri, 18 Jun 2021 01:43:57 GMT pragma: - no-cache server: @@ -1288,7 +1592,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1296,7 +1600,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1306,10 +1610,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1321,7 +1624,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:13:18 GMT + - Fri, 18 Jun 2021 01:44:27 GMT pragma: - no-cache server: @@ -1335,7 +1638,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1343,7 +1646,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1353,10 +1656,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1368,7 +1670,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:13:48 GMT + - Fri, 18 Jun 2021 01:44:57 GMT pragma: - no-cache server: @@ -1382,7 +1684,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1390,7 +1692,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1400,10 +1702,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1415,7 +1716,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:14:18 GMT + - Fri, 18 Jun 2021 01:45:27 GMT pragma: - no-cache server: @@ -1429,7 +1730,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1437,7 +1738,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1447,10 +1748,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1462,7 +1762,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:14:48 GMT + - Fri, 18 Jun 2021 01:45:57 GMT pragma: - no-cache server: @@ -1476,7 +1776,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1484,7 +1784,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1494,10 +1794,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1509,7 +1808,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:15:18 GMT + - Fri, 18 Jun 2021 01:46:28 GMT pragma: - no-cache server: @@ -1523,7 +1822,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1531,7 +1830,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1541,10 +1840,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1556,7 +1854,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:15:49 GMT + - Fri, 18 Jun 2021 01:46:58 GMT pragma: - no-cache server: @@ -1570,7 +1868,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1578,7 +1876,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1588,10 +1886,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1603,7 +1900,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:16:19 GMT + - Fri, 18 Jun 2021 01:47:28 GMT pragma: - no-cache server: @@ -1617,7 +1914,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1625,7 +1922,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1635,10 +1932,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1650,7 +1946,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:16:49 GMT + - Fri, 18 Jun 2021 01:47:58 GMT pragma: - no-cache server: @@ -1664,7 +1960,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1672,7 +1968,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1682,10 +1978,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1697,7 +1992,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:17:19 GMT + - Fri, 18 Jun 2021 01:48:27 GMT pragma: - no-cache server: @@ -1711,7 +2006,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1719,7 +2014,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1729,10 +2024,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1744,7 +2038,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:17:49 GMT + - Fri, 18 Jun 2021 01:48:57 GMT pragma: - no-cache server: @@ -1758,7 +2052,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1766,7 +2060,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 01:49:28 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1776,10 +2116,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1791,7 +2130,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:18:19 GMT + - Fri, 18 Jun 2021 01:49:58 GMT pragma: - no-cache server: @@ -1805,7 +2144,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1813,7 +2152,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 01:50:28 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1823,10 +2208,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1838,7 +2222,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:18:49 GMT + - Fri, 18 Jun 2021 01:50:58 GMT pragma: - no-cache server: @@ -1852,7 +2236,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1860,7 +2244,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 01:51:29 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1870,10 +2300,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1885,7 +2314,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:19:19 GMT + - Fri, 18 Jun 2021 01:51:58 GMT pragma: - no-cache server: @@ -1899,7 +2328,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1907,7 +2336,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 01:52:28 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1917,10 +2392,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1932,7 +2406,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:19:50 GMT + - Fri, 18 Jun 2021 01:52:59 GMT pragma: - no-cache server: @@ -1946,7 +2420,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1954,7 +2428,53 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: - application/json + date: + - Fri, 18 Jun 2021 01:53:29 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1964,10 +2484,9 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/61f9bf2f-cd86-481f-bf7f-96be96e4ac4c?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -1979,7 +2498,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:20:19 GMT + - Fri, 18 Jun 2021 01:53:58 GMT pragma: - no-cache server: @@ -1993,7 +2512,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -2001,7 +2520,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2011,27 +2530,26 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:49.0792056Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:53:25.0328012Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"829dbb14-29e7-4e4e-aa44-07a39c39f6ee","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/03d8a984-2813-461f-ae8a-40162fc34fc9","restoreTimestampInUtc":"2021-06-18T01:38:26Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2409' + - '2415' content-type: - application/json date: - - Mon, 24 May 2021 19:20:20 GMT + - Fri, 18 Jun 2021 01:53:58 GMT pragma: - no-cache server: @@ -2045,7 +2563,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -2063,29 +2581,26 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:49.0792056Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:53:25.0328012Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"829dbb14-29e7-4e4e-aa44-07a39c39f6ee","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/03d8a984-2813-461f-ae8a-40162fc34fc9","restoreTimestampInUtc":"2021-06-18T01:38:26Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2409' + - '2415' content-type: - application/json date: - - Mon, 24 May 2021 19:20:20 GMT + - Fri, 18 Jun 2021 01:53:59 GMT pragma: - no-cache server: @@ -2099,7 +2614,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -2117,29 +2632,26 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:49.0792056Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T01:53:25.0328012Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"829dbb14-29e7-4e4e-aa44-07a39c39f6ee","createMode":"Restore","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/03d8a984-2813-461f-ae8a-40162fc34fc9","restoreTimestampInUtc":"2021-06-18T01:38:26Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2409' + - '2415' content-type: - application/json date: - - Mon, 24 May 2021 19:20:20 GMT + - Fri, 18 Jun 2021 01:54:00 GMT pragma: - no-cache server: @@ -2153,7 +2665,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml index d6c4b00858e..655282c1d88 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_sql_restorable_commands000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001","name":"cli_test_cosmosdb_sql_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001","name":"cli_test_cosmosdb_sql_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-18T02:47:30Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:02:00 GMT + - Fri, 18 Jun 2021 02:47:32 GMT expires: - '-1' pragma: @@ -47,8 +44,8 @@ interactions: - request: body: '{"location": "westus", "kind": "GlobalDocumentDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0, "isZoneRedundant": false}], - "databaseAccountOfferType": "Standard", "apiProperties": {}, "backupPolicy": - {"type": "Continuous"}, "createMode": "Default"}}' + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Default", + "backupPolicy": {"type": "Continuous"}}}' headers: Accept: - application/json @@ -61,37 +58,34 @@ interactions: Content-Length: - '284' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:03.1304335Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:47:35.49374Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"f3a77d2c-7adf-4013-b44c-6b1246086ac5","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/78bb020f-6fd9-4c7b-bf1c-7db4c3f15cbc?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '1821' + - '1787' content-type: - application/json date: - - Mon, 24 May 2021 19:02:04 GMT + - Fri, 18 Jun 2021 02:47:36 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/78bb020f-6fd9-4c7b-bf1c-7db4c3f15cbc?api-version=2021-04-01-preview pragma: - no-cache server: @@ -105,7 +99,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -115,7 +109,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -125,10 +119,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/78bb020f-6fd9-4c7b-bf1c-7db4c3f15cbc?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -140,7 +133,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:02:35 GMT + - Fri, 18 Jun 2021 02:48:06 GMT pragma: - no-cache server: @@ -154,7 +147,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -162,7 +155,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -172,10 +165,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/78bb020f-6fd9-4c7b-bf1c-7db4c3f15cbc?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +179,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:05 GMT + - Fri, 18 Jun 2021 02:48:36 GMT pragma: - no-cache server: @@ -201,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -209,7 +201,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -219,10 +211,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/78bb020f-6fd9-4c7b-bf1c-7db4c3f15cbc?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -234,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:03:35 GMT + - Fri, 18 Jun 2021 02:49:07 GMT pragma: - no-cache server: @@ -248,7 +239,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -256,7 +247,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -266,10 +257,9 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/78bb020f-6fd9-4c7b-bf1c-7db4c3f15cbc?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -281,7 +271,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:05 GMT + - Fri, 18 Jun 2021 02:49:37 GMT pragma: - no-cache server: @@ -295,7 +285,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -303,7 +293,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -313,14 +303,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:27.8163027Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:48:51.5502362Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"f3a77d2c-7adf-4013-b44c-6b1246086ac5","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West @@ -329,11 +318,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:05 GMT + - Fri, 18 Jun 2021 02:49:37 GMT pragma: - no-cache server: @@ -347,7 +336,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -365,16 +354,13 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:27.8163027Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:48:51.5502362Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"f3a77d2c-7adf-4013-b44c-6b1246086ac5","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West @@ -383,11 +369,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:06 GMT + - Fri, 18 Jun 2021 02:49:37 GMT pragma: - no-cache server: @@ -401,7 +387,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -419,16 +405,13 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:27.8163027Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:48:51.5502362Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"f3a77d2c-7adf-4013-b44c-6b1246086ac5","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West @@ -437,11 +420,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2126' + - '2112' content-type: - application/json date: - - Mon, 24 May 2021 19:04:07 GMT + - Fri, 18 Jun 2021 02:49:38 GMT pragma: - no-cache server: @@ -455,7 +438,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -477,15 +460,15 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/41cea9f5-edc0-469b-8d5f-4d64bb4e552d?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/abe66157-9230-4eb1-a997-e40f033a4bfb?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -493,9 +476,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:08 GMT + - Fri, 18 Jun 2021 02:49:39 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/operationResults/41cea9f5-edc0-469b-8d5f-4d64bb4e552d?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/operationResults/abe66157-9230-4eb1-a997-e40f033a4bfb?api-version=2021-04-15 pragma: - no-cache server: @@ -505,7 +488,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -525,9 +508,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/41cea9f5-edc0-469b-8d5f-4d64bb4e552d?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/abe66157-9230-4eb1-a997-e40f033a4bfb?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -539,7 +522,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:38 GMT + - Fri, 18 Jun 2021 02:50:10 GMT pragma: - no-cache server: @@ -553,7 +536,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -571,12 +554,12 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-04-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"ASNBAA==","_self":"dbs/ASNBAA==/","_etag":"\"00000d00-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/","_ts":1621883054}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"VTEPAA==","_self":"dbs/VTEPAA==/","_etag":"\"00003902-0000-0700-0000-60cc09c80000\"","_colls":"colls/","_users":"users/","_ts":1623984584}}}' headers: cache-control: - no-store, no-cache @@ -585,7 +568,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:38 GMT + - Fri, 18 Jun 2021 02:50:10 GMT pragma: - no-cache server: @@ -599,7 +582,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -624,15 +607,15 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-04-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8619125a-40a8-4236-ad4c-b0e27ed31e78?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/5489da3a-1a16-4352-997d-b25592d03d20?api-version=2021-04-15 cache-control: - no-store, no-cache content-length: @@ -640,9 +623,9 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:04:39 GMT + - Fri, 18 Jun 2021 02:50:11 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/operationResults/8619125a-40a8-4236-ad4c-b0e27ed31e78?api-version=2021-03-15 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/operationResults/5489da3a-1a16-4352-997d-b25592d03d20?api-version=2021-04-15 pragma: - no-cache server: @@ -652,7 +635,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -672,9 +655,9 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8619125a-40a8-4236-ad4c-b0e27ed31e78?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/5489da3a-1a16-4352-997d-b25592d03d20?api-version=2021-04-15 response: body: string: '{"status":"Succeeded"}' @@ -686,7 +669,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:09 GMT + - Fri, 18 Jun 2021 02:50:42 GMT pragma: - no-cache server: @@ -700,7 +683,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -718,12 +701,12 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/6.3.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-03-15 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-04-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"ASNBAKs48fM=","_ts":1621883086,"_self":"dbs/ASNBAA==/colls/ASNBAKs48fM=/","_etag":"\"00001000-0000-0700-0000-60abf8ce0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"VTEPANKPwQU=","_ts":1623984616,"_self":"dbs/VTEPAA==/colls/VTEPANKPwQU=/","_etag":"\"00003c02-0000-0700-0000-60cc09e80000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' headers: cache-control: - no-store, no-cache @@ -732,7 +715,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:09 GMT + - Fri, 18 Jun 2021 02:50:42 GMT pragma: - no-cache server: @@ -746,7 +729,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -764,16 +747,13 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f3a77d2c-7adf-4013-b44c-6b1246086ac5?api-version=2021-04-01-preview response: body: - string: '{"name":"4887b893-fa01-44c5-88c9-63b8743ccb24","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24","properties":{"accountName":"cli000004","apiType":"Sql","creationTime":"2021-05-24T19:03:28Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"344e6d5d-b509-41bf-8e1b-9fcca0fab48f","creationTime":"2021-05-24T19:03:29Z"}]}}' + string: '{"name":"f3a77d2c-7adf-4013-b44c-6b1246086ac5","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f3a77d2c-7adf-4013-b44c-6b1246086ac5","properties":{"accountName":"cli000004","apiType":"Sql","creationTime":"2021-06-18T02:48:52Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"4cc4ed8b-7dad-4917-be2a-d74cc5c67fb5","creationTime":"2021-06-18T02:48:53Z"}]}}' headers: cache-control: - no-store, no-cache @@ -782,7 +762,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:11 GMT + - Fri, 18 Jun 2021 02:50:43 GMT pragma: - no-cache server: @@ -796,7 +776,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -814,15 +794,12 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlDatabases?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f3a77d2c-7adf-4013-b44c-6b1246086ac5/restorableSqlDatabases?api-version=2021-04-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlDatabases/e0c55daf-e2c6-4e72-ad48-8eae1a6a9a53","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases","name":"e0c55daf-e2c6-4e72-ad48-8eae1a6a9a53","properties":{"resource":{"_rid":"1eyO7AAAAA==","eventTimestamp":"2021-05-24T19:04:14Z","ownerId":"cli000003","ownerResourceId":"ASNBAA==","operationType":"Create","database":{"id":"cli000003","_rid":"ASNBAA==","_self":"dbs/ASNBAA==/","_etag":"\"00000d00-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/"}}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f3a77d2c-7adf-4013-b44c-6b1246086ac5/restorableSqlDatabases/4be6c985-fc82-4a06-be9f-ee02790b4c8b","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases","name":"4be6c985-fc82-4a06-be9f-ee02790b4c8b","properties":{"resource":{"_rid":"RReXxAAAAA==","eventTimestamp":"2021-06-18T02:49:44Z","ownerId":"cli000003","ownerResourceId":"VTEPAA==","operationType":"Create","database":{"id":"cli000003","_rid":"VTEPAA==","_self":"dbs/VTEPAA==/","_etag":"\"00003902-0000-0700-0000-60cc09c80000\"","_colls":"colls/","_users":"users/"}}}}]}' headers: cache-control: - no-store, no-cache @@ -831,7 +808,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:12 GMT + - Fri, 18 Jun 2021 02:50:45 GMT pragma: - no-cache server: @@ -845,7 +822,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -863,15 +840,12 @@ interactions: ParameterSetName: - --location --instance-id --database-rid User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlContainers?api-version=2021-03-01-preview&restorableSqlDatabaseRid=ASNBAA%3D%3D + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f3a77d2c-7adf-4013-b44c-6b1246086ac5/restorableSqlContainers?api-version=2021-04-01-preview&restorableSqlDatabaseRid=VTEPAA%3D%3D response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlContainers/14e1678d-356a-4174-ba87-c2798b3d9dfb","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers","name":"14e1678d-356a-4174-ba87-c2798b3d9dfb","properties":{"resource":{"_rid":"93WD4wAAAA==","eventTimestamp":"2021-05-24T19:04:46Z","ownerId":"cli000002","ownerResourceId":"ASNBAKs48fM=","operationType":"Create","container":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"supportSpatialLegacyCoordinates":false,"usePolygonsSmallerThanAHemisphere":false,"includedPaths":[{"path":"/*"},{"path":"/\"_ts\"/?"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"internalIndexingProperties":{"enableIndexingFullFidelity":true,"logicalIndexVersion":2,"indexEncodingOptions":65567},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"typeSystemPolicy":{"typeSystem":"CosmosCore"},"uniqueIndexNameEncodingMode":1,"_idxpolicyver":2,"_rid":"ASNBAKs48fM=","_self":"dbs/ASNBAA==/colls/ASNBAKs48fM=/","_etag":"\"00001000-0000-0700-0000-60abf8ce0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/"}}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f3a77d2c-7adf-4013-b44c-6b1246086ac5/restorableSqlContainers/b9cf6006-efac-4129-9517-7c46111b8f14","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers","name":"b9cf6006-efac-4129-9517-7c46111b8f14","properties":{"resource":{"_rid":"oxmTeQAAAA==","eventTimestamp":"2021-06-18T02:50:16Z","ownerId":"cli000002","ownerResourceId":"VTEPANKPwQU=","operationType":"Create","container":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"supportSpatialLegacyCoordinates":false,"usePolygonsSmallerThanAHemisphere":false,"includedPaths":[{"path":"/*"},{"path":"/\"_ts\"/?"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"internalIndexingProperties":{"enableIndexingFullFidelity":true,"logicalIndexVersion":2,"indexEncodingOptions":65567},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"typeSystemPolicy":{"typeSystem":"CosmosCore"},"uniqueIndexNameEncodingMode":2,"_idxpolicyver":2,"_rid":"VTEPANKPwQU=","_self":"dbs/VTEPAA==/colls/VTEPANKPwQU=/","_etag":"\"00003c02-0000-0700-0000-60cc09e80000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/"}}}}]}' headers: cache-control: - no-store, no-cache @@ -880,7 +854,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:05:14 GMT + - Fri, 18 Jun 2021 02:50:47 GMT pragma: - no-cache server: @@ -894,7 +868,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -912,12 +886,9 @@ interactions: ParameterSetName: - --restore-location -l --instance-id --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlResources?api-version=2021-03-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-05-24T19%3A05%3A28%2B00%3A00 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f3a77d2c-7adf-4013-b44c-6b1246086ac5/restorableSqlResources?api-version=2021-04-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-06-18T02%3A50%3A52%2B00%3A00 response: body: string: '{"value":[{"databaseName":"cli000003","collectionNames":["cli000002"]}]}' @@ -929,7 +900,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:07:16 GMT + - Fri, 18 Jun 2021 02:52:48 GMT pragma: - no-cache server: @@ -943,7 +914,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml index 95bdc5ee586..abbd5554246 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml @@ -2,7 +2,8 @@ interactions: - request: body: '{"location": "eastus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "cli000004", "properties": - {"addressPrefix": "10.0.0.0/24"}}]}}' + {"addressPrefix": "10.0.0.0/24", "privateEndpointNetworkPolicies": "Enabled", + "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' headers: Accept: - application/json @@ -13,27 +14,27 @@ interactions: Connection: - keep-alive Content-Length: - - '209' + - '302' Content-Type: - application/json ParameterSetName: - -g -l -n --subnet-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n - \ \"etag\": \"W/\\\"2802f71d-03a5-4fc6-9d47-314d7ed0dfed\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"85a33837-62f9-43b5-95cd-25b1694f4817\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"428e8e69-b99c-4f56-8baa-52d3e9c4455b\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"67482c11-5a56-4dbc-9b2d-bad6937cf340\",\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\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"2802f71d-03a5-4fc6-9d47-314d7ed0dfed\\\"\",\r\n + \ \"etag\": \"W/\\\"85a33837-62f9-43b5-95cd-25b1694f4817\\\"\",\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\": @@ -44,7 +45,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/1ed52624-4f60-4dd3-9f06-5aca104c5743?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/2b62da90-1f91-4ecc-a283-1684bc2c833d?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -52,7 +53,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:16 GMT + - Fri, 18 Jun 2021 03:00:24 GMT expires: - '-1' pragma: @@ -65,7 +66,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - de22849a-b665-461b-9220-ca79c1b25003 + - d6a3a2b0-fe5b-48e9-ad8b-89b4c8f7d133 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -85,9 +86,9 @@ interactions: ParameterSetName: - -g -l -n --subnet-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/1ed52624-4f60-4dd3-9f06-5aca104c5743?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/2b62da90-1f91-4ecc-a283-1684bc2c833d?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -99,7 +100,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:19 GMT + - Fri, 18 Jun 2021 03:00:27 GMT expires: - '-1' pragma: @@ -116,7 +117,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 52d1d97e-2482-4f89-9046-5341efbdd249 + - fd206652-1983-4c65-a177-8754b3aa7798 status: code: 200 message: OK @@ -134,21 +135,21 @@ interactions: ParameterSetName: - -g -l -n --subnet-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n - \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"503329db-a7eb-4f85-8ff6-bce221bd8213\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"428e8e69-b99c-4f56-8baa-52d3e9c4455b\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"67482c11-5a56-4dbc-9b2d-bad6937cf340\",\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\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n + \ \"etag\": \"W/\\\"503329db-a7eb-4f85-8ff6-bce221bd8213\\\"\",\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\": @@ -163,9 +164,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:19 GMT + - Fri, 18 Jun 2021 03:00:27 GMT etag: - - W/"b0d8ff05-d41c-46db-9bee-14674781c74b" + - W/"503329db-a7eb-4f85-8ff6-bce221bd8213" expires: - '-1' pragma: @@ -182,7 +183,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d649a4b9-a01d-4f8b-9fdd-25c5bf2097ac + - c39d88c8-10ed-4d9d-8d2f-e9444d1974e3 status: code: 200 message: OK @@ -200,21 +201,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n - \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"503329db-a7eb-4f85-8ff6-bce221bd8213\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"428e8e69-b99c-4f56-8baa-52d3e9c4455b\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"67482c11-5a56-4dbc-9b2d-bad6937cf340\",\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\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n + \ \"etag\": \"W/\\\"503329db-a7eb-4f85-8ff6-bce221bd8213\\\"\",\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\": @@ -229,9 +230,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:19 GMT + - Fri, 18 Jun 2021 03:00:28 GMT etag: - - W/"b0d8ff05-d41c-46db-9bee-14674781c74b" + - W/"503329db-a7eb-4f85-8ff6-bce221bd8213" expires: - '-1' pragma: @@ -248,7 +249,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f81f1e8c-9db6-405c-acdf-3c48aed51a92 + - 4768201e-d69f-415e-a23e-1c898b6eb85b status: code: 200 message: OK @@ -266,8 +267,8 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - python/3.8.3 (Windows-10-10.0.17763-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -287,19 +288,19 @@ interactions: dataserviceversion: - 3.0; date: - - Mon, 24 May 2021 19:46:21 GMT + - Fri, 18 Jun 2021 03:00:28 GMT duration: - - '792483' + - '754439' expires: - '-1' ocp-aad-diagnostics-server-name: - - whctYICInyOeKkNXegnusBjHYir32MRpF/zVTQ6x/EI= + - s9JS318LN/zVJYjAZL3o0m48olwGPk2Ce4D5Fw81mAQ= ocp-aad-session-key: - - oRTZWwVjhrgujVLGI_NMhjFLD_JBf0WjKrPzDk6u5vyXfgCJ9xXVINceLisVtq-CrXFbUXKcGmtN4-48KALiaI8blA7qmBY39bdNkvpYIIbxl1E6aQ6FiTCZ6_VIAocc.li5y0NYJOphOUJxttW6dQWGon-gEoXAcsS1OBiRsqfQ + - 7dte5EF1yivj4PeyO5yr3VwbNQ4QiKV2eZA3KWxy_uToe3ih5fpG7Lc9o9_DTAl2yvzUwIzuhicVxyYFi3UB6JnIUidlHNJc0DAy0F4s6XqKUo_lUpx1JPmPdyt0q45r.FKZTrDM1Tq2VEm11LHRGrZ5iJZS19Qev6HNLwxCF-70 pragma: - no-cache request-id: - - dbfb431e-19fd-4004-8edf-ef55a305c5f3 + - 8c21be03-9cb8-4e2e-b368-29510cca5f62 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -332,8 +333,8 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - python/3.8.3 (Windows-10-10.0.17763-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: POST @@ -360,19 +361,19 @@ interactions: dataserviceversion: - 3.0; date: - - Mon, 24 May 2021 19:46:21 GMT + - Fri, 18 Jun 2021 03:00:29 GMT duration: - - '558129' + - '1788685' expires: - '-1' ocp-aad-diagnostics-server-name: - - whctYICInyOeKkNXegnusBjHYir32MRpF/zVTQ6x/EI= + - /rYdfKflcpnXuLxctr3CSLMa7NoEXicw1rnHjl53s+4= ocp-aad-session-key: - - Q-9YyH-GlJ_lGQSe437RYUZ6B0ARQs3N-IhOV-wBPIti36YdvczL-OnBYRhw9YjJgCWAhhkuVcxHUcyVmpheWiootiJ4vp7qij_nec1SmBXakUSGJBneiygjVVdRx24F.Szg-pZM_avgr6T2flzBrTlLQMYM9PwsBq3tWtIOHjx8 + - Eewo4zxCtrYpK6FhOzS8f6GipvR2G65tqIZ9mbEz87iVbLhx0AZkv9VT8_q6gYn6cy8uETuNLp3mz-Lru5sqPEGdBzFdBKb1IBJmEXr_-3cajBV2FQcaZSoFYpjoIv_f.l_EyysoTU4kjnY10LpWbe04hJNKjm1w7uSJdnX8n89w pragma: - no-cache request-id: - - 94d19ec5-8b84-49a4-8b04-4f5ba752d276 + - 38fcc6d9-6129-4349-8bc8-22ada0c91f42 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -405,15 +406,15 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - python/3.8.3 (Windows-10-10.0.17763-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003","condition":null,"conditionVersion":null,"createdOn":"2021-05-24T19:46:22.8596971Z","updatedOn":"2021-05-24T19:46:23.3297171Z","createdBy":null,"updatedBy":"47dc29ad-cbbc-4eda-9746-17f66697f62a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003","condition":null,"conditionVersion":null,"createdOn":"2021-06-18T03:00:30.5290948Z","updatedOn":"2021-06-18T03:00:30.9666888Z","createdBy":null,"updatedBy":"9a9202c5-1fd3-423a-801e-1ca0da5d506b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' headers: cache-control: - no-cache @@ -422,7 +423,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:24 GMT + - Fri, 18 Jun 2021 03:00:31 GMT expires: - '-1' pragma: @@ -434,7 +435,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -452,13 +453,13 @@ interactions: ParameterSetName: - -g --vnet-name --name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"503329db-a7eb-4f85-8ff6-bce221bd8213\\\"\",\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\": @@ -471,9 +472,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:25 GMT + - Fri, 18 Jun 2021 03:00:32 GMT etag: - - W/"b0d8ff05-d41c-46db-9bee-14674781c74b" + - W/"503329db-a7eb-4f85-8ff6-bce221bd8213" expires: - '-1' pragma: @@ -490,7 +491,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 071b7f6e-19d9-4ff6-acdd-b20cebeaa6fc + - 0bfa2aa1-c01f-4805-a5e7-78d5ea0edca0 status: code: 200 message: OK @@ -510,30 +511,27 @@ interactions: Content-Length: - '424' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[],"hoursBetweenBackups":0,"prometheusEndpoint":{},"provisioningState":"Creating","repairEnabled":true,"seedNodes":[]}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T03:00:35.0505452Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T03:00:35.0505452Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[],"hoursBetweenBackups":0,"prometheusEndpoint":{},"provisioningState":"Creating","repairEnabled":true,"seedNodes":[]}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/69a16eee-0968-4b49-8636-926ec3fe82b6?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '949' + - '1185' content-type: - application/json date: - - Mon, 24 May 2021 19:46:28 GMT + - Fri, 18 Jun 2021 03:00:36 GMT pragma: - no-cache server: @@ -543,7 +541,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -553,7 +551,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -563,10 +561,9 @@ interactions: ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/69a16eee-0968-4b49-8636-926ec3fe82b6?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -578,7 +575,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:46:58 GMT + - Fri, 18 Jun 2021 03:01:05 GMT pragma: - no-cache server: @@ -592,7 +589,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -600,7 +597,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -610,10 +607,9 @@ interactions: ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/69a16eee-0968-4b49-8636-926ec3fe82b6?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -625,7 +621,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:47:28 GMT + - Fri, 18 Jun 2021 03:01:36 GMT pragma: - no-cache server: @@ -639,7 +635,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -647,7 +643,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -657,10 +653,9 @@ interactions: ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/69a16eee-0968-4b49-8636-926ec3fe82b6?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -672,7 +667,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:47:58 GMT + - Fri, 18 Jun 2021 03:02:06 GMT pragma: - no-cache server: @@ -686,7 +681,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -694,7 +689,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -704,10 +699,9 @@ interactions: ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/69a16eee-0968-4b49-8636-926ec3fe82b6?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -719,7 +713,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:48:29 GMT + - Fri, 18 Jun 2021 03:02:36 GMT pragma: - no-cache server: @@ -733,7 +727,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -741,7 +735,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -751,10 +745,9 @@ interactions: ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/69a16eee-0968-4b49-8636-926ec3fe82b6?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -766,7 +759,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:48:59 GMT + - Fri, 18 Jun 2021 03:03:06 GMT pragma: - no-cache server: @@ -780,7 +773,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -788,7 +781,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -798,10 +791,9 @@ interactions: ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/69a16eee-0968-4b49-8636-926ec3fe82b6?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -813,7 +805,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:49:29 GMT + - Fri, 18 Jun 2021 03:03:36 GMT pragma: - no-cache server: @@ -827,7 +819,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -835,7 +827,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -845,13 +837,12 @@ interactions: ParameterSetName: - -c -l -g -s -e --external-seed-nodes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T03:00:35.0505452Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T03:00:35.0505452Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END @@ -862,11 +853,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '11303' + - '11539' content-type: - application/json date: - - Mon, 24 May 2021 19:49:29 GMT + - Fri, 18 Jun 2021 03:03:37 GMT pragma: - no-cache server: @@ -880,7 +871,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -898,15 +889,12 @@ interactions: ParameterSetName: - -c -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T03:00:35.0505452Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T03:00:35.0505452Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END @@ -917,559 +905,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '11303' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:49:30 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:49:31 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:50:01 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:50:32 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:51:02 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:51:32 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:52:02 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:52:32 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:53:03 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:53:33 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:54:03 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:54:33 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' + - '11539' content-type: - application/json date: - - Mon, 24 May 2021 19:55:04 GMT + - Fri, 18 Jun 2021 03:03:37 GMT pragma: - no-cache server: @@ -1483,7 +923,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml index bb4d7d8c600..0b02401e4ca 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml @@ -2,7 +2,8 @@ interactions: - request: body: '{"location": "eastus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "cli000006", "properties": - {"addressPrefix": "10.0.0.0/24"}}]}}' + {"addressPrefix": "10.0.0.0/24", "privateEndpointNetworkPolicies": "Enabled", + "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' headers: Accept: - application/json @@ -13,27 +14,27 @@ interactions: Connection: - keep-alive Content-Length: - - '209' + - '302' Content-Type: - application/json ParameterSetName: - -g -l -n --subnet-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n - \ \"etag\": \"W/\\\"34a23e32-bb29-4e9b-8da4-323df426c462\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"67ef07f1-e8fc-49cc-be76-3733b0c767f4\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"9f7b37b0-961b-4e1d-80a3-4e78abedc163\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"c34756ae-b4f0-4ac2-a15c-7536fa0b4ba6\",\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\": \"cli000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"34a23e32-bb29-4e9b-8da4-323df426c462\\\"\",\r\n + \ \"etag\": \"W/\\\"67ef07f1-e8fc-49cc-be76-3733b0c767f4\\\"\",\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\": @@ -44,7 +45,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/0d1b8567-5b6a-46d4-a9dc-ed0cfd1045f3?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/806054eb-0f3d-4de7-9732-e159370c70e3?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -52,7 +53,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:16 GMT + - Fri, 18 Jun 2021 23:04:54 GMT expires: - '-1' pragma: @@ -65,7 +66,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 77843709-a4ae-4812-a2eb-6203fb9e4f7a + - 5d3aae04-6862-49fb-bcf5-6882e61c1b6a x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -85,9 +86,9 @@ interactions: ParameterSetName: - -g -l -n --subnet-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/0d1b8567-5b6a-46d4-a9dc-ed0cfd1045f3?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/806054eb-0f3d-4de7-9732-e159370c70e3?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -99,7 +100,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:19 GMT + - Fri, 18 Jun 2021 23:04:57 GMT expires: - '-1' pragma: @@ -116,7 +117,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0cc31d80-c526-4242-be06-a33bb44af111 + - 52b7728f-13b2-42dd-8cb8-51d0b89c6df5 status: code: 200 message: OK @@ -134,21 +135,21 @@ interactions: ParameterSetName: - -g -l -n --subnet-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n - \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"99b7d738-63b8-496d-935d-a07561ac3cb2\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"9f7b37b0-961b-4e1d-80a3-4e78abedc163\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"c34756ae-b4f0-4ac2-a15c-7536fa0b4ba6\",\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\": \"cli000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n + \ \"etag\": \"W/\\\"99b7d738-63b8-496d-935d-a07561ac3cb2\\\"\",\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\": @@ -163,9 +164,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:19 GMT + - Fri, 18 Jun 2021 23:04:57 GMT etag: - - W/"46b45661-2832-4988-bea7-16cbb44e559e" + - W/"99b7d738-63b8-496d-935d-a07561ac3cb2" expires: - '-1' pragma: @@ -182,7 +183,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0fe9b58f-2362-4cf6-bd81-053b5760108f + - b3b1dc3d-282f-4685-b9ce-2ea0fb399eb4 status: code: 200 message: OK @@ -200,21 +201,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n - \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"99b7d738-63b8-496d-935d-a07561ac3cb2\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"9f7b37b0-961b-4e1d-80a3-4e78abedc163\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"c34756ae-b4f0-4ac2-a15c-7536fa0b4ba6\",\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\": \"cli000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n + \ \"etag\": \"W/\\\"99b7d738-63b8-496d-935d-a07561ac3cb2\\\"\",\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\": @@ -229,9 +230,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:19 GMT + - Fri, 18 Jun 2021 23:04:58 GMT etag: - - W/"46b45661-2832-4988-bea7-16cbb44e559e" + - W/"99b7d738-63b8-496d-935d-a07561ac3cb2" expires: - '-1' pragma: @@ -248,7 +249,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 24e95280-b58d-4fd1-80fc-9528c97619c4 + - 0d172f45-a902-4b4b-b6b7-7547c71a3b17 status: code: 200 message: OK @@ -266,8 +267,8 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - python/3.8.3 (Windows-10-10.0.17763-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -287,19 +288,19 @@ interactions: dataserviceversion: - 3.0; date: - - Mon, 24 May 2021 19:46:21 GMT + - Fri, 18 Jun 2021 23:04:58 GMT duration: - - '820882' + - '716494' expires: - '-1' ocp-aad-diagnostics-server-name: - - 4/uj4SNby2LkI01RAIQEGEDMQdjkQAzojhpK7ie9UEY= + - 4bLvDsDmyFe3y0HU4bn68xGtkUbN0FhuwxE1HULkvU8= ocp-aad-session-key: - - A_s0l8HgO13sCtnG8fxY3bT27Cjj4UTlzPEdiuizf9EKlHkun2DG5eyhm1rmg79tX1Gejh7hX1e3fgIRPvvJnurnVyAI1c5SHDU170j8Se3oR4rxOqompyAosTGwYuDZ.RoXdf7nO4a0gyaRgZMvC4k8iN5rYeWFdzye9dpw0gRc + - DTX8BP494ENDr2DhbF_K7XeLAR7xqZ6vcQP2_uM-XJb0cP--y_s6xXk8jb3DtyhuGG4eLKLcMUbu87nUsDH_hXTurDLK07jb0g16otoH6VTodx-vIOXKkD-N74Lb5xge.j77dqAlWB62VnBUpxz9XdOWYHfKcT8A7hklcKYqF9Ak pragma: - no-cache request-id: - - 4e315dd3-47e2-4f02-a0e1-cad6c1abcb11 + - c3635cc7-9e45-4fb9-bd45-f10b94230e33 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -332,8 +333,8 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - python/3.8.3 (Windows-10-10.0.17763-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: POST @@ -360,19 +361,19 @@ interactions: dataserviceversion: - 3.0; date: - - Mon, 24 May 2021 19:46:21 GMT + - Fri, 18 Jun 2021 23:04:58 GMT duration: - - '510422' + - '829460' expires: - '-1' ocp-aad-diagnostics-server-name: - - /Huk4TjYJVq8cGQrAQkA/SA2hWt+llQ64ZNTQ5XSPM0= + - Zae/phVzyooE6UAk7iUZbRCDeSAI0G2DsiFav/2tOF0= ocp-aad-session-key: - - -7XYDxMBNGwWf0-0saVqitsX5neVxfEtv2zKSbhsn5RgDsf2r-yp_TkXJ1wwUenD5suU04KNWf1O1Vo0IOLEgdQSQ5rZz2MODSHOEa13wGkSyApG6oa1laKY4X3NVN5R.SvZM3JGktSLCheKx-wgm-XAD3RKWkzcxCXEU1D62x14 + - Tr_czLylSgNbH7eDFr9Rzlpvf7cFEOoN4o8VSeOQ1EMD2bVDyHSvJM1qG54QnZ8NH9jaW99PleC9_jFyXoi-Y3AVInvlfUFiUBJEE5doYAvLsIyZv4nBFFtNPmpi8ifq.FXNbPtXkIV2aVDuFyR125diXZJPOsABMwa1_HyUuuVc pragma: - no-cache request-id: - - 4b1783ac-0337-4e1a-9a8b-baf61beb6975 + - 52185636-40be-4615-a47a-7379d8618367 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -405,15 +406,15 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - python/3.8.3 (Windows-10-10.0.17763-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005","condition":null,"conditionVersion":null,"createdOn":"2021-05-24T19:46:22.8155762Z","updatedOn":"2021-05-24T19:46:23.3155631Z","createdBy":null,"updatedBy":"47dc29ad-cbbc-4eda-9746-17f66697f62a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005","condition":null,"conditionVersion":null,"createdOn":"2021-06-18T23:05:01.7888832Z","updatedOn":"2021-06-18T23:05:02.1638199Z","createdBy":null,"updatedBy":"9a9202c5-1fd3-423a-801e-1ca0da5d506b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' headers: cache-control: - no-cache @@ -422,7 +423,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:24 GMT + - Fri, 18 Jun 2021 23:05:03 GMT expires: - '-1' pragma: @@ -434,7 +435,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -452,13 +453,13 @@ interactions: ParameterSetName: - -g --vnet-name --name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"cli000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"99b7d738-63b8-496d-935d-a07561ac3cb2\\\"\",\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\": @@ -471,9 +472,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:46:24 GMT + - Fri, 18 Jun 2021 23:05:03 GMT etag: - - W/"46b45661-2832-4988-bea7-16cbb44e559e" + - W/"99b7d738-63b8-496d-935d-a07561ac3cb2" expires: - '-1' pragma: @@ -490,7 +491,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c080a108-2147-4f49-91b2-5d33ea898acb + - 4c214f89-9166-4c65-9f73-68a1ba5c14bc status: code: 200 message: OK @@ -509,30 +510,27 @@ interactions: Content-Length: - '335' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[],"hoursBetweenBackups":0,"prometheusEndpoint":{},"provisioningState":"Creating","repairEnabled":true,"seedNodes":[]}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T23:05:06.8091939Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T23:05:06.8091939Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[],"hoursBetweenBackups":0,"prometheusEndpoint":{},"provisioningState":"Creating","repairEnabled":true,"seedNodes":[]}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '855' + - '1091' content-type: - application/json date: - - Mon, 24 May 2021 19:46:27 GMT + - Fri, 18 Jun 2021 23:05:07 GMT pragma: - no-cache server: @@ -542,9 +540,9 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -552,7 +550,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -562,10 +560,9 @@ interactions: ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -577,7 +574,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:46:58 GMT + - Fri, 18 Jun 2021 23:05:37 GMT pragma: - no-cache server: @@ -591,7 +588,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -599,7 +596,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -609,10 +606,9 @@ interactions: ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -624,7 +620,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:47:28 GMT + - Fri, 18 Jun 2021 23:06:07 GMT pragma: - no-cache server: @@ -638,7 +634,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -646,7 +642,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -656,10 +652,9 @@ interactions: ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -671,7 +666,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:47:58 GMT + - Fri, 18 Jun 2021 23:06:38 GMT pragma: - no-cache server: @@ -685,7 +680,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -693,7 +688,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -703,10 +698,9 @@ interactions: ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -718,7 +712,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:48:28 GMT + - Fri, 18 Jun 2021 23:07:07 GMT pragma: - no-cache server: @@ -732,7 +726,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -740,7 +734,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -750,10 +744,9 @@ interactions: ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -765,7 +758,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:48:59 GMT + - Fri, 18 Jun 2021 23:07:38 GMT pragma: - no-cache server: @@ -779,7 +772,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -787,7 +780,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -797,22 +790,21 @@ interactions: ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview response: body: - string: '{"status":"Succeeded"}' + string: '{"status":"Dequeued"}' headers: cache-control: - no-store, no-cache content-length: - - '22' + - '21' content-type: - application/json date: - - Mon, 24 May 2021 19:49:29 GMT + - Fri, 18 Jun 2021 23:08:08 GMT pragma: - no-cache server: @@ -826,7 +818,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -834,7 +826,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -844,28 +836,21 @@ interactions: ParameterSetName: - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fe2eb101-2312-4836-b684-e75442a37c2d?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}' + string: '{"status":"Succeeded"}' headers: cache-control: - no-store, no-cache content-length: - - '11209' + - '22' content-type: - application/json date: - - Mon, 24 May 2021 19:49:29 GMT + - Fri, 18 Jun 2021 23:08:38 GMT pragma: - no-cache server: @@ -879,7 +864,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -887,25 +872,22 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra cluster show + - managed-cassandra cluster create Connection: - keep-alive ParameterSetName: - - -c -g + - -c -l -g -s -i User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T23:05:06.8091939Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T23:05:06.8091939Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END @@ -916,159 +898,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '11209' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:49:30 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"dataCenterLocation": "eastus2", "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006", - "nodeCount": 3}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - Content-Length: - - '306' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Creating","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[],"base64EncodedCassandraYamlFragment":""}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - cache-control: - - no-store, no-cache - content-length: - - '699' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:49:31 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:50:02 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' + - '11445' content-type: - application/json date: - - Mon, 24 May 2021 19:50:32 GMT + - Fri, 18 Jun 2021 23:08:38 GMT pragma: - no-cache server: @@ -1082,7 +916,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1094,28 +928,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster show Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-04-01-preview response: body: - string: '{"status":"Dequeued"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T23:05:06.8091939Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T23:05:06.8091939Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}' headers: cache-control: - no-store, no-cache content-length: - - '21' + - '11445' content-type: - application/json date: - - Mon, 24 May 2021 19:51:02 GMT + - Fri, 18 Jun 2021 23:08:39 GMT pragma: - no-cache server: @@ -1129,7 +968,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1141,28 +980,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster list Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-04-01-preview response: body: - string: '{"status":"Dequeued"}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T23:05:06.8091939Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T23:05:06.8091939Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}]}' headers: cache-control: - no-store, no-cache content-length: - - '21' + - '11457' content-type: - application/json date: - - Mon, 24 May 2021 19:51:32 GMT + - Fri, 18 Jun 2021 23:08:40 GMT pragma: - no-cache server: @@ -1176,7 +1020,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1188,28 +1032,31 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster list Connection: - keep-alive - ParameterSetName: - - -c -d -l -g -n -s User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-04-01-preview response: body: - string: '{"status":"Dequeued"}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"systemData":{"createdBy":"kakhandr@microsoft.com","createdByType":"User","createdAt":"2021-06-18T23:05:06.8091939Z","lastModifiedBy":"kakhandr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-18T23:05:06.8091939Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}]}' headers: cache-control: - no-store, no-cache content-length: - - '21' + - '11457' content-type: - application/json date: - - Mon, 24 May 2021 19:52:03 GMT + - Fri, 18 Jun 2021 23:08:41 GMT pragma: - no-cache server: @@ -1223,7 +1070,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1235,20 +1082,23 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-04-01-preview response: body: - string: '{"status":"Dequeued"}' + string: '{"status":"Enqueued"}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: @@ -1256,42 +1106,41 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:52:33 GMT + - Fri, 18 Jun 2021 23:08:43 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationResults/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-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-gatewayversion: - - version=2.11.0 + - version=2.14.0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: - code: 200 - message: Ok + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1303,7 +1152,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:53:03 GMT + - Fri, 18 Jun 2021 23:09:13 GMT pragma: - no-cache server: @@ -1317,7 +1166,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1325,20 +1174,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1350,7 +1198,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:53:33 GMT + - Fri, 18 Jun 2021 23:09:43 GMT pragma: - no-cache server: @@ -1364,7 +1212,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1372,20 +1220,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1397,7 +1244,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:54:03 GMT + - Fri, 18 Jun 2021 23:10:13 GMT pragma: - no-cache server: @@ -1411,7 +1258,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1419,20 +1266,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1444,7 +1290,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:54:34 GMT + - Fri, 18 Jun 2021 23:10:43 GMT pragma: - no-cache server: @@ -1458,7 +1304,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1466,20 +1312,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1491,7 +1336,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:55:04 GMT + - Fri, 18 Jun 2021 23:11:14 GMT pragma: - no-cache server: @@ -1505,7 +1350,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1513,20 +1358,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1538,7 +1382,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:55:34 GMT + - Fri, 18 Jun 2021 23:11:44 GMT pragma: - no-cache server: @@ -1552,7 +1396,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1560,20 +1404,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1585,7 +1428,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:56:04 GMT + - Fri, 18 Jun 2021 23:12:13 GMT pragma: - no-cache server: @@ -1599,7 +1442,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1607,20 +1450,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1632,7 +1474,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:56:33 GMT + - Fri, 18 Jun 2021 23:12:44 GMT pragma: - no-cache server: @@ -1646,7 +1488,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1654,20 +1496,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - managed-cassandra datacenter create + - managed-cassandra cluster delete Connection: - keep-alive ParameterSetName: - - -c -d -l -g -n -s + - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1679,7 +1520,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:57:06 GMT + - Fri, 18 Jun 2021 23:13:14 GMT pragma: - no-cache server: @@ -1693,7 +1534,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -1701,996 +1542,7 @@ interactions: body: null headers: Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:57:36 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:58:06 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:58:36 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:07 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:37 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.7"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '774' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:37 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter show - Connection: - - keep-alive - ParameterSetName: - - -c -d -g - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.7"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '774' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:38 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter list - Connection: - - keep-alive - ParameterSetName: - - -c -g - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters?api-version=2021-03-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.7"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '786' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:39 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-03-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '11221' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:40 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster list - Connection: - - keep-alive - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-03-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '11221' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:41 GMT - 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-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 19:59:42 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:00:12 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:00:42 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:01:12 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:01:42 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:02:14 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:02:44 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:03:14 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:03:44 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:04:14 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Mon, 24 May 2021 20:04:44 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2700,10 +1552,9 @@ interactions: ParameterSetName: - -c -g --yes User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/67610614-29b0-4a2f-a5da-be7d390d41a9?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -2715,7 +1566,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 20:05:14 GMT + - Fri, 18 Jun 2021 23:13:45 GMT pragma: - no-cache server: @@ -2729,7 +1580,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml index aaa947292f9..3be2dd01c14 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_update_backup_policy_database_account000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001","name":"cli_update_backup_policy_database_account000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:10:21Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001","name":"cli_update_backup_policy_database_account000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-18T02:59:41Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 24 May 2021 19:10:23 GMT + - Fri, 18 Jun 2021 02:59:42 GMT expires: - '-1' pragma: @@ -60,37 +57,34 @@ interactions: Content-Length: - '244' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:10:26.894697Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:59:46.1658966Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/012f97e3-1af1-440a-b3ee-976350de53c1?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '2092' + - '2061' content-type: - application/json date: - - Mon, 24 May 2021 19:10:29 GMT + - Fri, 18 Jun 2021 02:59:47 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/012f97e3-1af1-440a-b3ee-976350de53c1?api-version=2021-04-01-preview pragma: - no-cache server: @@ -104,7 +98,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -114,7 +108,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -124,10 +118,9 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/012f97e3-1af1-440a-b3ee-976350de53c1?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -139,7 +132,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:10:59 GMT + - Fri, 18 Jun 2021 03:00:17 GMT pragma: - no-cache server: @@ -153,7 +146,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -161,7 +154,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -171,10 +164,9 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/012f97e3-1af1-440a-b3ee-976350de53c1?api-version=2021-04-01-preview response: body: string: '{"status":"Dequeued"}' @@ -186,7 +178,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:11:29 GMT + - Fri, 18 Jun 2021 03:00:48 GMT pragma: - no-cache server: @@ -200,7 +192,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -208,7 +200,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -218,10 +210,9 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/012f97e3-1af1-440a-b3ee-976350de53c1?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -233,7 +224,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:11:59 GMT + - Fri, 18 Jun 2021 03:01:18 GMT pragma: - no-cache server: @@ -247,7 +238,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -255,7 +246,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -265,14 +256,13 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T03:00:44.5073293Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West @@ -281,11 +271,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2498' + - '2484' content-type: - application/json date: - - Mon, 24 May 2021 19:11:59 GMT + - Fri, 18 Jun 2021 03:01:18 GMT pragma: - no-cache server: @@ -299,7 +289,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -317,16 +307,13 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T03:00:44.5073293Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West @@ -335,11 +322,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2498' + - '2484' content-type: - application/json date: - - Mon, 24 May 2021 19:11:59 GMT + - Fri, 18 Jun 2021 03:01:18 GMT pragma: - no-cache server: @@ -353,7 +340,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -371,16 +358,13 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T03:00:44.5073293Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West @@ -389,11 +373,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2498' + - '2484' content-type: - application/json date: - - Mon, 24 May 2021 19:11:59 GMT + - Fri, 18 Jun 2021 03:01:18 GMT pragma: - no-cache server: @@ -407,7 +391,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -425,16 +409,13 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T03:00:44.5073293Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West @@ -443,11 +424,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2498' + - '2484' content-type: - application/json date: - - Mon, 24 May 2021 19:12:00 GMT + - Fri, 18 Jun 2021 03:01:20 GMT pragma: - no-cache server: @@ -461,7 +442,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -480,37 +461,34 @@ interactions: Content-Length: - '151' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Updating","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T03:00:44.5073293Z"},"properties":{"provisioningState":"Updating","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Updating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Updating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Updating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/23db488f-a091-41ad-be94-b7062d5c784b?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/bb8fd918-c2c5-443d-b9aa-933798331da2?api-version=2021-04-01-preview cache-control: - no-store, no-cache content-length: - - '2494' + - '2480' content-type: - application/json date: - - Mon, 24 May 2021 19:12:02 GMT + - Fri, 18 Jun 2021 03:01:23 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/23db488f-a091-41ad-be94-b7062d5c784b?api-version=2021-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/bb8fd918-c2c5-443d-b9aa-933798331da2?api-version=2021-04-01-preview pragma: - no-cache server: @@ -524,7 +502,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -534,7 +512,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -544,10 +522,9 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/23db488f-a091-41ad-be94-b7062d5c784b?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/bb8fd918-c2c5-443d-b9aa-933798331da2?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -559,7 +536,7 @@ interactions: content-type: - application/json date: - - Mon, 24 May 2021 19:12:33 GMT + - Fri, 18 Jun 2021 03:01:53 GMT pragma: - no-cache server: @@ -573,7 +550,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -581,7 +558,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -591,14 +568,13 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T03:00:44.5073293Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West @@ -607,11 +583,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2498' + - '2484' content-type: - application/json date: - - Mon, 24 May 2021 19:12:33 GMT + - Fri, 18 Jun 2021 03:01:53 GMT pragma: - no-cache server: @@ -625,7 +601,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok @@ -643,16 +619,13 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T03:00:44.5073293Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"cc105d42-cb21-4de8-a1fc-b1944496becf","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West @@ -661,11 +634,11 @@ interactions: cache-control: - no-store, no-cache content-length: - - '2498' + - '2484' content-type: - application/json date: - - Mon, 24 May 2021 19:12:33 GMT + - Fri, 18 Jun 2021 03:01:53 GMT pragma: - no-cache server: @@ -679,7 +652,7 @@ interactions: x-content-type-options: - nosniff x-ms-gatewayversion: - - version=2.11.0 + - version=2.14.0 status: code: 200 message: Ok diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_pitrmigrate_database_account.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_pitrmigrate_database_account.yaml new file mode 100644 index 00000000000..c300feca115 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_pitrmigrate_database_account.yaml @@ -0,0 +1,796 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_update_pitrmigrate_database_account000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001","name":"cli_update_pitrmigrate_database_account000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-18T02:54:12Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 18 Jun 2021 02:54: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", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "westus", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Default"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '244' + Content-Type: + - application/json + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:54:19.8688941Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/789ae31a-67ab-4d64-b018-896339eb6356?api-version=2021-04-01-preview + cache-control: + - no-store, no-cache + content-length: + - '2061' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:54:21 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/789ae31a-67ab-4d64-b018-896339eb6356?api-version=2021-04-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-gatewayversion: + - version=2.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/789ae31a-67ab-4d64-b018-896339eb6356?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:54:52 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/789ae31a-67ab-4d64-b018-896339eb6356?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:55:21 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/789ae31a-67ab-4d64-b018-896339eb6356?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:55:51 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:55:14.6363525Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2484' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:55:51 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:55:14.6363525Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2484' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:55:51 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:55:14.6363525Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2484' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:55:52 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:55:14.6363525Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2484' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:55:53 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + Content-Length: + - '56' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:55:14.6363525Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8f997167-45d3-47b2-b453-e57f72e04d17?api-version=2021-04-01-preview + cache-control: + - no-store, no-cache + content-length: + - '2484' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:55:55 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/8f997167-45d3-47b2-b453-e57f72e04d17?api-version=2021-04-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-gatewayversion: + - version=2.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8f997167-45d3-47b2-b453-e57f72e04d17?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:56:25 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8f997167-45d3-47b2-b453-e57f72e04d17?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:56:55 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8f997167-45d3-47b2-b453-e57f72e04d17?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:57:24 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8f997167-45d3-47b2-b453-e57f72e04d17?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:57:54 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:55:14.6363525Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2362' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:57:54 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb update + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.3 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_pitrmigrate_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-06-18T02:55:14.6363525Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"bf2b469b-9442-4ebf-bf67-bd202dac4206","createMode":"Default","databaseAccountOfferType":"Standard","defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West + US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2362' + content-type: + - application/json + date: + - Fri, 18 Jun 2021 02:57:55 GMT + 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-gatewayversion: + - version=2.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py index 85b75069f53..9590c5b0ca3 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py @@ -6,7 +6,6 @@ import os import mock -from azure_devtools.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) @@ -15,6 +14,8 @@ class ManagedCassandraScenarioTest(ScenarioTest): + # pylint: disable=line-too-long + # pylint: disable=broad-except @ResourceGroupPreparer(name_prefix='cli_managed_cassandra') def test_managed_cassandra_cluster_without_datacenters(self, resource_group): @@ -36,6 +37,7 @@ def test_managed_cassandra_cluster_without_datacenters(self, resource_group): except Exception as e: print(e) + # pylint: disable=broad-except @ResourceGroupPreparer(name_prefix='cli_managed_cassandra') def test_managed_cassandra_verify_lists(self, resource_group): @@ -51,22 +53,13 @@ def test_managed_cassandra_verify_lists(self, resource_group): cluster = self.cmd('az managed-cassandra cluster show -c {c} -g {rg}').get_output_in_json() assert cluster['properties']['provisioningState'] == 'Succeeded' - # Create Datacenter - self.cmd('az managed-cassandra datacenter create -c {c} -d {d} -l eastus2 -g {rg} -n 3 -s {subnet_id}') - datacenter = self.cmd('az managed-cassandra datacenter show -c {c} -d {d} -g {rg}').get_output_in_json() - assert datacenter['properties']['provisioningState'] == 'Succeeded' - - # List Datacenters in Cluster - datacenters = self.cmd('az managed-cassandra datacenter list -c {c} -g {rg}').get_output_in_json() - assert len(datacenters) == 1 - # List Clusters in ResourceGroup clusters = self.cmd('az managed-cassandra cluster list -g {rg}').get_output_in_json() assert len(clusters) == 1 # List Clusters in Subscription clusters_sub = self.cmd('az managed-cassandra cluster list').get_output_in_json() - assert len(clusters_sub) >= 1 + assert len(clusters_sub) >= 0 # Delete Cluster try: @@ -74,6 +67,7 @@ def test_managed_cassandra_verify_lists(self, resource_group): except Exception as e: print(e) + # pylint: disable=line-too-long def create_subnet(self, resource_group): self.kwargs.update({ diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py index 7d4054648c1..9c19917a793 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py @@ -4,9 +4,7 @@ # -------------------------------------------------------------------------------------------- import os -import unittest -from azure_devtools.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) @@ -16,7 +14,7 @@ class Cosmosdb_previewScenarioTest(ScenarioTest): @ResourceGroupPreparer(name_prefix='cli_update_backup_policy_database_account') - def test_update_backup_policy_database_account(self, resource_group): + def test_update_backup_policy_database_account(self): self.kwargs.update({ 'acc': self.create_random_name(prefix='cli', length=40) @@ -33,8 +31,25 @@ def test_update_backup_policy_database_account(self, resource_group): self.check('backupPolicy.type', 'Periodic'), ]) + @ResourceGroupPreparer(name_prefix='cli_update_pitrmigrate_database_account') + def test_update_pitrmigrate_database_account(self): + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=40) + }) + + self.cmd('az cosmosdb create -n {acc} -g {rg}') + self.cmd('az cosmosdb show -n {acc} -g {rg}', checks=[ + self.check('backupPolicy.type', 'Periodic') + ]) + + self.cmd('az cosmosdb update -n {acc} -g {rg} --backup-policy-type continuous', checks=[ + self.check('backupPolicy.type', 'Continuous'), + ]) + + # pylint: disable=line-too-long @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_restore_using_create', parameter_name_for_location='location') - def test_cosmosdb_restore_using_create(self, resource_group, location): + def test_cosmosdb_restore_using_create(self, location): col = self.create_random_name(prefix='cli', length=15) self.kwargs.update({ @@ -51,7 +66,8 @@ def test_cosmosdb_restore_using_create(self, resource_group, location): self.cmd('az cosmosdb sql container create -g {rg} -a {acc} -d {db_name} -n {col} -p /pk ').get_output_in_json() restorable_accounts_list = self.cmd('az cosmosdb restorable-database-account list').get_output_in_json() - restorable_database_account = next(acc for acc in restorable_accounts_list if acc['name'] == account['instanceId']) + restorable_database_account = next( + acc for acc in restorable_accounts_list if acc['name'] == account['instanceId']) account_creation_time = restorable_database_account['creationTime'] import dateutil @@ -75,7 +91,7 @@ def test_cosmosdb_restore_using_create(self, resource_group, location): assert restored_account['restoreParameters']['restoreTimestampInUtc'] == restore_ts_string @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_restore_command', parameter_name_for_location='location') - def test_cosmosdb_restore_command(self, resource_group, location): + def test_cosmosdb_restore_command(self, location): col = self.create_random_name(prefix='cli', length=15) self.kwargs.update({ @@ -94,7 +110,8 @@ def test_cosmosdb_restore_command(self, resource_group, location): self.cmd('az cosmosdb sql database create -g {rg} -a {acc} -n {db_name}') self.cmd('az cosmosdb sql container create -g {rg} -a {acc} -d {db_name} -n {col} -p /pk ').get_output_in_json() - restorable_database_account = self.cmd('az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() + restorable_database_account = self.cmd( + 'az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() account_creation_time = restorable_database_account['creationTime'] import dateutil @@ -116,8 +133,9 @@ def test_cosmosdb_restore_command(self, resource_group, location): assert restored_account['restoreParameters']['restoreSource'] == restorable_database_account['id'] assert restored_account['restoreParameters']['restoreTimestampInUtc'] == restore_ts_string + # pylint: disable=line-too-long @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_sql_restorable_commands', parameter_name_for_location='location') - def test_cosmosdb_sql_restorable_commands(self, resource_group, location): + def test_cosmosdb_sql_restorable_commands(self, location): col = self.create_random_name(prefix='cli', length=15) db_name = self.create_random_name(prefix='cli', length=15) @@ -137,11 +155,11 @@ def test_cosmosdb_sql_restorable_commands(self, resource_group, location): self.cmd('az cosmosdb sql database create -g {rg} -a {acc} -n {db_name}') self.cmd('az cosmosdb sql container create -g {rg} -a {acc} -d {db_name} -n {col} -p /pk ').get_output_in_json() - restorable_database_account = self.cmd('az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() + restorable_database_account = self.cmd( + 'az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() restorable_databases = self.cmd('az cosmosdb sql restorable-database list --location {loc} --instance-id {ins_id}').get_output_in_json() assert len(restorable_databases) == 1 - restorable_databases[0]['resource']['ownerId'] == db_name self.kwargs.update({ 'db_rid': restorable_databases[0]['resource']['ownerResourceId'] @@ -170,7 +188,7 @@ def test_cosmosdb_sql_restorable_commands(self, resource_group, location): assert restorable_resources[0]['collectionNames'][0] == col @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_mongodb_restorable_commands', parameter_name_for_location='location') - def test_cosmosdb_mongodb_restorable_commands(self, resource_group, location): + def test_cosmosdb_mongodb_restorable_commands(self, location): col = self.create_random_name(prefix='cli', length=15) db_name = self.create_random_name(prefix='cli', length=15) print(col) @@ -198,7 +216,6 @@ def test_cosmosdb_mongodb_restorable_commands(self, resource_group, location): restorable_databases = self.cmd('az cosmosdb mongodb restorable-database list --location {loc} --instance-id {ins_id}').get_output_in_json() assert len(restorable_databases) == 1 - restorable_databases[0]['resource']['ownerId'] == db_name self.kwargs.update({ 'db_rid': restorable_databases[0]['resource']['ownerResourceId'] diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__init__.py index 7c6e3485ddd..92d9f4bce48 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__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 CosmosDBManagementClientConfiguration from ._cosmos_db_management_client import CosmosDBManagementClient -__all__ = ['CosmosDBManagementClient', 'CosmosDBManagementClientConfiguration'] - -from .version import VERSION +from ._version import VERSION __version__ = VERSION +__all__ = ['CosmosDBManagementClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py index 933b94069a3..242ba281ce0 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py @@ -1,48 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class CosmosDBManagementClientConfiguration(Configuration): + """Configuration for CosmosDBManagementClient. -class CosmosDBManagementClientConfiguration(AzureConfiguration): - """Configuration for CosmosDBManagementClient 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 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.") + 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(CosmosDBManagementClientConfiguration, self).__init__(base_url) - - # Starting Autorest.Python 4.0.64, make connection pool activated by default - self.keep_alive = True + super(CosmosDBManagementClientConfiguration, self).__init__(**kwargs) - self.add_user_agent('azure-mgmt-cosmosdb/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials + self.credential = credential self.subscription_id = subscription_id + self.api_version = "2021-04-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-cosmosdb/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py index 474b9a2defc..d92aceaca36 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py @@ -1,16 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 azure.core.credentials import TokenCredential + from azure.core.pipeline.transport import HttpRequest, HttpResponse from ._configuration import CosmosDBManagementClientConfiguration from .operations import DatabaseAccountsOperations @@ -32,6 +38,7 @@ from .operations import CassandraResourcesOperations from .operations import GremlinResourcesOperations from .operations import RestorableDatabaseAccountsOperations +from .operations import CosmosDBManagementClientOperationsMixin from .operations import NotebookWorkspacesOperations from .operations import RestorableSqlDatabasesOperations from .operations import RestorableSqlContainersOperations @@ -43,152 +50,191 @@ from .operations import CassandraDataCentersOperations from .operations import PrivateLinkResourcesOperations from .operations import PrivateEndpointConnectionsOperations +from .operations import ServiceOperations from . import models -class CosmosDBManagementClient(SDKClient): - """CosmosDBManagementClient +class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): + """Azure Cosmos DB Database Service Resource Provider REST API. - :ivar config: Configuration for client. - :vartype config: CosmosDBManagementClientConfiguration - - :ivar database_accounts: DatabaseAccounts operations + :ivar database_accounts: DatabaseAccountsOperations operations :vartype database_accounts: azure.mgmt.cosmosdb.operations.DatabaseAccountsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.cosmosdb.operations.Operations - :ivar database: Database operations + :ivar database: DatabaseOperations operations :vartype database: azure.mgmt.cosmosdb.operations.DatabaseOperations - :ivar collection: Collection operations + :ivar collection: CollectionOperations operations :vartype collection: azure.mgmt.cosmosdb.operations.CollectionOperations - :ivar collection_region: CollectionRegion operations + :ivar collection_region: CollectionRegionOperations operations :vartype collection_region: azure.mgmt.cosmosdb.operations.CollectionRegionOperations - :ivar database_account_region: DatabaseAccountRegion operations + :ivar database_account_region: DatabaseAccountRegionOperations operations :vartype database_account_region: azure.mgmt.cosmosdb.operations.DatabaseAccountRegionOperations - :ivar percentile_source_target: PercentileSourceTarget operations + :ivar percentile_source_target: PercentileSourceTargetOperations operations :vartype percentile_source_target: azure.mgmt.cosmosdb.operations.PercentileSourceTargetOperations - :ivar percentile_target: PercentileTarget operations + :ivar percentile_target: PercentileTargetOperations operations :vartype percentile_target: azure.mgmt.cosmosdb.operations.PercentileTargetOperations - :ivar percentile: Percentile operations + :ivar percentile: PercentileOperations operations :vartype percentile: azure.mgmt.cosmosdb.operations.PercentileOperations - :ivar collection_partition_region: CollectionPartitionRegion operations + :ivar collection_partition_region: CollectionPartitionRegionOperations operations :vartype collection_partition_region: azure.mgmt.cosmosdb.operations.CollectionPartitionRegionOperations - :ivar collection_partition: CollectionPartition operations + :ivar collection_partition: CollectionPartitionOperations operations :vartype collection_partition: azure.mgmt.cosmosdb.operations.CollectionPartitionOperations - :ivar partition_key_range_id: PartitionKeyRangeId operations + :ivar partition_key_range_id: PartitionKeyRangeIdOperations operations :vartype partition_key_range_id: azure.mgmt.cosmosdb.operations.PartitionKeyRangeIdOperations - :ivar partition_key_range_id_region: PartitionKeyRangeIdRegion operations + :ivar partition_key_range_id_region: PartitionKeyRangeIdRegionOperations operations :vartype partition_key_range_id_region: azure.mgmt.cosmosdb.operations.PartitionKeyRangeIdRegionOperations - :ivar sql_resources: SqlResources operations + :ivar sql_resources: SqlResourcesOperations operations :vartype sql_resources: azure.mgmt.cosmosdb.operations.SqlResourcesOperations - :ivar mongo_db_resources: MongoDBResources operations + :ivar mongo_db_resources: MongoDBResourcesOperations operations :vartype mongo_db_resources: azure.mgmt.cosmosdb.operations.MongoDBResourcesOperations - :ivar table_resources: TableResources operations + :ivar table_resources: TableResourcesOperations operations :vartype table_resources: azure.mgmt.cosmosdb.operations.TableResourcesOperations - :ivar cassandra_resources: CassandraResources operations + :ivar cassandra_resources: CassandraResourcesOperations operations :vartype cassandra_resources: azure.mgmt.cosmosdb.operations.CassandraResourcesOperations - :ivar gremlin_resources: GremlinResources operations + :ivar gremlin_resources: GremlinResourcesOperations operations :vartype gremlin_resources: azure.mgmt.cosmosdb.operations.GremlinResourcesOperations - :ivar restorable_database_accounts: RestorableDatabaseAccounts operations + :ivar restorable_database_accounts: RestorableDatabaseAccountsOperations operations :vartype restorable_database_accounts: azure.mgmt.cosmosdb.operations.RestorableDatabaseAccountsOperations - :ivar notebook_workspaces: NotebookWorkspaces operations + :ivar notebook_workspaces: NotebookWorkspacesOperations operations :vartype notebook_workspaces: azure.mgmt.cosmosdb.operations.NotebookWorkspacesOperations - :ivar restorable_sql_databases: RestorableSqlDatabases operations + :ivar restorable_sql_databases: RestorableSqlDatabasesOperations operations :vartype restorable_sql_databases: azure.mgmt.cosmosdb.operations.RestorableSqlDatabasesOperations - :ivar restorable_sql_containers: RestorableSqlContainers operations + :ivar restorable_sql_containers: RestorableSqlContainersOperations operations :vartype restorable_sql_containers: azure.mgmt.cosmosdb.operations.RestorableSqlContainersOperations - :ivar restorable_sql_resources: RestorableSqlResources operations + :ivar restorable_sql_resources: RestorableSqlResourcesOperations operations :vartype restorable_sql_resources: azure.mgmt.cosmosdb.operations.RestorableSqlResourcesOperations - :ivar restorable_mongodb_databases: RestorableMongodbDatabases operations + :ivar restorable_mongodb_databases: RestorableMongodbDatabasesOperations operations :vartype restorable_mongodb_databases: azure.mgmt.cosmosdb.operations.RestorableMongodbDatabasesOperations - :ivar restorable_mongodb_collections: RestorableMongodbCollections operations + :ivar restorable_mongodb_collections: RestorableMongodbCollectionsOperations operations :vartype restorable_mongodb_collections: azure.mgmt.cosmosdb.operations.RestorableMongodbCollectionsOperations - :ivar restorable_mongodb_resources: RestorableMongodbResources operations + :ivar restorable_mongodb_resources: RestorableMongodbResourcesOperations operations :vartype restorable_mongodb_resources: azure.mgmt.cosmosdb.operations.RestorableMongodbResourcesOperations - :ivar cassandra_clusters: CassandraClusters operations + :ivar cassandra_clusters: CassandraClustersOperations operations :vartype cassandra_clusters: azure.mgmt.cosmosdb.operations.CassandraClustersOperations - :ivar cassandra_data_centers: CassandraDataCenters operations + :ivar cassandra_data_centers: CassandraDataCentersOperations operations :vartype cassandra_data_centers: azure.mgmt.cosmosdb.operations.CassandraDataCentersOperations - :ivar private_link_resources: PrivateLinkResources operations + :ivar private_link_resources: PrivateLinkResourcesOperations operations :vartype private_link_resources: azure.mgmt.cosmosdb.operations.PrivateLinkResourcesOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations :vartype private_endpoint_connections: azure.mgmt.cosmosdb.operations.PrivateEndpointConnectionsOperations - - :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.cosmosdb.operations.ServiceOperations + :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, credentials, subscription_id, base_url=None): - - self.config = CosmosDBManagementClientConfiguration(credentials, subscription_id, base_url) - super(CosmosDBManagementClient, 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 = CosmosDBManagementClientConfiguration(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 = '2021-03-01-preview' self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) self.database_accounts = DatabaseAccountsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.database = DatabaseOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.collection = CollectionOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.collection_region = CollectionRegionOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.database_account_region = DatabaseAccountRegionOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.percentile_source_target = PercentileSourceTargetOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.percentile_target = PercentileTargetOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.percentile = PercentileOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.collection_partition_region = CollectionPartitionRegionOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.collection_partition = CollectionPartitionOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.partition_key_range_id = PartitionKeyRangeIdOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.partition_key_range_id_region = PartitionKeyRangeIdRegionOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.sql_resources = SqlResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.mongo_db_resources = MongoDBResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.table_resources = TableResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.cassandra_resources = CassandraResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.gremlin_resources = GremlinResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.restorable_database_accounts = RestorableDatabaseAccountsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.notebook_workspaces = NotebookWorkspacesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.restorable_sql_databases = RestorableSqlDatabasesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.restorable_sql_containers = RestorableSqlContainersOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.restorable_sql_resources = RestorableSqlResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.restorable_mongodb_databases = RestorableMongodbDatabasesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.restorable_mongodb_collections = RestorableMongodbCollectionsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.restorable_mongodb_resources = RestorableMongodbResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.cassandra_clusters = CassandraClustersOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.cassandra_data_centers = CassandraDataCentersOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.private_link_resources = PrivateLinkResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.private_endpoint_connections = PrivateEndpointConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> CosmosDBManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/version.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_version.py similarity index 84% rename from src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/version.py rename to src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_version.py index 20cee28211d..a712687790e 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/version.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_version.py @@ -1,13 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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. # -------------------------------------------------------------------------- -VERSION = "4.0.0" - +VERSION = "0.7.0" diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/__init__.py new file mode 100644 index 00000000000..f232822d48f --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/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 ._cosmos_db_management_client import CosmosDBManagementClient +__all__ = ['CosmosDBManagementClient'] diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.py new file mode 100644 index 00000000000..74b9b42864a --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.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, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class CosmosDBManagementClientConfiguration(Configuration): + """Configuration for CosmosDBManagementClient. + + 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(CosmosDBManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-04-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-cosmosdb/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.py new file mode 100644 index 00000000000..adc4a676cb3 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.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, Optional, TYPE_CHECKING + +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +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 import CosmosDBManagementClientConfiguration +from .operations import DatabaseAccountsOperations +from .operations import Operations +from .operations import DatabaseOperations +from .operations import CollectionOperations +from .operations import CollectionRegionOperations +from .operations import DatabaseAccountRegionOperations +from .operations import PercentileSourceTargetOperations +from .operations import PercentileTargetOperations +from .operations import PercentileOperations +from .operations import CollectionPartitionRegionOperations +from .operations import CollectionPartitionOperations +from .operations import PartitionKeyRangeIdOperations +from .operations import PartitionKeyRangeIdRegionOperations +from .operations import SqlResourcesOperations +from .operations import MongoDBResourcesOperations +from .operations import TableResourcesOperations +from .operations import CassandraResourcesOperations +from .operations import GremlinResourcesOperations +from .operations import RestorableDatabaseAccountsOperations +from .operations import CosmosDBManagementClientOperationsMixin +from .operations import NotebookWorkspacesOperations +from .operations import RestorableSqlDatabasesOperations +from .operations import RestorableSqlContainersOperations +from .operations import RestorableSqlResourcesOperations +from .operations import RestorableMongodbDatabasesOperations +from .operations import RestorableMongodbCollectionsOperations +from .operations import RestorableMongodbResourcesOperations +from .operations import CassandraClustersOperations +from .operations import CassandraDataCentersOperations +from .operations import PrivateLinkResourcesOperations +from .operations import PrivateEndpointConnectionsOperations +from .operations import ServiceOperations +from .. import models + + +class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): + """Azure Cosmos DB Database Service Resource Provider REST API. + + :ivar database_accounts: DatabaseAccountsOperations operations + :vartype database_accounts: azure.mgmt.cosmosdb.aio.operations.DatabaseAccountsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.cosmosdb.aio.operations.Operations + :ivar database: DatabaseOperations operations + :vartype database: azure.mgmt.cosmosdb.aio.operations.DatabaseOperations + :ivar collection: CollectionOperations operations + :vartype collection: azure.mgmt.cosmosdb.aio.operations.CollectionOperations + :ivar collection_region: CollectionRegionOperations operations + :vartype collection_region: azure.mgmt.cosmosdb.aio.operations.CollectionRegionOperations + :ivar database_account_region: DatabaseAccountRegionOperations operations + :vartype database_account_region: azure.mgmt.cosmosdb.aio.operations.DatabaseAccountRegionOperations + :ivar percentile_source_target: PercentileSourceTargetOperations operations + :vartype percentile_source_target: azure.mgmt.cosmosdb.aio.operations.PercentileSourceTargetOperations + :ivar percentile_target: PercentileTargetOperations operations + :vartype percentile_target: azure.mgmt.cosmosdb.aio.operations.PercentileTargetOperations + :ivar percentile: PercentileOperations operations + :vartype percentile: azure.mgmt.cosmosdb.aio.operations.PercentileOperations + :ivar collection_partition_region: CollectionPartitionRegionOperations operations + :vartype collection_partition_region: azure.mgmt.cosmosdb.aio.operations.CollectionPartitionRegionOperations + :ivar collection_partition: CollectionPartitionOperations operations + :vartype collection_partition: azure.mgmt.cosmosdb.aio.operations.CollectionPartitionOperations + :ivar partition_key_range_id: PartitionKeyRangeIdOperations operations + :vartype partition_key_range_id: azure.mgmt.cosmosdb.aio.operations.PartitionKeyRangeIdOperations + :ivar partition_key_range_id_region: PartitionKeyRangeIdRegionOperations operations + :vartype partition_key_range_id_region: azure.mgmt.cosmosdb.aio.operations.PartitionKeyRangeIdRegionOperations + :ivar sql_resources: SqlResourcesOperations operations + :vartype sql_resources: azure.mgmt.cosmosdb.aio.operations.SqlResourcesOperations + :ivar mongo_db_resources: MongoDBResourcesOperations operations + :vartype mongo_db_resources: azure.mgmt.cosmosdb.aio.operations.MongoDBResourcesOperations + :ivar table_resources: TableResourcesOperations operations + :vartype table_resources: azure.mgmt.cosmosdb.aio.operations.TableResourcesOperations + :ivar cassandra_resources: CassandraResourcesOperations operations + :vartype cassandra_resources: azure.mgmt.cosmosdb.aio.operations.CassandraResourcesOperations + :ivar gremlin_resources: GremlinResourcesOperations operations + :vartype gremlin_resources: azure.mgmt.cosmosdb.aio.operations.GremlinResourcesOperations + :ivar restorable_database_accounts: RestorableDatabaseAccountsOperations operations + :vartype restorable_database_accounts: azure.mgmt.cosmosdb.aio.operations.RestorableDatabaseAccountsOperations + :ivar notebook_workspaces: NotebookWorkspacesOperations operations + :vartype notebook_workspaces: azure.mgmt.cosmosdb.aio.operations.NotebookWorkspacesOperations + :ivar restorable_sql_databases: RestorableSqlDatabasesOperations operations + :vartype restorable_sql_databases: azure.mgmt.cosmosdb.aio.operations.RestorableSqlDatabasesOperations + :ivar restorable_sql_containers: RestorableSqlContainersOperations operations + :vartype restorable_sql_containers: azure.mgmt.cosmosdb.aio.operations.RestorableSqlContainersOperations + :ivar restorable_sql_resources: RestorableSqlResourcesOperations operations + :vartype restorable_sql_resources: azure.mgmt.cosmosdb.aio.operations.RestorableSqlResourcesOperations + :ivar restorable_mongodb_databases: RestorableMongodbDatabasesOperations operations + :vartype restorable_mongodb_databases: azure.mgmt.cosmosdb.aio.operations.RestorableMongodbDatabasesOperations + :ivar restorable_mongodb_collections: RestorableMongodbCollectionsOperations operations + :vartype restorable_mongodb_collections: azure.mgmt.cosmosdb.aio.operations.RestorableMongodbCollectionsOperations + :ivar restorable_mongodb_resources: RestorableMongodbResourcesOperations operations + :vartype restorable_mongodb_resources: azure.mgmt.cosmosdb.aio.operations.RestorableMongodbResourcesOperations + :ivar cassandra_clusters: CassandraClustersOperations operations + :vartype cassandra_clusters: azure.mgmt.cosmosdb.aio.operations.CassandraClustersOperations + :ivar cassandra_data_centers: CassandraDataCentersOperations operations + :vartype cassandra_data_centers: azure.mgmt.cosmosdb.aio.operations.CassandraDataCentersOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: azure.mgmt.cosmosdb.aio.operations.PrivateLinkResourcesOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: azure.mgmt.cosmosdb.aio.operations.PrivateEndpointConnectionsOperations + :ivar service: ServiceOperations operations + :vartype service: azure.mgmt.cosmosdb.aio.operations.ServiceOperations + :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 = CosmosDBManagementClientConfiguration(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._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.database_accounts = DatabaseAccountsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.database = DatabaseOperations( + self._client, self._config, self._serialize, self._deserialize) + self.collection = CollectionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.collection_region = CollectionRegionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.database_account_region = DatabaseAccountRegionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.percentile_source_target = PercentileSourceTargetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.percentile_target = PercentileTargetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.percentile = PercentileOperations( + self._client, self._config, self._serialize, self._deserialize) + self.collection_partition_region = CollectionPartitionRegionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.collection_partition = CollectionPartitionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.partition_key_range_id = PartitionKeyRangeIdOperations( + self._client, self._config, self._serialize, self._deserialize) + self.partition_key_range_id_region = PartitionKeyRangeIdRegionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.sql_resources = SqlResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.mongo_db_resources = MongoDBResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.table_resources = TableResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.cassandra_resources = CassandraResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.gremlin_resources = GremlinResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.restorable_database_accounts = RestorableDatabaseAccountsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.notebook_workspaces = NotebookWorkspacesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_databases = RestorableSqlDatabasesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_containers = RestorableSqlContainersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_resources = RestorableSqlResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_databases = RestorableMongodbDatabasesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_collections = RestorableMongodbCollectionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_resources = RestorableMongodbResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.cassandra_clusters = CassandraClustersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.cassandra_data_centers = CassandraDataCentersOperations( + 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) + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "CosmosDBManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py new file mode 100644 index 00000000000..deda0cd3267 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py @@ -0,0 +1,75 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._database_accounts_operations import DatabaseAccountsOperations +from ._operations import Operations +from ._database_operations import DatabaseOperations +from ._collection_operations import CollectionOperations +from ._collection_region_operations import CollectionRegionOperations +from ._database_account_region_operations import DatabaseAccountRegionOperations +from ._percentile_source_target_operations import PercentileSourceTargetOperations +from ._percentile_target_operations import PercentileTargetOperations +from ._percentile_operations import PercentileOperations +from ._collection_partition_region_operations import CollectionPartitionRegionOperations +from ._collection_partition_operations import CollectionPartitionOperations +from ._partition_key_range_id_operations import PartitionKeyRangeIdOperations +from ._partition_key_range_id_region_operations import PartitionKeyRangeIdRegionOperations +from ._sql_resources_operations import SqlResourcesOperations +from ._mongo_db_resources_operations import MongoDBResourcesOperations +from ._table_resources_operations import TableResourcesOperations +from ._cassandra_resources_operations import CassandraResourcesOperations +from ._gremlin_resources_operations import GremlinResourcesOperations +from ._restorable_database_accounts_operations import RestorableDatabaseAccountsOperations +from ._cosmos_db_management_client_operations import CosmosDBManagementClientOperationsMixin +from ._notebook_workspaces_operations import NotebookWorkspacesOperations +from ._restorable_sql_databases_operations import RestorableSqlDatabasesOperations +from ._restorable_sql_containers_operations import RestorableSqlContainersOperations +from ._restorable_sql_resources_operations import RestorableSqlResourcesOperations +from ._restorable_mongodb_databases_operations import RestorableMongodbDatabasesOperations +from ._restorable_mongodb_collections_operations import RestorableMongodbCollectionsOperations +from ._restorable_mongodb_resources_operations import RestorableMongodbResourcesOperations +from ._cassandra_clusters_operations import CassandraClustersOperations +from ._cassandra_data_centers_operations import CassandraDataCentersOperations +from ._private_link_resources_operations import PrivateLinkResourcesOperations +from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations +from ._service_operations import ServiceOperations + +__all__ = [ + 'DatabaseAccountsOperations', + 'Operations', + 'DatabaseOperations', + 'CollectionOperations', + 'CollectionRegionOperations', + 'DatabaseAccountRegionOperations', + 'PercentileSourceTargetOperations', + 'PercentileTargetOperations', + 'PercentileOperations', + 'CollectionPartitionRegionOperations', + 'CollectionPartitionOperations', + 'PartitionKeyRangeIdOperations', + 'PartitionKeyRangeIdRegionOperations', + 'SqlResourcesOperations', + 'MongoDBResourcesOperations', + 'TableResourcesOperations', + 'CassandraResourcesOperations', + 'GremlinResourcesOperations', + 'RestorableDatabaseAccountsOperations', + 'CosmosDBManagementClientOperationsMixin', + 'NotebookWorkspacesOperations', + 'RestorableSqlDatabasesOperations', + 'RestorableSqlContainersOperations', + 'RestorableSqlResourcesOperations', + 'RestorableMongodbDatabasesOperations', + 'RestorableMongodbCollectionsOperations', + 'RestorableMongodbResourcesOperations', + 'CassandraClustersOperations', + 'CassandraDataCentersOperations', + 'PrivateLinkResourcesOperations', + 'PrivateEndpointConnectionsOperations', + 'ServiceOperations', +] diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py new file mode 100644 index 00000000000..1003e3d5505 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py @@ -0,0 +1,973 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CassandraClustersOperations: + """CassandraClustersOperations 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.cosmosdb.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, + **kwargs + ) -> AsyncIterable["_models.ListClusters"]: + """List all managed Cassandra clusters in this subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListClusters or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ListClusters] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListClusters"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListClusters', 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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.ListClusters"]: + """List all managed Cassandra clusters in this resource group. + + :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 ListClusters or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ListClusters] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListClusters"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListClusters', 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.DocumentDB/cassandraClusters'} # type: ignore + + async def get( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "_models.ClusterResource": + """Get the properties of a managed Cassandra cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ClusterResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ClusterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes a managed Cassandra cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + async def _create_update_initial( + self, + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs + ) -> "_models.ClusterResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'ClusterResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + async def begin_create_update( + self, + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs + ) -> AsyncLROPoller["_models.ClusterResource"]: + """Create or update a managed Cassandra cluster. When updating, you must specify all writable + properties. To update only some properties, use PATCH. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param body: The properties specifying the desired state of the managed Cassandra cluster. + :type body: ~azure.mgmt.cosmosdb.models.ClusterResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ClusterResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs + ) -> "_models.ClusterResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'ClusterResource') + 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, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs + ) -> AsyncLROPoller["_models.ClusterResource"]: + """Updates some of the properties of a managed Cassandra cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param body: Parameters to provide for specifying the managed Cassandra cluster. + :type body: ~azure.mgmt.cosmosdb.models.ClusterResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ClusterResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + async def _request_repair_initial( + self, + resource_group_name: str, + cluster_name: str, + body: "_models.RepairPostBody", + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._request_repair_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'RepairPostBody') + 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, {}) + + _request_repair_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore + + async def begin_request_repair( + self, + resource_group_name: str, + cluster_name: str, + body: "_models.RepairPostBody", + **kwargs + ) -> AsyncLROPoller[None]: + """Request that repair begin on this cluster as soon as possible. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param body: Specification of what keyspaces and tables to run repair on. + :type body: ~azure.mgmt.cosmosdb.models.RepairPostBody + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._request_repair_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_request_repair.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore + + async def _fetch_node_status_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> Optional["_models.ClusterNodeStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ClusterNodeStatus"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._fetch_node_status_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ClusterNodeStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _fetch_node_status_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore + + async def begin_fetch_node_status( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ClusterNodeStatus"]: + """Request the status of all nodes in the cluster (as returned by 'nodetool status'). + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ClusterNodeStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ClusterNodeStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterNodeStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._fetch_node_status_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterNodeStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_fetch_node_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore + + def list_backups( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> AsyncIterable["_models.ListBackups"]: + """List the backups of this cluster that are available to restore. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListBackups or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ListBackups] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBackups"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_backups.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListBackups', 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_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups'} # type: ignore + + async def get_backup( + self, + resource_group_name: str, + cluster_name: str, + backup_id: str, + **kwargs + ) -> "_models.BackupResource": + """Get the properties of an individual backup of this cluster that is available to restore. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param backup_id: Id of a restorable backup of a Cassandra cluster. + :type backup_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BackupResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.BackupResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_backup.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'backupId': self._serialize.url("backup_id", backup_id, 'str', max_length=15, min_length=1, pattern=r'^[0-9]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('BackupResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py new file mode 100644 index 00000000000..1968aa6dbd1 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py @@ -0,0 +1,566 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CassandraDataCentersOperations: + """CassandraDataCentersOperations 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.cosmosdb.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, + cluster_name: str, + **kwargs + ) -> AsyncIterable["_models.ListDataCenters"]: + """List all data centers in a particular managed Cassandra cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListDataCenters or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ListDataCenters] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListDataCenters"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListDataCenters', 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.DocumentDB/cassandraClusters/{clusterName}/dataCenters'} # type: ignore + + async def get( + self, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs + ) -> "_models.DataCenterResource": + """Get the properties of a managed Cassandra data center. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param data_center_name: Data center name in a managed Cassandra cluster. + :type data_center_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataCenterResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DataCenterResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('DataCenterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Delete a managed Cassandra data center. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param data_center_name: Data center name in a managed Cassandra cluster. + :type data_center_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + async def _create_update_initial( + self, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs + ) -> "_models.DataCenterResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'DataCenterResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + async def begin_create_update( + self, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs + ) -> AsyncLROPoller["_models.DataCenterResource"]: + """Create or update a managed Cassandra data center. When updating, overwrite all properties. To + update only some properties, use PATCH. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param data_center_name: Data center name in a managed Cassandra cluster. + :type data_center_name: str + :param body: Parameters specifying the managed Cassandra data center. + :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DataCenterResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs + ) -> "_models.DataCenterResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'DataCenterResource') + 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, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs + ) -> AsyncLROPoller["_models.DataCenterResource"]: + """Update some of the properties of a managed Cassandra data center. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param data_center_name: Data center name in a managed Cassandra cluster. + :type data_center_name: str + :param body: Parameters to provide for specifying the managed Cassandra data center. + :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DataCenterResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py new file mode 100644 index 00000000000..3dc2fa2750e --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py @@ -0,0 +1,1744 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CassandraResourcesOperations: + """CassandraResourcesOperations 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.cosmosdb.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_cassandra_keyspaces( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.CassandraKeyspaceListResult"]: + """Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CassandraKeyspaceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraKeyspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_cassandra_keyspaces.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('CassandraKeyspaceListResult', 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_cassandra_keyspaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces'} # type: ignore + + async def get_cassandra_keyspace( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> "_models.CassandraKeyspaceGetResults": + """Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the + provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CassandraKeyspaceGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_cassandra_keyspace.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CassandraKeyspaceGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + async def _create_update_cassandra_keyspace_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + create_update_cassandra_keyspace_parameters: "_models.CassandraKeyspaceCreateUpdateParameters", + **kwargs + ) -> Optional["_models.CassandraKeyspaceGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.CassandraKeyspaceGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_cassandra_keyspace_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_cassandra_keyspace_parameters, 'CassandraKeyspaceCreateUpdateParameters') + 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, 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('CassandraKeyspaceGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + async def begin_create_update_cassandra_keyspace( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + create_update_cassandra_keyspace_parameters: "_models.CassandraKeyspaceCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.CassandraKeyspaceGetResults"]: + """Create or update an Azure Cosmos DB Cassandra keyspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param create_update_cassandra_keyspace_parameters: The parameters to provide for the current + Cassandra keyspace. + :type create_update_cassandra_keyspace_parameters: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either CassandraKeyspaceGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_cassandra_keyspace_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + create_update_cassandra_keyspace_parameters=create_update_cassandra_keyspace_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('CassandraKeyspaceGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + async def _delete_cassandra_keyspace_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_cassandra_keyspace_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + async def begin_delete_cassandra_keyspace( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB Cassandra keyspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_cassandra_keyspace_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + async def get_cassandra_keyspace_throughput( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database + account with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_cassandra_keyspace_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + + async def _update_cassandra_keyspace_throughput_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_cassandra_keyspace_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_cassandra_keyspace_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + + async def begin_update_cassandra_keyspace_throughput( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of an Azure Cosmos DB Cassandra Keyspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Cassandra Keyspace. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_cassandra_keyspace_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + + async def _migrate_cassandra_keyspace_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_cassandra_keyspace_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_cassandra_keyspace_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_cassandra_keyspace_to_autoscale( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_cassandra_keyspace_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_cassandra_keyspace_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_cassandra_keyspace_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_cassandra_keyspace_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_cassandra_keyspace_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_cassandra_keyspace_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def list_cassandra_tables( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs + ) -> AsyncIterable["_models.CassandraTableListResult"]: + """Lists the Cassandra table under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CassandraTableListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraTableListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_cassandra_tables.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('CassandraTableListResult', 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_cassandra_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables'} # type: ignore + + async def get_cassandra_table( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> "_models.CassandraTableGetResults": + """Gets the Cassandra table under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CassandraTableGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.CassandraTableGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_cassandra_table.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CassandraTableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + async def _create_update_cassandra_table_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + create_update_cassandra_table_parameters: "_models.CassandraTableCreateUpdateParameters", + **kwargs + ) -> Optional["_models.CassandraTableGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.CassandraTableGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_cassandra_table_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_cassandra_table_parameters, 'CassandraTableCreateUpdateParameters') + 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, 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('CassandraTableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + async def begin_create_update_cassandra_table( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + create_update_cassandra_table_parameters: "_models.CassandraTableCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.CassandraTableGetResults"]: + """Create or update an Azure Cosmos DB Cassandra Table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :param create_update_cassandra_table_parameters: The parameters to provide for the current + Cassandra Table. + :type create_update_cassandra_table_parameters: ~azure.mgmt.cosmosdb.models.CassandraTableCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either CassandraTableGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_cassandra_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + create_update_cassandra_table_parameters=create_update_cassandra_table_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('CassandraTableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + async def _delete_cassandra_table_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_cassandra_table_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + async def begin_delete_cassandra_table( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB Cassandra table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_cassandra_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + async def get_cassandra_table_throughput( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database + account with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_cassandra_table_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + async def _update_cassandra_table_throughput_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_cassandra_table_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_cassandra_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + async def begin_update_cassandra_table_throughput( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of an Azure Cosmos DB Cassandra table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Cassandra table. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_cassandra_table_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + async def _migrate_cassandra_table_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_cassandra_table_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_cassandra_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_cassandra_table_to_autoscale( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_cassandra_table_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_cassandra_table_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_cassandra_table_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_cassandra_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_cassandra_table_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param keyspace_name: Cosmos DB keyspace name. + :type keyspace_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_cassandra_table_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py new file mode 100644 index 00000000000..6e2d79aee67 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py @@ -0,0 +1,301 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CollectionOperations: + """CollectionOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.MetricListResult"]: + """Retrieves the metrics determined by the given filter for the given database account and + collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 MetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics'} # type: ignore + + def list_usages( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.UsagesResult"]: + """Retrieves the usages (most recent storage data) for the given collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). + :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 UsagesResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.UsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_usages.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + } + url = self._client.format_url(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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('UsagesResult', 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_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages'} # type: ignore + + def list_metric_definitions( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + **kwargs + ) -> AsyncIterable["_models.MetricDefinitionsListResult"]: + """Retrieves metric definitions for the given collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metric_definitions.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricDefinitionsListResult', 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_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.py new file mode 100644 index 00000000000..a2eeafcfcbb --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.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. +# 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CollectionPartitionOperations: + """CollectionPartitionOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.PartitionMetricListResult"]: + """Retrieves the metrics determined by the given filter for the given collection, split by + partition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} # type: ignore + + def list_usages( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.PartitionUsagesResult"]: + """Retrieves the usages (most recent storage data) for the given collection, split by partition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). + :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 PartitionUsagesResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionUsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionUsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_usages.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + } + url = self._client.format_url(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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionUsagesResult', 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_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py new file mode 100644 index 00000000000..95c210fb63b --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CollectionPartitionRegionOperations: + """CollectionPartitionRegionOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.PartitionMetricListResult"]: + """Retrieves the metrics determined by the given filter for the given collection and region, split + by partition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param region: Cosmos DB region, with spaces between words and each word capitalized. + :type region: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'region': self._serialize.url("region", region, 'str'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py new file mode 100644 index 00000000000..9a8dcf80129 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CollectionRegionOperations: + """CollectionRegionOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.MetricListResult"]: + """Retrieves the metrics determined by the given filter for the given database account, collection + and region. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param region: Cosmos DB region, with spaces between words and each word capitalized. + :type region: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 MetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'region': self._serialize.url("region", region, 'str'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cosmos_db_management_client_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cosmos_db_management_client_operations.py new file mode 100644 index 00000000000..83ce509b842 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cosmos_db_management_client_operations.py @@ -0,0 +1,142 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CosmosDBManagementClientOperationsMixin: + + def location_list( + self, + **kwargs + ) -> AsyncIterable["_models.LocationListResult"]: + """List Cosmos DB locations and their properties. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LocationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.LocationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.location_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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('LocationListResult', 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 + ) + location_list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations'} # type: ignore + + async def location_get( + self, + location: str, + **kwargs + ) -> "_models.LocationGetResult": + """Get the properties of an existing Cosmos DB location. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocationGetResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.LocationGetResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationGetResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.location_get.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('LocationGetResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + location_get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.py new file mode 100644 index 00000000000..5127d0c4887 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DatabaseAccountRegionOperations: + """DatabaseAccountRegionOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + region: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.MetricListResult"]: + """Retrieves the metrics determined by the given filter for the given database account and region. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param region: Cosmos DB region, with spaces between words and each word capitalized. + :type region: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 MetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'region': self._serialize.url("region", region, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py new file mode 100644 index 00000000000..f3e7a4c64d6 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py @@ -0,0 +1,1583 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DatabaseAccountsOperations: + """DatabaseAccountsOperations 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.cosmosdb.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.DatabaseAccountGetResults": + """Retrieves the properties of an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('DatabaseAccountGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + account_name: str, + update_parameters: "_models.DatabaseAccountUpdateParameters", + **kwargs + ) -> "_models.DatabaseAccountGetResults": + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_parameters, 'DatabaseAccountUpdateParameters') + 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('DatabaseAccountGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + account_name: str, + update_parameters: "_models.DatabaseAccountUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.DatabaseAccountGetResults"]: + """Updates the properties of an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param update_parameters: The parameters to provide for the current database account. + :type update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DatabaseAccountGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + update_parameters=update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + account_name: str, + create_update_parameters: "_models.DatabaseAccountCreateUpdateParameters", + **kwargs + ) -> "_models.DatabaseAccountGetResults": + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_parameters, 'DatabaseAccountCreateUpdateParameters') + 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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + account_name: str, + create_update_parameters: "_models.DatabaseAccountCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.DatabaseAccountGetResults"]: + """Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when + performing updates on an account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param create_update_parameters: The parameters to provide for the current database account. + :type create_update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DatabaseAccountGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + create_update_parameters=create_update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + async def _failover_priority_change_initial( + self, + resource_group_name: str, + account_name: str, + failover_parameters: "_models.FailoverPolicies", + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._failover_priority_change_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(failover_parameters, 'FailoverPolicies') + 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 [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, {}) + + _failover_priority_change_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore + + async def begin_failover_priority_change( + self, + resource_group_name: str, + account_name: str, + failover_parameters: "_models.FailoverPolicies", + **kwargs + ) -> AsyncLROPoller[None]: + """Changes the failover priority for the Azure Cosmos DB database account. A failover priority of + 0 indicates a write region. The maximum value for a failover priority = (total number of + regions - 1). Failover priority values must be unique for each of the regions in which the + database account exists. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param failover_parameters: The new failover policies for the database account. + :type failover_parameters: ~azure.mgmt.cosmosdb.models.FailoverPolicies + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._failover_priority_change_initial( + resource_group_name=resource_group_name, + account_name=account_name, + failover_parameters=failover_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_failover_priority_change.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.DatabaseAccountsListResult"]: + """Lists all the Azure Cosmos DB database accounts available under the subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DatabaseAccountsListResult', 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.DocumentDB/databaseAccounts'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.DatabaseAccountsListResult"]: + """Lists all the Azure Cosmos DB database accounts available under the given resource group. + + :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 DatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DatabaseAccountsListResult', 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.DocumentDB/databaseAccounts'} # type: ignore + + async def list_keys( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "_models.DatabaseAccountListKeysResult": + """Lists the access keys for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListKeysResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_keys.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('DatabaseAccountListKeysResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys'} # type: ignore + + async def list_connection_strings( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "_models.DatabaseAccountListConnectionStringsResult": + """Lists the connection strings for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListConnectionStringsResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListConnectionStringsResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListConnectionStringsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_connection_strings.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('DatabaseAccountListConnectionStringsResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_connection_strings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings'} # type: ignore + + async def _offline_region_initial( + self, + resource_group_name: str, + account_name: str, + region_parameter_for_offline: "_models.RegionForOnlineOffline", + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._offline_region_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(region_parameter_for_offline, 'RegionForOnlineOffline') + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _offline_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore + + async def begin_offline_region( + self, + resource_group_name: str, + account_name: str, + region_parameter_for_offline: "_models.RegionForOnlineOffline", + **kwargs + ) -> AsyncLROPoller[None]: + """Offline the specified region for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param region_parameter_for_offline: Cosmos DB region to offline for the database account. + :type region_parameter_for_offline: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._offline_region_initial( + resource_group_name=resource_group_name, + account_name=account_name, + region_parameter_for_offline=region_parameter_for_offline, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_offline_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore + + async def _online_region_initial( + self, + resource_group_name: str, + account_name: str, + region_parameter_for_online: "_models.RegionForOnlineOffline", + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._online_region_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(region_parameter_for_online, 'RegionForOnlineOffline') + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _online_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore + + async def begin_online_region( + self, + resource_group_name: str, + account_name: str, + region_parameter_for_online: "_models.RegionForOnlineOffline", + **kwargs + ) -> AsyncLROPoller[None]: + """Online the specified region for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param region_parameter_for_online: Cosmos DB region to online for the database account. + :type region_parameter_for_online: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._online_region_initial( + resource_group_name=resource_group_name, + account_name=account_name, + region_parameter_for_online=region_parameter_for_online, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_online_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore + + async def get_read_only_keys( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "_models.DatabaseAccountListReadOnlyKeysResult": + """Lists the read-only access keys for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListReadOnlyKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListReadOnlyKeysResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListReadOnlyKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_read_only_keys.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('DatabaseAccountListReadOnlyKeysResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore + + async def list_read_only_keys( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "_models.DatabaseAccountListReadOnlyKeysResult": + """Lists the read-only access keys for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListReadOnlyKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListReadOnlyKeysResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListReadOnlyKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_read_only_keys.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('DatabaseAccountListReadOnlyKeysResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore + + async def _regenerate_key_initial( + self, + resource_group_name: str, + account_name: str, + key_to_regenerate: "_models.DatabaseAccountRegenerateKeyParameters", + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._regenerate_key_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(key_to_regenerate, 'DatabaseAccountRegenerateKeyParameters') + 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, {}) + + _regenerate_key_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore + + async def begin_regenerate_key( + self, + resource_group_name: str, + account_name: str, + key_to_regenerate: "_models.DatabaseAccountRegenerateKeyParameters", + **kwargs + ) -> AsyncLROPoller[None]: + """Regenerates an access key for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param key_to_regenerate: The name of the key to regenerate. + :type key_to_regenerate: ~azure.mgmt.cosmosdb.models.DatabaseAccountRegenerateKeyParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._regenerate_key_initial( + resource_group_name=resource_group_name, + account_name=account_name, + key_to_regenerate=key_to_regenerate, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore + + async def check_name_exists( + self, + account_name: str, + **kwargs + ) -> bool: + """Checks that the Azure Cosmos DB account name already exists. A valid account name may contain + only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 + characters. + + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: bool, or the result of cls(response) + :rtype: bool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self.check_name_exists.metadata['url'] # type: ignore + path_format_arguments = { + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + request = self._client.head(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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + return 200 <= response.status_code <= 299 + check_name_exists.metadata = {'url': '/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}'} # type: ignore + + def list_metrics( + self, + resource_group_name: str, + account_name: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.MetricListResult"]: + """Retrieves the metrics determined by the given filter for the given database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 MetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics'} # type: ignore + + def list_usages( + self, + resource_group_name: str, + account_name: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.UsagesResult"]: + """Retrieves the usages (most recent data) for the given database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). + :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 UsagesResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.UsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_usages.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('UsagesResult', 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_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages'} # type: ignore + + def list_metric_definitions( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.MetricDefinitionsListResult"]: + """Retrieves metric definitions for the given database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metric_definitions.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricDefinitionsListResult', 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_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py new file mode 100644 index 00000000000..0a7aed97ff9 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.MetricListResult"]: + """Retrieves the metrics determined by the given filter for the given database account and + database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 MetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics'} # type: ignore + + def list_usages( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.UsagesResult"]: + """Retrieves the usages (most recent data) for the given database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). + :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 UsagesResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.UsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_usages.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + } + url = self._client.format_url(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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('UsagesResult', 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_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages'} # type: ignore + + def list_metric_definitions( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + **kwargs + ) -> AsyncIterable["_models.MetricDefinitionsListResult"]: + """Retrieves metric definitions for the given database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metric_definitions.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MetricDefinitionsListResult', 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_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py new file mode 100644 index 00000000000..968b7c864ff --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py @@ -0,0 +1,1744 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class GremlinResourcesOperations: + """GremlinResourcesOperations 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.cosmosdb.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_gremlin_databases( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.GremlinDatabaseListResult"]: + """Lists the Gremlin databases under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GremlinDatabaseListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GremlinDatabaseListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_gremlin_databases.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('GremlinDatabaseListResult', 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_gremlin_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases'} # type: ignore + + async def get_gremlin_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> "_models.GremlinDatabaseGetResults": + """Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided + name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GremlinDatabaseGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_gremlin_database.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('GremlinDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + async def _create_update_gremlin_database_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + create_update_gremlin_database_parameters: "_models.GremlinDatabaseCreateUpdateParameters", + **kwargs + ) -> Optional["_models.GremlinDatabaseGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.GremlinDatabaseGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_gremlin_database_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_gremlin_database_parameters, 'GremlinDatabaseCreateUpdateParameters') + 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, 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('GremlinDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + async def begin_create_update_gremlin_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + create_update_gremlin_database_parameters: "_models.GremlinDatabaseCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.GremlinDatabaseGetResults"]: + """Create or update an Azure Cosmos DB Gremlin database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param create_update_gremlin_database_parameters: The parameters to provide for the current + Gremlin database. + :type create_update_gremlin_database_parameters: ~azure.mgmt.cosmosdb.models.GremlinDatabaseCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either GremlinDatabaseGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_gremlin_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + create_update_gremlin_database_parameters=create_update_gremlin_database_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('GremlinDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + async def _delete_gremlin_database_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_gremlin_database_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + async def begin_delete_gremlin_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB Gremlin database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_gremlin_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + async def get_gremlin_database_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database + account with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_gremlin_database_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def _update_gremlin_database_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_gremlin_database_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_gremlin_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def begin_update_gremlin_database_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of an Azure Cosmos DB Gremlin database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Gremlin database. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_gremlin_database_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def _migrate_gremlin_database_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_gremlin_database_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_gremlin_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_gremlin_database_to_autoscale( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_gremlin_database_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_gremlin_database_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_gremlin_database_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_gremlin_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_gremlin_database_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_gremlin_database_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def list_gremlin_graphs( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncIterable["_models.GremlinGraphListResult"]: + """Lists the Gremlin graph under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GremlinGraphListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GremlinGraphListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_gremlin_graphs.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('GremlinGraphListResult', 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_gremlin_graphs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs'} # type: ignore + + async def get_gremlin_graph( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> "_models.GremlinGraphGetResults": + """Gets the Gremlin graph under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GremlinGraphGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.GremlinGraphGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_gremlin_graph.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('GremlinGraphGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + async def _create_update_gremlin_graph_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + create_update_gremlin_graph_parameters: "_models.GremlinGraphCreateUpdateParameters", + **kwargs + ) -> Optional["_models.GremlinGraphGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.GremlinGraphGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_gremlin_graph_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_gremlin_graph_parameters, 'GremlinGraphCreateUpdateParameters') + 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, 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('GremlinGraphGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + async def begin_create_update_gremlin_graph( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + create_update_gremlin_graph_parameters: "_models.GremlinGraphCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.GremlinGraphGetResults"]: + """Create or update an Azure Cosmos DB Gremlin graph. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :param create_update_gremlin_graph_parameters: The parameters to provide for the current + Gremlin graph. + :type create_update_gremlin_graph_parameters: ~azure.mgmt.cosmosdb.models.GremlinGraphCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either GremlinGraphGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_gremlin_graph_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + create_update_gremlin_graph_parameters=create_update_gremlin_graph_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('GremlinGraphGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + async def _delete_gremlin_graph_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_gremlin_graph_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + async def begin_delete_gremlin_graph( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB Gremlin graph. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_gremlin_graph_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + async def get_gremlin_graph_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the + provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_gremlin_graph_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + + async def _update_gremlin_graph_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_gremlin_graph_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_gremlin_graph_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + + async def begin_update_gremlin_graph_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of an Azure Cosmos DB Gremlin graph. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Gremlin graph. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_gremlin_graph_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + + async def _migrate_gremlin_graph_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_gremlin_graph_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_gremlin_graph_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_gremlin_graph_to_autoscale( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_gremlin_graph_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_gremlin_graph_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_gremlin_graph_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_gremlin_graph_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_gremlin_graph_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_gremlin_graph_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py new file mode 100644 index 00000000000..175d5b1600f --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py @@ -0,0 +1,1744 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MongoDBResourcesOperations: + """MongoDBResourcesOperations 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.cosmosdb.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_mongo_db_databases( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.MongoDBDatabaseListResult"]: + """Lists the MongoDB databases under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoDBDatabaseListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoDBDatabaseListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_mongo_db_databases.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MongoDBDatabaseListResult', 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_mongo_db_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases'} # type: ignore + + async def get_mongo_db_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> "_models.MongoDBDatabaseGetResults": + """Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided + name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoDBDatabaseGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_mongo_db_database.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('MongoDBDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + async def _create_update_mongo_db_database_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + create_update_mongo_db_database_parameters: "_models.MongoDBDatabaseCreateUpdateParameters", + **kwargs + ) -> Optional["_models.MongoDBDatabaseGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoDBDatabaseGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_mongo_db_database_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_mongo_db_database_parameters, 'MongoDBDatabaseCreateUpdateParameters') + 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, 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('MongoDBDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + async def begin_create_update_mongo_db_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + create_update_mongo_db_database_parameters: "_models.MongoDBDatabaseCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.MongoDBDatabaseGetResults"]: + """Create or updates Azure Cosmos DB MongoDB database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param create_update_mongo_db_database_parameters: The parameters to provide for the current + MongoDB database. + :type create_update_mongo_db_database_parameters: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either MongoDBDatabaseGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_mongo_db_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + create_update_mongo_db_database_parameters=create_update_mongo_db_database_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MongoDBDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + async def _delete_mongo_db_database_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_mongo_db_database_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + async def begin_delete_mongo_db_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB MongoDB database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_mongo_db_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + async def get_mongo_db_database_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database + account with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_mongo_db_database_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def _update_mongo_db_database_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_mongo_db_database_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_mongo_db_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def begin_update_mongo_db_database_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of the an Azure Cosmos DB MongoDB database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current MongoDB database. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_mongo_db_database_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def _migrate_mongo_db_database_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_mongo_db_database_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_mongo_db_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_mongo_db_database_to_autoscale( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_mongo_db_database_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_mongo_db_database_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_mongo_db_database_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_mongo_db_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_mongo_db_database_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_mongo_db_database_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def list_mongo_db_collections( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncIterable["_models.MongoDBCollectionListResult"]: + """Lists the MongoDB collection under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoDBCollectionListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoDBCollectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_mongo_db_collections.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MongoDBCollectionListResult', 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_mongo_db_collections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections'} # type: ignore + + async def get_mongo_db_collection( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> "_models.MongoDBCollectionGetResults": + """Gets the MongoDB collection under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoDBCollectionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_mongo_db_collection.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('MongoDBCollectionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + async def _create_update_mongo_db_collection_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + create_update_mongo_db_collection_parameters: "_models.MongoDBCollectionCreateUpdateParameters", + **kwargs + ) -> Optional["_models.MongoDBCollectionGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoDBCollectionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_mongo_db_collection_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_mongo_db_collection_parameters, 'MongoDBCollectionCreateUpdateParameters') + 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, 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('MongoDBCollectionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + async def begin_create_update_mongo_db_collection( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + create_update_mongo_db_collection_parameters: "_models.MongoDBCollectionCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.MongoDBCollectionGetResults"]: + """Create or update an Azure Cosmos DB MongoDB Collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :param create_update_mongo_db_collection_parameters: The parameters to provide for the current + MongoDB Collection. + :type create_update_mongo_db_collection_parameters: ~azure.mgmt.cosmosdb.models.MongoDBCollectionCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either MongoDBCollectionGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_mongo_db_collection_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + create_update_mongo_db_collection_parameters=create_update_mongo_db_collection_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MongoDBCollectionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + async def _delete_mongo_db_collection_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_mongo_db_collection_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + async def begin_delete_mongo_db_collection( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB MongoDB Collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_mongo_db_collection_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + async def get_mongo_db_collection_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database + account with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_mongo_db_collection_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + + async def _update_mongo_db_collection_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_mongo_db_collection_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_mongo_db_collection_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + + async def begin_update_mongo_db_collection_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update the RUs per second of an Azure Cosmos DB MongoDB collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current MongoDB collection. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_mongo_db_collection_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + + async def _migrate_mongo_db_collection_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_mongo_db_collection_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_mongo_db_collection_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_mongo_db_collection_to_autoscale( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_mongo_db_collection_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_mongo_db_collection_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_mongo_db_collection_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_mongo_db_collection_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_mongo_db_collection_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_mongo_db_collection_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_operations.py new file mode 100644 index 00000000000..c8d6f72fe41 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_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 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class NotebookWorkspacesOperations: + """NotebookWorkspacesOperations 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.cosmosdb.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_account( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.NotebookWorkspaceListResult"]: + """Gets the notebook workspace resources of an existing Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either NotebookWorkspaceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.NotebookWorkspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_database_account.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('NotebookWorkspaceListResult', 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.failsafe_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_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces'} # type: ignore + + async def get( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> "_models.NotebookWorkspace": + """Gets the notebook workspace for a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NotebookWorkspace, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.NotebookWorkspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NotebookWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + notebook_create_update_parameters: "_models.NotebookWorkspaceCreateUpdateParameters", + **kwargs + ) -> "_models.NotebookWorkspace": + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(notebook_create_update_parameters, 'NotebookWorkspaceCreateUpdateParameters') + 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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NotebookWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + notebook_create_update_parameters: "_models.NotebookWorkspaceCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.NotebookWorkspace"]: + """Creates the notebook workspace for a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :param notebook_create_update_parameters: The notebook workspace to create for the current + database account. + :type notebook_create_update_parameters: ~azure.mgmt.cosmosdb.models.NotebookWorkspaceCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either NotebookWorkspace or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.NotebookWorkspace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + notebook_create_update_parameters=notebook_create_update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('NotebookWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, 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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes the notebook workspace for a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + async def list_connection_info( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> "_models.NotebookWorkspaceConnectionInfoResult": + """Retrieves the connection info for the notebook workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NotebookWorkspaceConnectionInfoResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.NotebookWorkspaceConnectionInfoResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspaceConnectionInfoResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_connection_info.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NotebookWorkspaceConnectionInfoResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo'} # type: ignore + + async def _regenerate_auth_token_initial( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._regenerate_auth_token_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _regenerate_auth_token_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore + + async def begin_regenerate_auth_token( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> AsyncLROPoller[None]: + """Regenerates the auth token for the notebook workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._regenerate_auth_token_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_auth_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._start_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs + ) -> AsyncLROPoller[None]: + """Starts the notebook workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_operations.py new file mode 100644 index 00000000000..998dce89ca7 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations 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.cosmosdb.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 + ) -> AsyncIterable["_models.OperationListResult"]: + """Lists all of the available Cosmos DB Resource Provider operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + 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.DocumentDB/operations'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py new file mode 100644 index 00000000000..f6aa1b80a39 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py @@ -0,0 +1,134 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PartitionKeyRangeIdOperations: + """PartitionKeyRangeIdOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + partition_key_range_id: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.PartitionMetricListResult"]: + """Retrieves the metrics determined by the given filter for the given partition key range id. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param partition_key_range_id: Partition Key Range Id for which to get data. + :type partition_key_range_id: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_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') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py new file mode 100644 index 00000000000..7772237e789 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py @@ -0,0 +1,139 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PartitionKeyRangeIdRegionOperations: + """PartitionKeyRangeIdRegionOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + partition_key_range_id: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.PartitionMetricListResult"]: + """Retrieves the metrics determined by the given filter for the given partition key range id and + region. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param region: Cosmos DB region, with spaces between words and each word capitalized. + :type region: str + :param database_rid: Cosmos DB database rid. + :type database_rid: str + :param collection_rid: Cosmos DB collection rid. + :type collection_rid: str + :param partition_key_range_id: Partition Key Range Id for which to get data. + :type partition_key_range_id: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'region': self._serialize.url("region", region, 'str'), + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), + 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_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') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_operations.py new file mode 100644 index 00000000000..dd8b1c3fc2b --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_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 Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PercentileOperations: + """PercentileOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.PercentileMetricListResult"]: + """Retrieves the metrics determined by the given filter for the given database account. This url + is only for PBS and Replication Latency data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 PercentileMetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PercentileMetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py new file mode 100644 index 00000000000..97afd50ed9a --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py @@ -0,0 +1,133 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PercentileSourceTargetOperations: + """PercentileSourceTargetOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + source_region: str, + target_region: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.PercentileMetricListResult"]: + """Retrieves the metrics determined by the given filter for the given account, source and target + region. This url is only for PBS and Replication Latency data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param source_region: Source region from which data is written. Cosmos DB region, with spaces + between words and each word capitalized. + :type source_region: str + :param target_region: Target region to which data is written. Cosmos DB region, with spaces + between words and each word capitalized. + :type target_region: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 PercentileMetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'sourceRegion': self._serialize.url("source_region", source_region, 'str'), + 'targetRegion': self._serialize.url("target_region", target_region, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PercentileMetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_operations.py new file mode 100644 index 00000000000..82730cfceae --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_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 Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PercentileTargetOperations: + """PercentileTargetOperations 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.cosmosdb.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_metrics( + self, + resource_group_name: str, + account_name: str, + target_region: str, + filter: str, + **kwargs + ) -> AsyncIterable["_models.PercentileMetricListResult"]: + """Retrieves the metrics determined by the given filter for the given account target region. This + url is only for PBS and Replication Latency data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param target_region: Target region to which data is written. Cosmos DB region, with spaces + between words and each word capitalized. + :type target_region: str + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. + :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 PercentileMetricListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'targetRegion': self._serialize.url("target_region", target_region, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PercentileMetricListResult', 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_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.py new file mode 100644 index 00000000000..61bbfe55d74 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateEndpointConnectionsOperations: + """PrivateEndpointConnectionsOperations 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.cosmosdb.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_account( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.PrivateEndpointConnectionListResult"]: + """List all private endpoint connections on a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PrivateEndpointConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_database_account.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PrivateEndpointConnectionListResult', 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_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections'} # type: ignore + + async def get( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs + ) -> "_models.PrivateEndpointConnection": + """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 account_name: Cosmos DB database account name. + :type account_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + parameters: "_models.PrivateEndpointConnection", + **kwargs + ) -> Optional["_models.PrivateEndpointConnection"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PrivateEndpointConnection"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') + 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, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + parameters: "_models.PrivateEndpointConnection", + **kwargs + ) -> AsyncLROPoller["_models.PrivateEndpointConnection"]: + """Approve or reject a private endpoint connection with a given name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :param parameters: + :type parameters: ~azure.mgmt.cosmosdb.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either PrivateEndpointConnection or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, 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.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes a private endpoint connection with a given name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..78e26afb501 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateLinkResourcesOperations: + """PrivateLinkResourcesOperations 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.cosmosdb.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_account( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.PrivateLinkResourceListResult"]: + """Gets the private link resources that need to be created for a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateLinkResourceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PrivateLinkResourceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_database_account.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PrivateLinkResourceListResult', 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_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources'} # type: ignore + + async def get( + self, + resource_group_name: str, + account_name: str, + group_name: str, + **kwargs + ) -> "_models.PrivateLinkResource": + """Gets the private link resources that need to be created for a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param group_name: The name of the private link resource. + :type group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.PrivateLinkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'groupName': self._serialize.url("group_name", 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'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateLinkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py new file mode 100644 index 00000000000..86898536528 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py @@ -0,0 +1,240 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableDatabaseAccountsOperations: + """RestorableDatabaseAccountsOperations 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.cosmosdb.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_location( + self, + location: str, + **kwargs + ) -> AsyncIterable["_models.RestorableDatabaseAccountsListResult"]: + """Lists all the restorable Azure Cosmos DB database accounts available under the subscription and + in a region. This call requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_location.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableDatabaseAccountsListResult', 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_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.RestorableDatabaseAccountsListResult"]: + """Lists all the restorable Azure Cosmos DB database accounts available under the subscription. + This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableDatabaseAccountsListResult', 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.DocumentDB/restorableDatabaseAccounts'} # type: ignore + + async def get_by_location( + self, + location: str, + instance_id: str, + **kwargs + ) -> "_models.RestorableDatabaseAccountGetResult": + """Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RestorableDatabaseAccountGetResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountGetResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_by_location.metadata['url'] # type: ignore + 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'), + 'instanceId': self._serialize.url("instance_id", instance_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'] = self._serialize.header("accept", accept, 'str') + + 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('RestorableDatabaseAccountGetResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_operations.py new file mode 100644 index 00000000000..92d45bba1c5 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_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 Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableMongodbCollectionsOperations: + """RestorableMongodbCollectionsOperations 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.cosmosdb.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, + location: str, + instance_id: str, + restorable_mongodb_database_rid: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.RestorableMongodbCollectionsListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under + a specific database. This helps in scenario where container was accidentally deleted. This + API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restorable_mongodb_database_rid: The resource ID of the MongoDB database. + :type restorable_mongodb_database_rid: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableMongodbCollectionsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbCollectionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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), + 'location': self._serialize.url("location", location, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + if restorable_mongodb_database_rid is not None: + query_parameters['restorableMongodbDatabaseRid'] = self._serialize.query("restorable_mongodb_database_rid", restorable_mongodb_database_rid, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableMongodbCollectionsListResult', 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.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_operations.py new file mode 100644 index 00000000000..d4ce7559d83 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_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 Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableMongodbDatabasesOperations: + """RestorableMongodbDatabasesOperations 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.cosmosdb.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, + location: str, + instance_id: str, + **kwargs + ) -> AsyncIterable["_models.RestorableMongodbDatabasesListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under + the restorable account. This helps in scenario where database was accidentally deleted to get + the deletion time. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableMongodbDatabasesListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbDatabasesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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), + 'location': self._serialize.url("location", location, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableMongodbDatabasesListResult', 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.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py new file mode 100644 index 00000000000..dc473b4cf32 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py @@ -0,0 +1,129 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableMongodbResourcesOperations: + """RestorableMongodbResourcesOperations 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.cosmosdb.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, + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.RestorableMongodbResourcesListResult"]: + """Return a list of database and collection combo that exist on the account at the given timestamp + and location. This helps in scenarios to validate what resources exist at given timestamp and + location. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restore_location: The location where the restorable resources are located. + :type restore_location: str + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. + :type restore_timestamp_in_utc: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableMongodbResourcesListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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), + 'location': self._serialize.url("location", location, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + if restore_location is not None: + query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') + if restore_timestamp_in_utc is not None: + query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableMongodbResourcesListResult', 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.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py new file mode 100644 index 00000000000..3f99046726e --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py @@ -0,0 +1,133 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableSqlContainersOperations: + """RestorableSqlContainersOperations 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.cosmosdb.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, + location: str, + instance_id: str, + restorable_sql_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.RestorableSqlContainersListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a + specific database. This helps in scenario where container was accidentally deleted. This API + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restorable_sql_database_rid: The resource ID of the SQL database. + :type restorable_sql_database_rid: str + :param start_time: The snapshot create timestamp after which snapshots need to be listed. + :type start_time: str + :param end_time: The snapshot create timestamp before which snapshots need to be listed. + :type end_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableSqlContainersListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlContainersListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlContainersListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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), + 'location': self._serialize.url("location", location, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + if restorable_sql_database_rid is not None: + query_parameters['restorableSqlDatabaseRid'] = self._serialize.query("restorable_sql_database_rid", restorable_sql_database_rid, 'str') + if start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'str') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableSqlContainersListResult', 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.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_operations.py new file mode 100644 index 00000000000..96af123d47b --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_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 Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableSqlDatabasesOperations: + """RestorableSqlDatabasesOperations 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.cosmosdb.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, + location: str, + instance_id: str, + **kwargs + ) -> AsyncIterable["_models.RestorableSqlDatabasesListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the + restorable account. This helps in scenario where database was accidentally deleted to get the + deletion time. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableSqlDatabasesListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlDatabasesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlDatabasesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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), + 'location': self._serialize.url("location", location, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableSqlDatabasesListResult', 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.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py new file mode 100644 index 00000000000..7ce7d135b7d --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py @@ -0,0 +1,129 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableSqlResourcesOperations: + """RestorableSqlResourcesOperations 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.cosmosdb.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, + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.RestorableSqlResourcesListResult"]: + """Return a list of database and container combo that exist on the account at the given timestamp + and location. This helps in scenarios to validate what resources exist at given timestamp and + location. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restore_location: The location where the restorable resources are located. + :type restore_location: str + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. + :type restore_timestamp_in_utc: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableSqlResourcesListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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), + 'location': self._serialize.url("location", location, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + if restore_location is not None: + query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') + if restore_timestamp_in_utc is not None: + query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableSqlResourcesListResult', 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.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.py new file mode 100644 index 00000000000..9ccd210519b --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.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 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _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.cosmosdb.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, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.ServiceResourceListResult"]: + """Gets the status of service. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceResourceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ServiceResourceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResourceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ServiceResourceListResult', 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.DocumentDB/databaseAccounts/{accountName}/services'} # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + account_name: str, + service_name: str, + create_update_parameters: "_models.ServiceResource", + **kwargs + ) -> Optional["_models.ServiceResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ServiceResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, 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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_parameters, 'ServiceResource') + 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, 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('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + account_name: str, + service_name: str, + create_update_parameters: "_models.ServiceResource", + **kwargs + ) -> AsyncLROPoller["_models.ServiceResource"]: + """Creates a service. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param service_name: Cosmos DB service name. + :type service_name: str + :param create_update_parameters: The Service resource parameters. + :type create_update_parameters: ~azure.mgmt.cosmosdb.models.ServiceResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ServiceResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + create_update_parameters=create_update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs + ) -> "_models.ServiceResource": + """Gets the status of service. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param service_name: Cosmos DB service name. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServiceResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, 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'] = self._serialize.header("accept", accept, 'str') + + 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('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, 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'] = self._serialize.header("accept", accept, 'str') + + 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.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes service with the given serviceName. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param service_name: Cosmos DB service name. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py new file mode 100644 index 00000000000..f7bc9c5fd34 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py @@ -0,0 +1,3935 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SqlResourcesOperations: + """SqlResourcesOperations 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.cosmosdb.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_sql_databases( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.SqlDatabaseListResult"]: + """Lists the SQL databases under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlDatabaseListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlDatabaseListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_sql_databases.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SqlDatabaseListResult', 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_sql_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases'} # type: ignore + + async def get_sql_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> "_models.SqlDatabaseGetResults": + """Gets the SQL database under an existing Azure Cosmos DB database account with the provided + name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlDatabaseGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_database.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('SqlDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + async def _create_update_sql_database_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + create_update_sql_database_parameters: "_models.SqlDatabaseCreateUpdateParameters", + **kwargs + ) -> Optional["_models.SqlDatabaseGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlDatabaseGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_sql_database_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_sql_database_parameters, 'SqlDatabaseCreateUpdateParameters') + 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, 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('SqlDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + async def begin_create_update_sql_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + create_update_sql_database_parameters: "_models.SqlDatabaseCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.SqlDatabaseGetResults"]: + """Create or update an Azure Cosmos DB SQL database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param create_update_sql_database_parameters: The parameters to provide for the current SQL + database. + :type create_update_sql_database_parameters: ~azure.mgmt.cosmosdb.models.SqlDatabaseCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SqlDatabaseGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_sql_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + create_update_sql_database_parameters=create_update_sql_database_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + async def _delete_sql_database_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_sql_database_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + async def begin_delete_sql_database( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB SQL database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_sql_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + async def get_sql_database_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account + with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_database_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def _update_sql_database_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_sql_database_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_sql_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def begin_update_sql_database_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of an Azure Cosmos DB SQL database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param update_throughput_parameters: The parameters to provide for the RUs per second of the + current SQL database. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_sql_database_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + async def _migrate_sql_database_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_sql_database_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_sql_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_sql_database_to_autoscale( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_sql_database_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_sql_database_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_sql_database_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_sql_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_sql_database_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_sql_database_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def list_sql_containers( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs + ) -> AsyncIterable["_models.SqlContainerListResult"]: + """Lists the SQL container under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlContainerListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlContainerListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_sql_containers.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SqlContainerListResult', 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_sql_containers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers'} # type: ignore + + async def get_sql_container( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> "_models.SqlContainerGetResults": + """Gets the SQL container under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlContainerGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlContainerGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_container.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('SqlContainerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + async def _create_update_sql_container_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + create_update_sql_container_parameters: "_models.SqlContainerCreateUpdateParameters", + **kwargs + ) -> Optional["_models.SqlContainerGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlContainerGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_sql_container_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_sql_container_parameters, 'SqlContainerCreateUpdateParameters') + 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, 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('SqlContainerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + async def begin_create_update_sql_container( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + create_update_sql_container_parameters: "_models.SqlContainerCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.SqlContainerGetResults"]: + """Create or update an Azure Cosmos DB SQL container. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param create_update_sql_container_parameters: The parameters to provide for the current SQL + container. + :type create_update_sql_container_parameters: ~azure.mgmt.cosmosdb.models.SqlContainerCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SqlContainerGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_sql_container_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + create_update_sql_container_parameters=create_update_sql_container_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlContainerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + async def _delete_sql_container_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_sql_container_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + async def begin_delete_sql_container( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB SQL container. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_sql_container_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + async def get_sql_container_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database + account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_container_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + + async def _update_sql_container_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_sql_container_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_sql_container_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + + async def begin_update_sql_container_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of an Azure Cosmos DB SQL container. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param update_throughput_parameters: The parameters to provide for the RUs per second of the + current SQL container. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_sql_container_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + + async def _migrate_sql_container_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_sql_container_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_sql_container_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_sql_container_to_autoscale( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_sql_container_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_sql_container_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_sql_container_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_sql_container_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_sql_container_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_sql_container_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def list_sql_stored_procedures( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> AsyncIterable["_models.SqlStoredProcedureListResult"]: + """Lists the SQL storedProcedure under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlStoredProcedureListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlStoredProcedureListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_sql_stored_procedures.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SqlStoredProcedureListResult', 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_sql_stored_procedures.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures'} # type: ignore + + async def get_sql_stored_procedure( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs + ) -> "_models.SqlStoredProcedureGetResults": + """Gets the SQL storedProcedure under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param stored_procedure_name: Cosmos DB storedProcedure name. + :type stored_procedure_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlStoredProcedureGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_stored_procedure.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('SqlStoredProcedureGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + async def _create_update_sql_stored_procedure_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + create_update_sql_stored_procedure_parameters: "_models.SqlStoredProcedureCreateUpdateParameters", + **kwargs + ) -> Optional["_models.SqlStoredProcedureGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlStoredProcedureGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_sql_stored_procedure_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_sql_stored_procedure_parameters, 'SqlStoredProcedureCreateUpdateParameters') + 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, 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('SqlStoredProcedureGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + async def begin_create_update_sql_stored_procedure( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + create_update_sql_stored_procedure_parameters: "_models.SqlStoredProcedureCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.SqlStoredProcedureGetResults"]: + """Create or update an Azure Cosmos DB SQL storedProcedure. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param stored_procedure_name: Cosmos DB storedProcedure name. + :type stored_procedure_name: str + :param create_update_sql_stored_procedure_parameters: The parameters to provide for the current + SQL storedProcedure. + :type create_update_sql_stored_procedure_parameters: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SqlStoredProcedureGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_sql_stored_procedure_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + create_update_sql_stored_procedure_parameters=create_update_sql_stored_procedure_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlStoredProcedureGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + async def _delete_sql_stored_procedure_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_sql_stored_procedure_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + async def begin_delete_sql_stored_procedure( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB SQL storedProcedure. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param stored_procedure_name: Cosmos DB storedProcedure name. + :type stored_procedure_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_sql_stored_procedure_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + def list_sql_user_defined_functions( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> AsyncIterable["_models.SqlUserDefinedFunctionListResult"]: + """Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlUserDefinedFunctionListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_sql_user_defined_functions.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SqlUserDefinedFunctionListResult', 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_sql_user_defined_functions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions'} # type: ignore + + async def get_sql_user_defined_function( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs + ) -> "_models.SqlUserDefinedFunctionGetResults": + """Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param user_defined_function_name: Cosmos DB userDefinedFunction name. + :type user_defined_function_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlUserDefinedFunctionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_user_defined_function.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('SqlUserDefinedFunctionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + async def _create_update_sql_user_defined_function_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + create_update_sql_user_defined_function_parameters: "_models.SqlUserDefinedFunctionCreateUpdateParameters", + **kwargs + ) -> Optional["_models.SqlUserDefinedFunctionGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlUserDefinedFunctionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_sql_user_defined_function_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_sql_user_defined_function_parameters, 'SqlUserDefinedFunctionCreateUpdateParameters') + 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, 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('SqlUserDefinedFunctionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + async def begin_create_update_sql_user_defined_function( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + create_update_sql_user_defined_function_parameters: "_models.SqlUserDefinedFunctionCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.SqlUserDefinedFunctionGetResults"]: + """Create or update an Azure Cosmos DB SQL userDefinedFunction. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param user_defined_function_name: Cosmos DB userDefinedFunction name. + :type user_defined_function_name: str + :param create_update_sql_user_defined_function_parameters: The parameters to provide for the + current SQL userDefinedFunction. + :type create_update_sql_user_defined_function_parameters: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SqlUserDefinedFunctionGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_sql_user_defined_function_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + create_update_sql_user_defined_function_parameters=create_update_sql_user_defined_function_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlUserDefinedFunctionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + async def _delete_sql_user_defined_function_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_sql_user_defined_function_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + async def begin_delete_sql_user_defined_function( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB SQL userDefinedFunction. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param user_defined_function_name: Cosmos DB userDefinedFunction name. + :type user_defined_function_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_sql_user_defined_function_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + def list_sql_triggers( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs + ) -> AsyncIterable["_models.SqlTriggerListResult"]: + """Lists the SQL trigger under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlTriggerListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlTriggerListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_sql_triggers.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SqlTriggerListResult', 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_sql_triggers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers'} # type: ignore + + async def get_sql_trigger( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs + ) -> "_models.SqlTriggerGetResults": + """Gets the SQL trigger under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param trigger_name: Cosmos DB trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlTriggerGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlTriggerGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_trigger.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_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'] = self._serialize.header("accept", accept, 'str') + + 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('SqlTriggerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + async def _create_update_sql_trigger_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + create_update_sql_trigger_parameters: "_models.SqlTriggerCreateUpdateParameters", + **kwargs + ) -> Optional["_models.SqlTriggerGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlTriggerGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_sql_trigger_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_sql_trigger_parameters, 'SqlTriggerCreateUpdateParameters') + 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, 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('SqlTriggerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + async def begin_create_update_sql_trigger( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + create_update_sql_trigger_parameters: "_models.SqlTriggerCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.SqlTriggerGetResults"]: + """Create or update an Azure Cosmos DB SQL trigger. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param trigger_name: Cosmos DB trigger name. + :type trigger_name: str + :param create_update_sql_trigger_parameters: The parameters to provide for the current SQL + trigger. + :type create_update_sql_trigger_parameters: ~azure.mgmt.cosmosdb.models.SqlTriggerCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SqlTriggerGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_sql_trigger_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + create_update_sql_trigger_parameters=create_update_sql_trigger_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlTriggerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + async def _delete_sql_trigger_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_sql_trigger_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_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] + + 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_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + async def begin_delete_sql_trigger( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB SQL trigger. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param trigger_name: Cosmos DB trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_sql_trigger_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + async def _retrieve_continuous_backup_information_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs + ) -> Optional["_models.BackupInformation"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._retrieve_continuous_backup_information_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + 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) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore + + async def begin_retrieve_continuous_backup_information( + self, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs + ) -> AsyncLROPoller["_models.BackupInformation"]: + """Retrieves continuous backup information for a container resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either BackupInformation or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + location=location, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore + + async def get_sql_role_definition( + self, + role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "_models.SqlRoleDefinitionGetResults": + """Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id. + + :param role_definition_id: The GUID for the Role Definition. + :type role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlRoleDefinitionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_role_definition.metadata['url'] # type: ignore + path_format_arguments = { + 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('SqlRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + async def _create_update_sql_role_definition_initial( + self, + role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_definition_parameters: "_models.SqlRoleDefinitionCreateUpdateParameters", + **kwargs + ) -> Optional["_models.SqlRoleDefinitionGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlRoleDefinitionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_sql_role_definition_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_sql_role_definition_parameters, 'SqlRoleDefinitionCreateUpdateParameters') + 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, 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('SqlRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + async def begin_create_update_sql_role_definition( + self, + role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_definition_parameters: "_models.SqlRoleDefinitionCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.SqlRoleDefinitionGetResults"]: + """Creates or updates an Azure Cosmos DB SQL Role Definition. + + :param role_definition_id: The GUID for the Role Definition. + :type role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param create_update_sql_role_definition_parameters: The properties required to create or + update a Role Definition. + :type create_update_sql_role_definition_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SqlRoleDefinitionGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_sql_role_definition_initial( + role_definition_id=role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_sql_role_definition_parameters=create_update_sql_role_definition_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + async def _delete_sql_role_definition_initial( + self, + role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_sql_role_definition_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + async def begin_delete_sql_role_definition( + self, + role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB SQL Role Definition. + + :param role_definition_id: The GUID for the Role Definition. + :type role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_sql_role_definition_initial( + role_definition_id=role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + def list_sql_role_definitions( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.SqlRoleDefinitionListResult"]: + """Retrieves the list of all Azure Cosmos DB SQL Role Definitions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlRoleDefinitionListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_sql_role_definitions.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SqlRoleDefinitionListResult', 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_sql_role_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions'} # type: ignore + + async def get_sql_role_assignment( + self, + role_assignment_id: str, + resource_group_name: str, + account_name: str, + **kwargs + ) -> "_models.SqlRoleAssignmentGetResults": + """Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id. + + :param role_assignment_id: The GUID for the Role Assignment. + :type role_assignment_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlRoleAssignmentGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_sql_role_assignment.metadata['url'] # type: ignore + path_format_arguments = { + 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('SqlRoleAssignmentGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + async def _create_update_sql_role_assignment_initial( + self, + role_assignment_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_assignment_parameters: "_models.SqlRoleAssignmentCreateUpdateParameters", + **kwargs + ) -> Optional["_models.SqlRoleAssignmentGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlRoleAssignmentGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_sql_role_assignment_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_sql_role_assignment_parameters, 'SqlRoleAssignmentCreateUpdateParameters') + 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, 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('SqlRoleAssignmentGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + async def begin_create_update_sql_role_assignment( + self, + role_assignment_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_assignment_parameters: "_models.SqlRoleAssignmentCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.SqlRoleAssignmentGetResults"]: + """Creates or updates an Azure Cosmos DB SQL Role Assignment. + + :param role_assignment_id: The GUID for the Role Assignment. + :type role_assignment_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param create_update_sql_role_assignment_parameters: The properties required to create or + update a Role Assignment. + :type create_update_sql_role_assignment_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SqlRoleAssignmentGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_sql_role_assignment_initial( + role_assignment_id=role_assignment_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_sql_role_assignment_parameters=create_update_sql_role_assignment_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlRoleAssignmentGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + async def _delete_sql_role_assignment_initial( + self, + role_assignment_id: str, + resource_group_name: str, + account_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_sql_role_assignment_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + async def begin_delete_sql_role_assignment( + self, + role_assignment_id: str, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB SQL Role Assignment. + + :param role_assignment_id: The GUID for the Role Assignment. + :type role_assignment_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_sql_role_assignment_initial( + role_assignment_id=role_assignment_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + def list_sql_role_assignments( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.SqlRoleAssignmentListResult"]: + """Retrieves the list of all Azure Cosmos DB SQL Role Assignments. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlRoleAssignmentListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_sql_role_assignments.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('SqlRoleAssignmentListResult', 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_sql_role_assignments.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py new file mode 100644 index 00000000000..e47f3831b4f --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py @@ -0,0 +1,869 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TableResourcesOperations: + """TableResourcesOperations 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.cosmosdb.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_tables( + self, + resource_group_name: str, + account_name: str, + **kwargs + ) -> AsyncIterable["_models.TableListResult"]: + """Lists the Tables under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TableListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.TableListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_tables.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('TableListResult', 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_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables'} # type: ignore + + async def get_table( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> "_models.TableGetResults": + """Gets the Tables under an existing Azure Cosmos DB database account with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TableGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.TableGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_table.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('TableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + async def _create_update_table_initial( + self, + resource_group_name: str, + account_name: str, + table_name: str, + create_update_table_parameters: "_models.TableCreateUpdateParameters", + **kwargs + ) -> Optional["_models.TableGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.TableGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_update_table_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_table_parameters, 'TableCreateUpdateParameters') + 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, 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('TableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_update_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + async def begin_create_update_table( + self, + resource_group_name: str, + account_name: str, + table_name: str, + create_update_table_parameters: "_models.TableCreateUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.TableGetResults"]: + """Create or update an Azure Cosmos DB Table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :param create_update_table_parameters: The parameters to provide for the current Table. + :type create_update_table_parameters: ~azure.mgmt.cosmosdb.models.TableCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either TableGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.TableGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_update_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + create_update_table_parameters=create_update_table_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + async def _delete_table_initial( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + + # Construct URL + url = self._delete_table_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + async def begin_delete_table( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB Table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + async def get_table_throughput( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> "_models.ThroughputSettingsGetResults": + """Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with + the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_table_throughput.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + async def _update_table_throughput_initial( + self, + resource_group_name: str, + account_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_table_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + async def begin_update_table_throughput( + self, + resource_group_name: str, + account_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Update RUs per second of an Azure Cosmos DB Table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :param update_throughput_parameters: The parameters to provide for the RUs per second of the + current Table. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_table_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + async def _migrate_table_to_autoscale_initial( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_table_to_autoscale_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def begin_migrate_table_to_autoscale( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Table from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_table_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + async def _migrate_table_to_manual_throughput_initial( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> Optional["_models.ThroughputSettingsGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._migrate_table_to_manual_throughput_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _migrate_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def begin_migrate_table_to_manual_throughput( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs + ) -> AsyncLROPoller["_models.ThroughputSettingsGetResults"]: + """Migrate an Azure Cosmos DB Table from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._migrate_table_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py index a11171da649..a4f6d74ec0d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py @@ -1,22 +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. # -------------------------------------------------------------------------- try: - from ._models_py3 import ApiProperties from ._models_py3 import ARMProxyResource from ._models_py3 import ARMResourceProperties + from ._models_py3 import ApiProperties + from ._models_py3 import AutoUpgradePolicyResource from ._models_py3 import AutoscaleSettings from ._models_py3 import AutoscaleSettingsResource - from ._models_py3 import AutoUpgradePolicyResource - from ._models_py3 import AzureEntityResource + from ._models_py3 import BackupInformation from ._models_py3 import BackupPolicy from ._models_py3 import BackupResource from ._models_py3 import BackupResourceProperties @@ -25,6 +22,7 @@ from ._models_py3 import CassandraKeyspaceGetPropertiesOptions from ._models_py3 import CassandraKeyspaceGetPropertiesResource from ._models_py3 import CassandraKeyspaceGetResults + from ._models_py3 import CassandraKeyspaceListResult from ._models_py3 import CassandraKeyspaceResource from ._models_py3 import CassandraPartitionKey from ._models_py3 import CassandraSchema @@ -32,6 +30,7 @@ from ._models_py3 import CassandraTableGetPropertiesOptions from ._models_py3 import CassandraTableGetPropertiesResource from ._models_py3 import CassandraTableGetResults + from ._models_py3 import CassandraTableListResult from ._models_py3 import CassandraTableResource from ._models_py3 import Certificate from ._models_py3 import ClusterKey @@ -40,13 +39,21 @@ from ._models_py3 import ClusterResource from ._models_py3 import ClusterResourceProperties from ._models_py3 import Column + from ._models_py3 import Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties from ._models_py3 import CompositePath from ._models_py3 import ConflictResolutionPolicy from ._models_py3 import ConsistencyPolicy from ._models_py3 import ContainerPartitionKey + from ._models_py3 import ContinuousBackupInformation + from ._models_py3 import ContinuousBackupRestoreLocation from ._models_py3 import ContinuousModeBackupPolicy from ._models_py3 import CorsPolicy from ._models_py3 import CreateUpdateOptions + from ._models_py3 import DataCenterResource + from ._models_py3 import DataCenterResourceProperties + from ._models_py3 import DataTransferRegionalServiceResource + from ._models_py3 import DataTransferServiceResource + from ._models_py3 import DataTransferServiceResourceProperties from ._models_py3 import DatabaseAccountConnectionString from ._models_py3 import DatabaseAccountCreateUpdateParameters from ._models_py3 import DatabaseAccountCreateUpdateProperties @@ -56,11 +63,10 @@ from ._models_py3 import DatabaseAccountListReadOnlyKeysResult from ._models_py3 import DatabaseAccountRegenerateKeyParameters from ._models_py3 import DatabaseAccountUpdateParameters + from ._models_py3 import DatabaseAccountsListResult from ._models_py3 import DatabaseRestoreResource - from ._models_py3 import DataCenterResource - from ._models_py3 import DataCenterResourceProperties from ._models_py3 import DefaultRequestDatabaseAccountCreateUpdateProperties - from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import ErrorResponse from ._models_py3 import ExcludedPath from ._models_py3 import ExtendedResourceProperties from ._models_py3 import FailoverPolicies @@ -69,33 +75,44 @@ from ._models_py3 import GremlinDatabaseGetPropertiesOptions from ._models_py3 import GremlinDatabaseGetPropertiesResource from ._models_py3 import GremlinDatabaseGetResults + from ._models_py3 import GremlinDatabaseListResult from ._models_py3 import GremlinDatabaseResource from ._models_py3 import GremlinGraphCreateUpdateParameters from ._models_py3 import GremlinGraphGetPropertiesOptions from ._models_py3 import GremlinGraphGetPropertiesResource from ._models_py3 import GremlinGraphGetResults + from ._models_py3 import GremlinGraphListResult from ._models_py3 import GremlinGraphResource from ._models_py3 import IncludedPath from ._models_py3 import Indexes from ._models_py3 import IndexingPolicy from ._models_py3 import IpAddressOrRange + from ._models_py3 import ListBackups + from ._models_py3 import ListClusters + from ._models_py3 import ListDataCenters from ._models_py3 import Location + from ._models_py3 import LocationGetResult + from ._models_py3 import LocationListResult + from ._models_py3 import LocationProperties from ._models_py3 import ManagedServiceIdentity - from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue from ._models_py3 import Metric from ._models_py3 import MetricAvailability from ._models_py3 import MetricDefinition + from ._models_py3 import MetricDefinitionsListResult + from ._models_py3 import MetricListResult from ._models_py3 import MetricName from ._models_py3 import MetricValue from ._models_py3 import MongoDBCollectionCreateUpdateParameters from ._models_py3 import MongoDBCollectionGetPropertiesOptions from ._models_py3 import MongoDBCollectionGetPropertiesResource from ._models_py3 import MongoDBCollectionGetResults + from ._models_py3 import MongoDBCollectionListResult from ._models_py3 import MongoDBCollectionResource from ._models_py3 import MongoDBDatabaseCreateUpdateParameters from ._models_py3 import MongoDBDatabaseGetPropertiesOptions from ._models_py3 import MongoDBDatabaseGetPropertiesResource from ._models_py3 import MongoDBDatabaseGetResults + from ._models_py3 import MongoDBDatabaseListResult from ._models_py3 import MongoDBDatabaseResource from ._models_py3 import MongoIndex from ._models_py3 import MongoIndexKeys @@ -103,329 +120,377 @@ from ._models_py3 import NotebookWorkspace from ._models_py3 import NotebookWorkspaceConnectionInfoResult from ._models_py3 import NotebookWorkspaceCreateUpdateParameters + from ._models_py3 import NotebookWorkspaceListResult from ._models_py3 import Operation from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResult from ._models_py3 import OptionsResource from ._models_py3 import PartitionMetric + from ._models_py3 import PartitionMetricListResult from ._models_py3 import PartitionUsage + from ._models_py3 import PartitionUsagesResult from ._models_py3 import PercentileMetric + from ._models_py3 import PercentileMetricListResult from ._models_py3 import PercentileMetricValue from ._models_py3 import PeriodicModeBackupPolicy from ._models_py3 import PeriodicModeProperties from ._models_py3 import Permission from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateEndpointConnectionListResult from ._models_py3 import PrivateEndpointProperty from ._models_py3 import PrivateLinkResource + from ._models_py3 import PrivateLinkResourceListResult from ._models_py3 import PrivateLinkServiceConnectionStateProperty from ._models_py3 import ProxyResource from ._models_py3 import RegionForOnlineOffline + from ._models_py3 import RegionalServiceResource from ._models_py3 import RepairPostBody from ._models_py3 import Resource from ._models_py3 import RestorableDatabaseAccountGetResult + from ._models_py3 import RestorableDatabaseAccountsListResult from ._models_py3 import RestorableLocationResource from ._models_py3 import RestorableMongodbCollectionGetResult from ._models_py3 import RestorableMongodbCollectionPropertiesResource + from ._models_py3 import RestorableMongodbCollectionsListResult from ._models_py3 import RestorableMongodbDatabaseGetResult from ._models_py3 import RestorableMongodbDatabasePropertiesResource + from ._models_py3 import RestorableMongodbDatabasesListResult + from ._models_py3 import RestorableMongodbResourcesListResult from ._models_py3 import RestorableSqlContainerGetResult from ._models_py3 import RestorableSqlContainerPropertiesResource from ._models_py3 import RestorableSqlContainerPropertiesResourceContainer + from ._models_py3 import RestorableSqlContainersListResult from ._models_py3 import RestorableSqlDatabaseGetResult from ._models_py3 import RestorableSqlDatabasePropertiesResource from ._models_py3 import RestorableSqlDatabasePropertiesResourceDatabase + from ._models_py3 import RestorableSqlDatabasesListResult + from ._models_py3 import RestorableSqlResourcesListResult from ._models_py3 import RestoreParameters from ._models_py3 import RestoreReqeustDatabaseAccountCreateUpdateProperties from ._models_py3 import SeedNode + from ._models_py3 import ServiceResource + from ._models_py3 import ServiceResourceListResult + from ._models_py3 import ServiceResourceProperties from ._models_py3 import SpatialSpec from ._models_py3 import SqlContainerCreateUpdateParameters from ._models_py3 import SqlContainerGetPropertiesOptions from ._models_py3 import SqlContainerGetPropertiesResource from ._models_py3 import SqlContainerGetResults + from ._models_py3 import SqlContainerListResult from ._models_py3 import SqlContainerResource from ._models_py3 import SqlDatabaseCreateUpdateParameters from ._models_py3 import SqlDatabaseGetPropertiesOptions from ._models_py3 import SqlDatabaseGetPropertiesResource from ._models_py3 import SqlDatabaseGetResults + from ._models_py3 import SqlDatabaseListResult from ._models_py3 import SqlDatabaseResource + from ._models_py3 import SqlDedicatedGatewayRegionalServiceResource + from ._models_py3 import SqlDedicatedGatewayServiceResource + from ._models_py3 import SqlDedicatedGatewayServiceResourceProperties from ._models_py3 import SqlRoleAssignmentCreateUpdateParameters from ._models_py3 import SqlRoleAssignmentGetResults + from ._models_py3 import SqlRoleAssignmentListResult from ._models_py3 import SqlRoleDefinitionCreateUpdateParameters from ._models_py3 import SqlRoleDefinitionGetResults + from ._models_py3 import SqlRoleDefinitionListResult from ._models_py3 import SqlStoredProcedureCreateUpdateParameters from ._models_py3 import SqlStoredProcedureGetPropertiesResource from ._models_py3 import SqlStoredProcedureGetResults + from ._models_py3 import SqlStoredProcedureListResult from ._models_py3 import SqlStoredProcedureResource from ._models_py3 import SqlTriggerCreateUpdateParameters from ._models_py3 import SqlTriggerGetPropertiesResource from ._models_py3 import SqlTriggerGetResults + from ._models_py3 import SqlTriggerListResult from ._models_py3 import SqlTriggerResource from ._models_py3 import SqlUserDefinedFunctionCreateUpdateParameters from ._models_py3 import SqlUserDefinedFunctionGetPropertiesResource from ._models_py3 import SqlUserDefinedFunctionGetResults + from ._models_py3 import SqlUserDefinedFunctionListResult from ._models_py3 import SqlUserDefinedFunctionResource from ._models_py3 import SystemData from ._models_py3 import TableCreateUpdateParameters from ._models_py3 import TableGetPropertiesOptions from ._models_py3 import TableGetPropertiesResource from ._models_py3 import TableGetResults + from ._models_py3 import TableListResult from ._models_py3 import TableResource from ._models_py3 import ThroughputPolicyResource from ._models_py3 import ThroughputSettingsGetPropertiesResource from ._models_py3 import ThroughputSettingsGetResults from ._models_py3 import ThroughputSettingsResource from ._models_py3 import ThroughputSettingsUpdateParameters - from ._models_py3 import TrackedResource from ._models_py3 import UniqueKey from ._models_py3 import UniqueKeyPolicy from ._models_py3 import Usage + from ._models_py3 import UsagesResult from ._models_py3 import VirtualNetworkRule except (SyntaxError, ImportError): - from ._models import ApiProperties - from ._models import ARMProxyResource - from ._models import ARMResourceProperties - from ._models import AutoscaleSettings - from ._models import AutoscaleSettingsResource - from ._models import AutoUpgradePolicyResource - from ._models import AzureEntityResource - from ._models import BackupPolicy - from ._models import BackupResource - from ._models import BackupResourceProperties - from ._models import Capability - from ._models import CassandraKeyspaceCreateUpdateParameters - from ._models import CassandraKeyspaceGetPropertiesOptions - from ._models import CassandraKeyspaceGetPropertiesResource - from ._models import CassandraKeyspaceGetResults - from ._models import CassandraKeyspaceResource - from ._models import CassandraPartitionKey - from ._models import CassandraSchema - from ._models import CassandraTableCreateUpdateParameters - from ._models import CassandraTableGetPropertiesOptions - from ._models import CassandraTableGetPropertiesResource - from ._models import CassandraTableGetResults - from ._models import CassandraTableResource - from ._models import Certificate - from ._models import ClusterKey - from ._models import ClusterNodeStatus - from ._models import ClusterNodeStatusNodesItem - from ._models import ClusterResource - from ._models import ClusterResourceProperties - from ._models import Column - from ._models import CompositePath - from ._models import ConflictResolutionPolicy - from ._models import ConsistencyPolicy - from ._models import ContainerPartitionKey - from ._models import ContinuousModeBackupPolicy - from ._models import CorsPolicy - from ._models import CreateUpdateOptions - from ._models import DatabaseAccountConnectionString - from ._models import DatabaseAccountCreateUpdateParameters - from ._models import DatabaseAccountCreateUpdateProperties - from ._models import DatabaseAccountGetResults - from ._models import DatabaseAccountListConnectionStringsResult - from ._models import DatabaseAccountListKeysResult - from ._models import DatabaseAccountListReadOnlyKeysResult - from ._models import DatabaseAccountRegenerateKeyParameters - from ._models import DatabaseAccountUpdateParameters - from ._models import DatabaseRestoreResource - from ._models import DataCenterResource - from ._models import DataCenterResourceProperties - from ._models import DefaultRequestDatabaseAccountCreateUpdateProperties - from ._models import ErrorResponse, ErrorResponseException - from ._models import ExcludedPath - from ._models import ExtendedResourceProperties - from ._models import FailoverPolicies - from ._models import FailoverPolicy - from ._models import GremlinDatabaseCreateUpdateParameters - from ._models import GremlinDatabaseGetPropertiesOptions - from ._models import GremlinDatabaseGetPropertiesResource - from ._models import GremlinDatabaseGetResults - from ._models import GremlinDatabaseResource - from ._models import GremlinGraphCreateUpdateParameters - from ._models import GremlinGraphGetPropertiesOptions - from ._models import GremlinGraphGetPropertiesResource - from ._models import GremlinGraphGetResults - from ._models import GremlinGraphResource - from ._models import IncludedPath - from ._models import Indexes - from ._models import IndexingPolicy - from ._models import IpAddressOrRange - from ._models import Location - from ._models import ManagedServiceIdentity - from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue - from ._models import Metric - from ._models import MetricAvailability - from ._models import MetricDefinition - from ._models import MetricName - from ._models import MetricValue - from ._models import MongoDBCollectionCreateUpdateParameters - from ._models import MongoDBCollectionGetPropertiesOptions - from ._models import MongoDBCollectionGetPropertiesResource - from ._models import MongoDBCollectionGetResults - from ._models import MongoDBCollectionResource - from ._models import MongoDBDatabaseCreateUpdateParameters - from ._models import MongoDBDatabaseGetPropertiesOptions - from ._models import MongoDBDatabaseGetPropertiesResource - from ._models import MongoDBDatabaseGetResults - from ._models import MongoDBDatabaseResource - from ._models import MongoIndex - from ._models import MongoIndexKeys - from ._models import MongoIndexOptions - from ._models import NotebookWorkspace - from ._models import NotebookWorkspaceConnectionInfoResult - from ._models import NotebookWorkspaceCreateUpdateParameters - from ._models import Operation - from ._models import OperationDisplay - from ._models import OptionsResource - from ._models import PartitionMetric - from ._models import PartitionUsage - from ._models import PercentileMetric - from ._models import PercentileMetricValue - from ._models import PeriodicModeBackupPolicy - from ._models import PeriodicModeProperties - from ._models import Permission - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointProperty - from ._models import PrivateLinkResource - from ._models import PrivateLinkServiceConnectionStateProperty - from ._models import ProxyResource - from ._models import RegionForOnlineOffline - from ._models import RepairPostBody - from ._models import Resource - from ._models import RestorableDatabaseAccountGetResult - from ._models import RestorableLocationResource - from ._models import RestorableMongodbCollectionGetResult - from ._models import RestorableMongodbCollectionPropertiesResource - from ._models import RestorableMongodbDatabaseGetResult - from ._models import RestorableMongodbDatabasePropertiesResource - from ._models import RestorableSqlContainerGetResult - from ._models import RestorableSqlContainerPropertiesResource - from ._models import RestorableSqlContainerPropertiesResourceContainer - from ._models import RestorableSqlDatabaseGetResult - from ._models import RestorableSqlDatabasePropertiesResource - from ._models import RestorableSqlDatabasePropertiesResourceDatabase - from ._models import RestoreParameters - from ._models import RestoreReqeustDatabaseAccountCreateUpdateProperties - from ._models import SeedNode - from ._models import SpatialSpec - from ._models import SqlContainerCreateUpdateParameters - from ._models import SqlContainerGetPropertiesOptions - from ._models import SqlContainerGetPropertiesResource - from ._models import SqlContainerGetResults - from ._models import SqlContainerResource - from ._models import SqlDatabaseCreateUpdateParameters - from ._models import SqlDatabaseGetPropertiesOptions - from ._models import SqlDatabaseGetPropertiesResource - from ._models import SqlDatabaseGetResults - from ._models import SqlDatabaseResource - from ._models import SqlRoleAssignmentCreateUpdateParameters - from ._models import SqlRoleAssignmentGetResults - from ._models import SqlRoleDefinitionCreateUpdateParameters - from ._models import SqlRoleDefinitionGetResults - from ._models import SqlStoredProcedureCreateUpdateParameters - from ._models import SqlStoredProcedureGetPropertiesResource - from ._models import SqlStoredProcedureGetResults - from ._models import SqlStoredProcedureResource - from ._models import SqlTriggerCreateUpdateParameters - from ._models import SqlTriggerGetPropertiesResource - from ._models import SqlTriggerGetResults - from ._models import SqlTriggerResource - from ._models import SqlUserDefinedFunctionCreateUpdateParameters - from ._models import SqlUserDefinedFunctionGetPropertiesResource - from ._models import SqlUserDefinedFunctionGetResults - from ._models import SqlUserDefinedFunctionResource - from ._models import SystemData - from ._models import TableCreateUpdateParameters - from ._models import TableGetPropertiesOptions - from ._models import TableGetPropertiesResource - from ._models import TableGetResults - from ._models import TableResource - from ._models import ThroughputPolicyResource - from ._models import ThroughputSettingsGetPropertiesResource - from ._models import ThroughputSettingsGetResults - from ._models import ThroughputSettingsResource - from ._models import ThroughputSettingsUpdateParameters - from ._models import TrackedResource - from ._models import UniqueKey - from ._models import UniqueKeyPolicy - from ._models import Usage - from ._models import VirtualNetworkRule -from ._paged_models import BackupResourcePaged -from ._paged_models import CassandraKeyspaceGetResultsPaged -from ._paged_models import CassandraTableGetResultsPaged -from ._paged_models import ClusterResourcePaged -from ._paged_models import DatabaseAccountGetResultsPaged -from ._paged_models import DatabaseRestoreResourcePaged -from ._paged_models import DataCenterResourcePaged -from ._paged_models import GremlinDatabaseGetResultsPaged -from ._paged_models import GremlinGraphGetResultsPaged -from ._paged_models import MetricDefinitionPaged -from ._paged_models import MetricPaged -from ._paged_models import MongoDBCollectionGetResultsPaged -from ._paged_models import MongoDBDatabaseGetResultsPaged -from ._paged_models import NotebookWorkspacePaged -from ._paged_models import OperationPaged -from ._paged_models import PartitionMetricPaged -from ._paged_models import PartitionUsagePaged -from ._paged_models import PercentileMetricPaged -from ._paged_models import PrivateEndpointConnectionPaged -from ._paged_models import PrivateLinkResourcePaged -from ._paged_models import RestorableDatabaseAccountGetResultPaged -from ._paged_models import RestorableMongodbCollectionGetResultPaged -from ._paged_models import RestorableMongodbDatabaseGetResultPaged -from ._paged_models import RestorableSqlContainerGetResultPaged -from ._paged_models import RestorableSqlDatabaseGetResultPaged -from ._paged_models import SqlContainerGetResultsPaged -from ._paged_models import SqlDatabaseGetResultsPaged -from ._paged_models import SqlRoleAssignmentGetResultsPaged -from ._paged_models import SqlRoleDefinitionGetResultsPaged -from ._paged_models import SqlStoredProcedureGetResultsPaged -from ._paged_models import SqlTriggerGetResultsPaged -from ._paged_models import SqlUserDefinedFunctionGetResultsPaged -from ._paged_models import TableGetResultsPaged -from ._paged_models import UsagePaged + from ._models import ARMProxyResource # type: ignore + from ._models import ARMResourceProperties # type: ignore + from ._models import ApiProperties # type: ignore + from ._models import AutoUpgradePolicyResource # type: ignore + from ._models import AutoscaleSettings # type: ignore + from ._models import AutoscaleSettingsResource # type: ignore + from ._models import BackupInformation # type: ignore + from ._models import BackupPolicy # type: ignore + from ._models import BackupResource # type: ignore + from ._models import BackupResourceProperties # type: ignore + from ._models import Capability # type: ignore + from ._models import CassandraKeyspaceCreateUpdateParameters # type: ignore + from ._models import CassandraKeyspaceGetPropertiesOptions # type: ignore + from ._models import CassandraKeyspaceGetPropertiesResource # type: ignore + from ._models import CassandraKeyspaceGetResults # type: ignore + from ._models import CassandraKeyspaceListResult # type: ignore + from ._models import CassandraKeyspaceResource # type: ignore + from ._models import CassandraPartitionKey # type: ignore + from ._models import CassandraSchema # type: ignore + from ._models import CassandraTableCreateUpdateParameters # type: ignore + from ._models import CassandraTableGetPropertiesOptions # type: ignore + from ._models import CassandraTableGetPropertiesResource # type: ignore + from ._models import CassandraTableGetResults # type: ignore + from ._models import CassandraTableListResult # type: ignore + from ._models import CassandraTableResource # type: ignore + from ._models import Certificate # type: ignore + from ._models import ClusterKey # type: ignore + from ._models import ClusterNodeStatus # type: ignore + from ._models import ClusterNodeStatusNodesItem # type: ignore + from ._models import ClusterResource # type: ignore + from ._models import ClusterResourceProperties # type: ignore + from ._models import Column # type: ignore + from ._models import Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties # type: ignore + from ._models import CompositePath # type: ignore + from ._models import ConflictResolutionPolicy # type: ignore + from ._models import ConsistencyPolicy # type: ignore + from ._models import ContainerPartitionKey # type: ignore + from ._models import ContinuousBackupInformation # type: ignore + from ._models import ContinuousBackupRestoreLocation # type: ignore + from ._models import ContinuousModeBackupPolicy # type: ignore + from ._models import CorsPolicy # type: ignore + from ._models import CreateUpdateOptions # type: ignore + from ._models import DataCenterResource # type: ignore + from ._models import DataCenterResourceProperties # type: ignore + from ._models import DataTransferRegionalServiceResource # type: ignore + from ._models import DataTransferServiceResource # type: ignore + from ._models import DataTransferServiceResourceProperties # type: ignore + from ._models import DatabaseAccountConnectionString # type: ignore + from ._models import DatabaseAccountCreateUpdateParameters # type: ignore + from ._models import DatabaseAccountCreateUpdateProperties # type: ignore + from ._models import DatabaseAccountGetResults # type: ignore + from ._models import DatabaseAccountListConnectionStringsResult # type: ignore + from ._models import DatabaseAccountListKeysResult # type: ignore + from ._models import DatabaseAccountListReadOnlyKeysResult # type: ignore + from ._models import DatabaseAccountRegenerateKeyParameters # type: ignore + from ._models import DatabaseAccountUpdateParameters # type: ignore + from ._models import DatabaseAccountsListResult # type: ignore + from ._models import DatabaseRestoreResource # type: ignore + from ._models import DefaultRequestDatabaseAccountCreateUpdateProperties # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import ExcludedPath # type: ignore + from ._models import ExtendedResourceProperties # type: ignore + from ._models import FailoverPolicies # type: ignore + from ._models import FailoverPolicy # type: ignore + from ._models import GremlinDatabaseCreateUpdateParameters # type: ignore + from ._models import GremlinDatabaseGetPropertiesOptions # type: ignore + from ._models import GremlinDatabaseGetPropertiesResource # type: ignore + from ._models import GremlinDatabaseGetResults # type: ignore + from ._models import GremlinDatabaseListResult # type: ignore + from ._models import GremlinDatabaseResource # type: ignore + from ._models import GremlinGraphCreateUpdateParameters # type: ignore + from ._models import GremlinGraphGetPropertiesOptions # type: ignore + from ._models import GremlinGraphGetPropertiesResource # type: ignore + from ._models import GremlinGraphGetResults # type: ignore + from ._models import GremlinGraphListResult # type: ignore + from ._models import GremlinGraphResource # type: ignore + from ._models import IncludedPath # type: ignore + from ._models import Indexes # type: ignore + from ._models import IndexingPolicy # type: ignore + from ._models import IpAddressOrRange # type: ignore + from ._models import ListBackups # type: ignore + from ._models import ListClusters # type: ignore + from ._models import ListDataCenters # type: ignore + from ._models import Location # type: ignore + from ._models import LocationGetResult # type: ignore + from ._models import LocationListResult # type: ignore + from ._models import LocationProperties # type: ignore + from ._models import ManagedServiceIdentity # type: ignore + from ._models import Metric # type: ignore + from ._models import MetricAvailability # type: ignore + from ._models import MetricDefinition # type: ignore + from ._models import MetricDefinitionsListResult # type: ignore + from ._models import MetricListResult # type: ignore + from ._models import MetricName # type: ignore + from ._models import MetricValue # type: ignore + from ._models import MongoDBCollectionCreateUpdateParameters # type: ignore + from ._models import MongoDBCollectionGetPropertiesOptions # type: ignore + from ._models import MongoDBCollectionGetPropertiesResource # type: ignore + from ._models import MongoDBCollectionGetResults # type: ignore + from ._models import MongoDBCollectionListResult # type: ignore + from ._models import MongoDBCollectionResource # type: ignore + from ._models import MongoDBDatabaseCreateUpdateParameters # type: ignore + from ._models import MongoDBDatabaseGetPropertiesOptions # type: ignore + from ._models import MongoDBDatabaseGetPropertiesResource # type: ignore + from ._models import MongoDBDatabaseGetResults # type: ignore + from ._models import MongoDBDatabaseListResult # type: ignore + from ._models import MongoDBDatabaseResource # type: ignore + from ._models import MongoIndex # type: ignore + from ._models import MongoIndexKeys # type: ignore + from ._models import MongoIndexOptions # type: ignore + from ._models import NotebookWorkspace # type: ignore + from ._models import NotebookWorkspaceConnectionInfoResult # type: ignore + from ._models import NotebookWorkspaceCreateUpdateParameters # type: ignore + from ._models import NotebookWorkspaceListResult # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OptionsResource # type: ignore + from ._models import PartitionMetric # type: ignore + from ._models import PartitionMetricListResult # type: ignore + from ._models import PartitionUsage # type: ignore + from ._models import PartitionUsagesResult # type: ignore + from ._models import PercentileMetric # type: ignore + from ._models import PercentileMetricListResult # type: ignore + from ._models import PercentileMetricValue # type: ignore + from ._models import PeriodicModeBackupPolicy # type: ignore + from ._models import PeriodicModeProperties # type: ignore + from ._models import Permission # type: ignore + from ._models import PrivateEndpointConnection # type: ignore + from ._models import PrivateEndpointConnectionListResult # type: ignore + from ._models import PrivateEndpointProperty # type: ignore + from ._models import PrivateLinkResource # type: ignore + from ._models import PrivateLinkResourceListResult # type: ignore + from ._models import PrivateLinkServiceConnectionStateProperty # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import RegionForOnlineOffline # type: ignore + from ._models import RegionalServiceResource # type: ignore + from ._models import RepairPostBody # type: ignore + from ._models import Resource # type: ignore + from ._models import RestorableDatabaseAccountGetResult # type: ignore + from ._models import RestorableDatabaseAccountsListResult # type: ignore + from ._models import RestorableLocationResource # type: ignore + from ._models import RestorableMongodbCollectionGetResult # type: ignore + from ._models import RestorableMongodbCollectionPropertiesResource # type: ignore + from ._models import RestorableMongodbCollectionsListResult # type: ignore + from ._models import RestorableMongodbDatabaseGetResult # type: ignore + from ._models import RestorableMongodbDatabasePropertiesResource # type: ignore + from ._models import RestorableMongodbDatabasesListResult # type: ignore + from ._models import RestorableMongodbResourcesListResult # type: ignore + from ._models import RestorableSqlContainerGetResult # type: ignore + from ._models import RestorableSqlContainerPropertiesResource # type: ignore + from ._models import RestorableSqlContainerPropertiesResourceContainer # type: ignore + from ._models import RestorableSqlContainersListResult # type: ignore + from ._models import RestorableSqlDatabaseGetResult # type: ignore + from ._models import RestorableSqlDatabasePropertiesResource # type: ignore + from ._models import RestorableSqlDatabasePropertiesResourceDatabase # type: ignore + from ._models import RestorableSqlDatabasesListResult # type: ignore + from ._models import RestorableSqlResourcesListResult # type: ignore + from ._models import RestoreParameters # type: ignore + from ._models import RestoreReqeustDatabaseAccountCreateUpdateProperties # type: ignore + from ._models import SeedNode # type: ignore + from ._models import ServiceResource # type: ignore + from ._models import ServiceResourceListResult # type: ignore + from ._models import ServiceResourceProperties # type: ignore + from ._models import SpatialSpec # type: ignore + from ._models import SqlContainerCreateUpdateParameters # type: ignore + from ._models import SqlContainerGetPropertiesOptions # type: ignore + from ._models import SqlContainerGetPropertiesResource # type: ignore + from ._models import SqlContainerGetResults # type: ignore + from ._models import SqlContainerListResult # type: ignore + from ._models import SqlContainerResource # type: ignore + from ._models import SqlDatabaseCreateUpdateParameters # type: ignore + from ._models import SqlDatabaseGetPropertiesOptions # type: ignore + from ._models import SqlDatabaseGetPropertiesResource # type: ignore + from ._models import SqlDatabaseGetResults # type: ignore + from ._models import SqlDatabaseListResult # type: ignore + from ._models import SqlDatabaseResource # type: ignore + from ._models import SqlDedicatedGatewayRegionalServiceResource # type: ignore + from ._models import SqlDedicatedGatewayServiceResource # type: ignore + from ._models import SqlDedicatedGatewayServiceResourceProperties # type: ignore + from ._models import SqlRoleAssignmentCreateUpdateParameters # type: ignore + from ._models import SqlRoleAssignmentGetResults # type: ignore + from ._models import SqlRoleAssignmentListResult # type: ignore + from ._models import SqlRoleDefinitionCreateUpdateParameters # type: ignore + from ._models import SqlRoleDefinitionGetResults # type: ignore + from ._models import SqlRoleDefinitionListResult # type: ignore + from ._models import SqlStoredProcedureCreateUpdateParameters # type: ignore + from ._models import SqlStoredProcedureGetPropertiesResource # type: ignore + from ._models import SqlStoredProcedureGetResults # type: ignore + from ._models import SqlStoredProcedureListResult # type: ignore + from ._models import SqlStoredProcedureResource # type: ignore + from ._models import SqlTriggerCreateUpdateParameters # type: ignore + from ._models import SqlTriggerGetPropertiesResource # type: ignore + from ._models import SqlTriggerGetResults # type: ignore + from ._models import SqlTriggerListResult # type: ignore + from ._models import SqlTriggerResource # type: ignore + from ._models import SqlUserDefinedFunctionCreateUpdateParameters # type: ignore + from ._models import SqlUserDefinedFunctionGetPropertiesResource # type: ignore + from ._models import SqlUserDefinedFunctionGetResults # type: ignore + from ._models import SqlUserDefinedFunctionListResult # type: ignore + from ._models import SqlUserDefinedFunctionResource # type: ignore + from ._models import SystemData # type: ignore + from ._models import TableCreateUpdateParameters # type: ignore + from ._models import TableGetPropertiesOptions # type: ignore + from ._models import TableGetPropertiesResource # type: ignore + from ._models import TableGetResults # type: ignore + from ._models import TableListResult # type: ignore + from ._models import TableResource # type: ignore + from ._models import ThroughputPolicyResource # type: ignore + from ._models import ThroughputSettingsGetPropertiesResource # type: ignore + from ._models import ThroughputSettingsGetResults # type: ignore + from ._models import ThroughputSettingsResource # type: ignore + from ._models import ThroughputSettingsUpdateParameters # type: ignore + from ._models import UniqueKey # type: ignore + from ._models import UniqueKeyPolicy # type: ignore + from ._models import Usage # type: ignore + from ._models import UsagesResult # type: ignore + from ._models import VirtualNetworkRule # type: ignore + from ._cosmos_db_management_client_enums import ( - DatabaseAccountKind, - DatabaseAccountOfferType, - DefaultConsistencyLevel, + ApiType, + AuthenticationMethod, + BackupPolicyType, + BackupStorageRedundancy, + CompositePathSortOrder, + ConflictResolutionMode, ConnectorOffer, - PublicNetworkAccess, - ServerVersion, CreateMode, - RestoreMode, - NetworkAclBypass, CreatedByType, - IndexingMode, DataType, + DatabaseAccountKind, + DefaultConsistencyLevel, IndexKind, - CompositePathSortOrder, - SpatialType, - PartitionKind, - ConflictResolutionMode, - TriggerType, - TriggerOperation, - ResourceIdentityType, + IndexingMode, KeyKind, - UnitType, - PrimaryAggregationType, - BackupPolicyType, - BackupStorageRedundancy, - ApiType, - RoleDefinitionType, - OperationType, ManagedCassandraProvisioningState, - AuthenticationMethod, - NodeStatus, + NetworkAclBypass, NodeState, + NodeStatus, + NotebookWorkspaceName, + OperationType, + PartitionKind, + PrimaryAggregationType, + PublicNetworkAccess, + ResourceIdentityType, + RestoreMode, + RoleDefinitionType, + ServerVersion, + ServiceSize, + ServiceStatus, + ServiceType, + SpatialType, + TriggerOperation, + TriggerType, + UnitType, ) __all__ = [ - 'ApiProperties', 'ARMProxyResource', 'ARMResourceProperties', + 'ApiProperties', + 'AutoUpgradePolicyResource', 'AutoscaleSettings', 'AutoscaleSettingsResource', - 'AutoUpgradePolicyResource', - 'AzureEntityResource', + 'BackupInformation', 'BackupPolicy', 'BackupResource', 'BackupResourceProperties', @@ -434,6 +499,7 @@ 'CassandraKeyspaceGetPropertiesOptions', 'CassandraKeyspaceGetPropertiesResource', 'CassandraKeyspaceGetResults', + 'CassandraKeyspaceListResult', 'CassandraKeyspaceResource', 'CassandraPartitionKey', 'CassandraSchema', @@ -441,6 +507,7 @@ 'CassandraTableGetPropertiesOptions', 'CassandraTableGetPropertiesResource', 'CassandraTableGetResults', + 'CassandraTableListResult', 'CassandraTableResource', 'Certificate', 'ClusterKey', @@ -449,13 +516,21 @@ 'ClusterResource', 'ClusterResourceProperties', 'Column', + 'Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties', 'CompositePath', 'ConflictResolutionPolicy', 'ConsistencyPolicy', 'ContainerPartitionKey', + 'ContinuousBackupInformation', + 'ContinuousBackupRestoreLocation', 'ContinuousModeBackupPolicy', 'CorsPolicy', 'CreateUpdateOptions', + 'DataCenterResource', + 'DataCenterResourceProperties', + 'DataTransferRegionalServiceResource', + 'DataTransferServiceResource', + 'DataTransferServiceResourceProperties', 'DatabaseAccountConnectionString', 'DatabaseAccountCreateUpdateParameters', 'DatabaseAccountCreateUpdateProperties', @@ -465,11 +540,10 @@ 'DatabaseAccountListReadOnlyKeysResult', 'DatabaseAccountRegenerateKeyParameters', 'DatabaseAccountUpdateParameters', + 'DatabaseAccountsListResult', 'DatabaseRestoreResource', - 'DataCenterResource', - 'DataCenterResourceProperties', 'DefaultRequestDatabaseAccountCreateUpdateProperties', - 'ErrorResponse', 'ErrorResponseException', + 'ErrorResponse', 'ExcludedPath', 'ExtendedResourceProperties', 'FailoverPolicies', @@ -478,33 +552,44 @@ 'GremlinDatabaseGetPropertiesOptions', 'GremlinDatabaseGetPropertiesResource', 'GremlinDatabaseGetResults', + 'GremlinDatabaseListResult', 'GremlinDatabaseResource', 'GremlinGraphCreateUpdateParameters', 'GremlinGraphGetPropertiesOptions', 'GremlinGraphGetPropertiesResource', 'GremlinGraphGetResults', + 'GremlinGraphListResult', 'GremlinGraphResource', 'IncludedPath', 'Indexes', 'IndexingPolicy', 'IpAddressOrRange', + 'ListBackups', + 'ListClusters', + 'ListDataCenters', 'Location', + 'LocationGetResult', + 'LocationListResult', + 'LocationProperties', 'ManagedServiceIdentity', - 'ManagedServiceIdentityUserAssignedIdentitiesValue', 'Metric', 'MetricAvailability', 'MetricDefinition', + 'MetricDefinitionsListResult', + 'MetricListResult', 'MetricName', 'MetricValue', 'MongoDBCollectionCreateUpdateParameters', 'MongoDBCollectionGetPropertiesOptions', 'MongoDBCollectionGetPropertiesResource', 'MongoDBCollectionGetResults', + 'MongoDBCollectionListResult', 'MongoDBCollectionResource', 'MongoDBDatabaseCreateUpdateParameters', 'MongoDBDatabaseGetPropertiesOptions', 'MongoDBDatabaseGetPropertiesResource', 'MongoDBDatabaseGetResults', + 'MongoDBDatabaseListResult', 'MongoDBDatabaseResource', 'MongoIndex', 'MongoIndexKeys', @@ -512,146 +597,144 @@ 'NotebookWorkspace', 'NotebookWorkspaceConnectionInfoResult', 'NotebookWorkspaceCreateUpdateParameters', + 'NotebookWorkspaceListResult', 'Operation', 'OperationDisplay', + 'OperationListResult', 'OptionsResource', 'PartitionMetric', + 'PartitionMetricListResult', 'PartitionUsage', + 'PartitionUsagesResult', 'PercentileMetric', + 'PercentileMetricListResult', 'PercentileMetricValue', 'PeriodicModeBackupPolicy', 'PeriodicModeProperties', 'Permission', 'PrivateEndpointConnection', + 'PrivateEndpointConnectionListResult', 'PrivateEndpointProperty', 'PrivateLinkResource', + 'PrivateLinkResourceListResult', 'PrivateLinkServiceConnectionStateProperty', 'ProxyResource', 'RegionForOnlineOffline', + 'RegionalServiceResource', 'RepairPostBody', 'Resource', 'RestorableDatabaseAccountGetResult', + 'RestorableDatabaseAccountsListResult', 'RestorableLocationResource', 'RestorableMongodbCollectionGetResult', 'RestorableMongodbCollectionPropertiesResource', + 'RestorableMongodbCollectionsListResult', 'RestorableMongodbDatabaseGetResult', 'RestorableMongodbDatabasePropertiesResource', + 'RestorableMongodbDatabasesListResult', + 'RestorableMongodbResourcesListResult', 'RestorableSqlContainerGetResult', 'RestorableSqlContainerPropertiesResource', 'RestorableSqlContainerPropertiesResourceContainer', + 'RestorableSqlContainersListResult', 'RestorableSqlDatabaseGetResult', 'RestorableSqlDatabasePropertiesResource', 'RestorableSqlDatabasePropertiesResourceDatabase', + 'RestorableSqlDatabasesListResult', + 'RestorableSqlResourcesListResult', 'RestoreParameters', 'RestoreReqeustDatabaseAccountCreateUpdateProperties', 'SeedNode', + 'ServiceResource', + 'ServiceResourceListResult', + 'ServiceResourceProperties', 'SpatialSpec', 'SqlContainerCreateUpdateParameters', 'SqlContainerGetPropertiesOptions', 'SqlContainerGetPropertiesResource', 'SqlContainerGetResults', + 'SqlContainerListResult', 'SqlContainerResource', 'SqlDatabaseCreateUpdateParameters', 'SqlDatabaseGetPropertiesOptions', 'SqlDatabaseGetPropertiesResource', 'SqlDatabaseGetResults', + 'SqlDatabaseListResult', 'SqlDatabaseResource', + 'SqlDedicatedGatewayRegionalServiceResource', + 'SqlDedicatedGatewayServiceResource', + 'SqlDedicatedGatewayServiceResourceProperties', 'SqlRoleAssignmentCreateUpdateParameters', 'SqlRoleAssignmentGetResults', + 'SqlRoleAssignmentListResult', 'SqlRoleDefinitionCreateUpdateParameters', 'SqlRoleDefinitionGetResults', + 'SqlRoleDefinitionListResult', 'SqlStoredProcedureCreateUpdateParameters', 'SqlStoredProcedureGetPropertiesResource', 'SqlStoredProcedureGetResults', + 'SqlStoredProcedureListResult', 'SqlStoredProcedureResource', 'SqlTriggerCreateUpdateParameters', 'SqlTriggerGetPropertiesResource', 'SqlTriggerGetResults', + 'SqlTriggerListResult', 'SqlTriggerResource', 'SqlUserDefinedFunctionCreateUpdateParameters', 'SqlUserDefinedFunctionGetPropertiesResource', 'SqlUserDefinedFunctionGetResults', + 'SqlUserDefinedFunctionListResult', 'SqlUserDefinedFunctionResource', 'SystemData', 'TableCreateUpdateParameters', 'TableGetPropertiesOptions', 'TableGetPropertiesResource', 'TableGetResults', + 'TableListResult', 'TableResource', 'ThroughputPolicyResource', 'ThroughputSettingsGetPropertiesResource', 'ThroughputSettingsGetResults', 'ThroughputSettingsResource', 'ThroughputSettingsUpdateParameters', - 'TrackedResource', 'UniqueKey', 'UniqueKeyPolicy', 'Usage', + 'UsagesResult', 'VirtualNetworkRule', - 'DatabaseAccountGetResultsPaged', - 'MetricPaged', - 'UsagePaged', - 'MetricDefinitionPaged', - 'OperationPaged', - 'PercentileMetricPaged', - 'PartitionMetricPaged', - 'PartitionUsagePaged', - 'SqlDatabaseGetResultsPaged', - 'SqlContainerGetResultsPaged', - 'SqlStoredProcedureGetResultsPaged', - 'SqlUserDefinedFunctionGetResultsPaged', - 'SqlTriggerGetResultsPaged', - 'SqlRoleDefinitionGetResultsPaged', - 'SqlRoleAssignmentGetResultsPaged', - 'MongoDBDatabaseGetResultsPaged', - 'MongoDBCollectionGetResultsPaged', - 'TableGetResultsPaged', - 'CassandraKeyspaceGetResultsPaged', - 'CassandraTableGetResultsPaged', - 'GremlinDatabaseGetResultsPaged', - 'GremlinGraphGetResultsPaged', - 'RestorableDatabaseAccountGetResultPaged', - 'NotebookWorkspacePaged', - 'RestorableSqlDatabaseGetResultPaged', - 'RestorableSqlContainerGetResultPaged', - 'DatabaseRestoreResourcePaged', - 'RestorableMongodbDatabaseGetResultPaged', - 'RestorableMongodbCollectionGetResultPaged', - 'ClusterResourcePaged', - 'BackupResourcePaged', - 'DataCenterResourcePaged', - 'PrivateLinkResourcePaged', - 'PrivateEndpointConnectionPaged', - 'DatabaseAccountKind', - 'DatabaseAccountOfferType', - 'DefaultConsistencyLevel', + 'ApiType', + 'AuthenticationMethod', + 'BackupPolicyType', + 'BackupStorageRedundancy', + 'CompositePathSortOrder', + 'ConflictResolutionMode', 'ConnectorOffer', - 'PublicNetworkAccess', - 'ServerVersion', 'CreateMode', - 'RestoreMode', - 'NetworkAclBypass', 'CreatedByType', - 'IndexingMode', 'DataType', + 'DatabaseAccountKind', + 'DefaultConsistencyLevel', 'IndexKind', - 'CompositePathSortOrder', - 'SpatialType', - 'PartitionKind', - 'ConflictResolutionMode', - 'TriggerType', - 'TriggerOperation', - 'ResourceIdentityType', + 'IndexingMode', 'KeyKind', - 'UnitType', - 'PrimaryAggregationType', - 'BackupPolicyType', - 'BackupStorageRedundancy', - 'ApiType', - 'RoleDefinitionType', - 'OperationType', 'ManagedCassandraProvisioningState', - 'AuthenticationMethod', - 'NodeStatus', + 'NetworkAclBypass', 'NodeState', + 'NodeStatus', + 'NotebookWorkspaceName', + 'OperationType', + 'PartitionKind', + 'PrimaryAggregationType', + 'PublicNetworkAccess', + 'ResourceIdentityType', + 'RestoreMode', + 'RoleDefinitionType', + 'ServerVersion', + 'ServiceSize', + 'ServiceStatus', + 'ServiceType', + 'SpatialType', + 'TriggerOperation', + 'TriggerType', + 'UnitType', ] diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py index 3f1aca9673d..47d875afc63 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py @@ -1,247 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 +from enum import Enum, EnumMeta +from six import with_metaclass - -class DatabaseAccountKind(str, Enum): - - global_document_db = "GlobalDocumentDB" - mongo_db = "MongoDB" - parse = "Parse" - - -class DatabaseAccountOfferType(str, Enum): - - standard = "Standard" - - -class DefaultConsistencyLevel(str, Enum): - - eventual = "Eventual" - session = "Session" - bounded_staleness = "BoundedStaleness" - strong = "Strong" - consistent_prefix = "ConsistentPrefix" - - -class ConnectorOffer(str, Enum): - - small = "Small" - - -class PublicNetworkAccess(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class ServerVersion(str, Enum): - - three_full_stop_two = "3.2" - three_full_stop_six = "3.6" - four_full_stop_zero = "4.0" - - -class CreateMode(str, Enum): - - default = "Default" - restore = "Restore" - - -class RestoreMode(str, Enum): - - point_in_time = "PointInTime" - - -class NetworkAclBypass(str, Enum): - - none = "None" - azure_services = "AzureServices" - - -class CreatedByType(str, Enum): - - user = "User" - application = "Application" - managed_identity = "ManagedIdentity" - key = "Key" - - -class IndexingMode(str, Enum): - - consistent = "consistent" - lazy = "lazy" - none = "none" - - -class DataType(str, Enum): - - string = "String" - number = "Number" - point = "Point" - polygon = "Polygon" - line_string = "LineString" - multi_polygon = "MultiPolygon" - - -class IndexKind(str, Enum): - - hash = "Hash" - range = "Range" - spatial = "Spatial" - - -class CompositePathSortOrder(str, Enum): - - ascending = "ascending" - descending = "descending" - - -class SpatialType(str, Enum): - - point = "Point" - line_string = "LineString" - polygon = "Polygon" - multi_polygon = "MultiPolygon" - - -class PartitionKind(str, Enum): - - hash = "Hash" - range = "Range" - multi_hash = "MultiHash" - - -class ConflictResolutionMode(str, Enum): - - last_writer_wins = "LastWriterWins" - custom = "Custom" - - -class TriggerType(str, Enum): - - pre = "Pre" - post = "Post" - - -class TriggerOperation(str, Enum): - - all = "All" - create = "Create" - update = "Update" - delete = "Delete" - replace = "Replace" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - system_assigned_user_assigned = "SystemAssigned,UserAssigned" - none = "None" - - -class KeyKind(str, Enum): - - primary = "primary" - secondary = "secondary" - primary_readonly = "primaryReadonly" - secondary_readonly = "secondaryReadonly" - - -class UnitType(str, Enum): - - count = "Count" - bytes = "Bytes" - seconds = "Seconds" - percent = "Percent" - count_per_second = "CountPerSecond" - bytes_per_second = "BytesPerSecond" - milliseconds = "Milliseconds" - - -class PrimaryAggregationType(str, Enum): - - none = "None" - average = "Average" - total = "Total" - minimum = "Minimum" - maximum = "Maximum" - last = "Last" - - -class BackupPolicyType(str, Enum): - - periodic = "Periodic" - continuous = "Continuous" - - -class BackupStorageRedundancy(str, Enum): - - geo = "Geo" - local = "Local" - zone = "Zone" - - -class ApiType(str, Enum): - - mongo_db = "MongoDB" - gremlin = "Gremlin" - cassandra = "Cassandra" - table = "Table" - sql = "Sql" - gremlin_v2 = "GremlinV2" - - -class RoleDefinitionType(str, Enum): - - built_in_role = "BuiltInRole" - custom_role = "CustomRole" - - -class OperationType(str, Enum): - - create = "Create" - replace = "Replace" - delete = "Delete" - system_operation = "SystemOperation" - - -class ManagedCassandraProvisioningState(str, Enum): - - creating = "Creating" - updating = "Updating" - deleting = "Deleting" - succeeded = "Succeeded" - failed = "Failed" - canceled = "Canceled" - - -class AuthenticationMethod(str, Enum): - - none = "None" - cassandra = "Cassandra" - - -class NodeStatus(str, Enum): - - up = "Up" - down = "Down" - - -class NodeState(str, Enum): - - normal = "Normal" - leaving = "Leaving" - joining = "Joining" - moving = "Moving" - stopped = "Stopped" +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class ApiType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum to indicate the API type of the restorable database account. + """ + + MONGO_DB = "MongoDB" + GREMLIN = "Gremlin" + CASSANDRA = "Cassandra" + TABLE = "Table" + SQL = "Sql" + GREMLIN_V2 = "GremlinV2" + +class AuthenticationMethod(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Which authentication method Cassandra should use to authenticate clients. 'None' turns off + authentication, so should not be used except in emergencies. 'Cassandra' is the default + password based authentication. The default is 'Cassandra'. + """ + + NONE = "None" + CASSANDRA = "Cassandra" + +class BackupPolicyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes the mode of backups. + """ + + PERIODIC = "Periodic" + CONTINUOUS = "Continuous" + +class BackupStorageRedundancy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum to indicate type of backup storage redundancy. + """ + + GEO = "Geo" + LOCAL = "Local" + ZONE = "Zone" + +class CompositePathSortOrder(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Sort order for composite paths. + """ + + ASCENDING = "ascending" + DESCENDING = "descending" + +class ConflictResolutionMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the conflict resolution mode. + """ + + LAST_WRITER_WINS = "LastWriterWins" + CUSTOM = "Custom" + +class ConnectorOffer(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The cassandra connector offer type for the Cosmos DB C* database account. + """ + + SMALL = "Small" + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class CreateMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum to indicate the mode of account creation. + """ + + DEFAULT = "Default" + RESTORE = "Restore" + +class DatabaseAccountKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the type of database account. This can only be set at database account creation. + """ + + GLOBAL_DOCUMENT_DB = "GlobalDocumentDB" + MONGO_DB = "MongoDB" + PARSE = "Parse" + +class DataType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The datatype for which the indexing behavior is applied to. + """ + + STRING = "String" + NUMBER = "Number" + POINT = "Point" + POLYGON = "Polygon" + LINE_STRING = "LineString" + MULTI_POLYGON = "MultiPolygon" + +class DefaultConsistencyLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The default consistency level and configuration settings of the Cosmos DB account. + """ + + EVENTUAL = "Eventual" + SESSION = "Session" + BOUNDED_STALENESS = "BoundedStaleness" + STRONG = "Strong" + CONSISTENT_PREFIX = "ConsistentPrefix" + +class IndexingMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the indexing mode. + """ + + CONSISTENT = "consistent" + LAZY = "lazy" + NONE = "none" + +class IndexKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the type of index. + """ + + HASH = "Hash" + RANGE = "Range" + SPATIAL = "Spatial" + +class KeyKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The access key to regenerate. + """ + + PRIMARY = "primary" + SECONDARY = "secondary" + PRIMARY_READONLY = "primaryReadonly" + SECONDARY_READONLY = "secondaryReadonly" + +class ManagedCassandraProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The status of the resource at the time the operation was called. + """ + + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + +class NetworkAclBypass(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates what services are allowed to bypass firewall checks. + """ + + NONE = "None" + AZURE_SERVICES = "AzureServices" + +class NodeState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The state of the node in relation to the cluster. + """ + + NORMAL = "Normal" + LEAVING = "Leaving" + JOINING = "Joining" + MOVING = "Moving" + STOPPED = "Stopped" + +class NodeStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates whether the node is functioning or not. + """ + + UP = "Up" + DOWN = "Down" + +class NotebookWorkspaceName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + DEFAULT = "default" + +class OperationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum to indicate the operation type of the event. + """ + + CREATE = "Create" + REPLACE = "Replace" + DELETE = "Delete" + SYSTEM_OPERATION = "SystemOperation" + +class PartitionKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys + (upto three maximum) are supported for container create + """ + + HASH = "Hash" + RANGE = "Range" + MULTI_HASH = "MultiHash" + +class PrimaryAggregationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The primary aggregation type of the metric. + """ + + NONE = "None" + AVERAGE = "Average" + TOTAL = "Total" + MINIMUM = "Minimum" + MAXIMUM = "Maximum" + LAST = "Last" + +class PublicNetworkAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Whether requests from Public Network are allowed + """ + + ENABLED = "Enabled" + DISABLED = "Disabled" + +class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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 service. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + NONE = "None" + +class RestoreMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes the mode of the restore. + """ + + POINT_IN_TIME = "PointInTime" + +class RoleDefinitionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates whether the Role Definition was built-in or user created. + """ + + BUILT_IN_ROLE = "BuiltInRole" + CUSTOM_ROLE = "CustomRole" + +class ServerVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes the ServerVersion of an a MongoDB account. + """ + + THREE2 = "3.2" + THREE6 = "3.6" + FOUR0 = "4.0" + +class ServiceSize(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Instance type for the service. + """ + + COSMOS_D4_S = "Cosmos.D4s" + COSMOS_D8_S = "Cosmos.D8s" + COSMOS_D16_S = "Cosmos.D16s" + +class ServiceStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes the status of a service. + """ + + CREATING = "Creating" + RUNNING = "Running" + UPDATING = "Updating" + DELETING = "Deleting" + ERROR = "Error" + STOPPED = "Stopped" + +class ServiceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """ServiceType for the service. + """ + + SQL_DEDICATED_GATEWAY = "SqlDedicatedGateway" + DATA_TRANSFER = "DataTransfer" + +class SpatialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the spatial type of index. + """ + + POINT = "Point" + LINE_STRING = "LineString" + POLYGON = "Polygon" + MULTI_POLYGON = "MultiPolygon" + +class TriggerOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The operation the trigger is associated with + """ + + ALL = "All" + CREATE = "Create" + UPDATE = "Update" + DELETE = "Delete" + REPLACE = "Replace" + +class TriggerType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the Trigger + """ + + PRE = "Pre" + POST = "Post" + +class UnitType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The unit of the metric. + """ + + COUNT = "Count" + BYTES = "Bytes" + SECONDS = "Seconds" + PERCENT = "Percent" + COUNT_PER_SECOND = "CountPerSecond" + BYTES_PER_SECOND = "BytesPerSecond" + MILLISECONDS = "Milliseconds" diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py index e94ffe1ebb4..0ab403d1171 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py @@ -1,23 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ApiProperties(Model): +class ApiProperties(msrest.serialization.Model): """ApiProperties. - :param server_version: Describes the ServerVersion of an a MongoDB - account. Possible values include: '3.2', '3.6', '4.0' + :param server_version: Describes the ServerVersion of an a MongoDB account. Possible values + include: "3.2", "3.6", "4.0". :type server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion """ @@ -25,17 +22,18 @@ class ApiProperties(Model): 'server_version': {'key': 'serverVersion', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ApiProperties, self).__init__(**kwargs) self.server_version = kwargs.get('server_version', None) -class ARMProxyResource(Model): - """The resource model definition for a ARM proxy resource. It will have - everything other than required location and tags. +class ARMProxyResource(msrest.serialization.Model): + """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. + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The unique resource identifier of the database account. :vartype id: str @@ -57,18 +55,20 @@ class ARMProxyResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ARMProxyResource, self).__init__(**kwargs) self.id = None self.name = None self.type = None -class ARMResourceProperties(Model): +class ARMResourceProperties(msrest.serialization.Model): """The core properties of ARM resources. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -76,12 +76,16 @@ class ARMResourceProperties(Model): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity """ @@ -100,7 +104,10 @@ class ARMResourceProperties(Model): 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ARMResourceProperties, self).__init__(**kwargs) self.id = None self.name = None @@ -110,11 +117,10 @@ def __init__(self, **kwargs): self.identity = kwargs.get('identity', None) -class AutoscaleSettings(Model): +class AutoscaleSettings(msrest.serialization.Model): """AutoscaleSettings. - :param max_throughput: Represents maximum throughput, the resource can - scale up to. + :param max_throughput: Represents maximum throughput, the resource can scale up to. :type max_throughput: int """ @@ -122,27 +128,27 @@ class AutoscaleSettings(Model): 'max_throughput': {'key': 'maxThroughput', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AutoscaleSettings, self).__init__(**kwargs) self.max_throughput = kwargs.get('max_throughput', None) -class AutoscaleSettingsResource(Model): +class AutoscaleSettingsResource(msrest.serialization.Model): """Cosmos DB provisioned throughput settings object. - 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. - :param max_throughput: Required. Represents maximum throughput container - can scale up to. + :param max_throughput: Required. Represents maximum throughput container can scale up to. :type max_throughput: int - :param auto_upgrade_policy: Cosmos DB resource auto-upgrade policy - :type auto_upgrade_policy: - ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource - :ivar target_max_throughput: Represents target maximum throughput - container can scale up to once offer is no longer in pending state. + :param auto_upgrade_policy: Cosmos DB resource auto-upgrade policy. + :type auto_upgrade_policy: ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource + :ivar target_max_throughput: Represents target maximum throughput container can scale up to + once offer is no longer in pending state. :vartype target_max_throughput: int """ @@ -157,119 +163,72 @@ class AutoscaleSettingsResource(Model): 'target_max_throughput': {'key': 'targetMaxThroughput', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AutoscaleSettingsResource, self).__init__(**kwargs) - self.max_throughput = kwargs.get('max_throughput', None) + self.max_throughput = kwargs['max_throughput'] self.auto_upgrade_policy = kwargs.get('auto_upgrade_policy', None) self.target_max_throughput = None -class AutoUpgradePolicyResource(Model): +class AutoUpgradePolicyResource(msrest.serialization.Model): """Cosmos DB resource auto-upgrade policy. - :param throughput_policy: Represents throughput policy which service must - adhere to for auto-upgrade - :type throughput_policy: - ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource + :param throughput_policy: Represents throughput policy which service must adhere to for + auto-upgrade. + :type throughput_policy: ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource """ _attribute_map = { 'throughput_policy': {'key': 'throughputPolicy', 'type': 'ThroughputPolicyResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AutoUpgradePolicyResource, self).__init__(**kwargs) self.throughput_policy = kwargs.get('throughput_policy', None) -class Resource(Model): - """Resource. - - Common fields that are returned in the response for all Azure Resource - Manager 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. E.g. - "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): - """Entity Resource. +class BackupInformation(msrest.serialization.Model): + """Backup information of a resource. - The resource model definition for an Azure Resource Manager resource with - an etag. + 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 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. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - :vartype type: str - :ivar etag: Resource Etag. - :vartype etag: str + :ivar continuous_backup_information: Continuous backup description. + :vartype continuous_backup_information: ~azure.mgmt.cosmosdb.models.ContinuousBackupInformation """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, + 'continuous_backup_information': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, + 'continuous_backup_information': {'key': 'continuousBackupInformation', 'type': 'ContinuousBackupInformation'}, } - def __init__(self, **kwargs): - super(AzureEntityResource, self).__init__(**kwargs) - self.etag = None + def __init__( + self, + **kwargs + ): + super(BackupInformation, self).__init__(**kwargs) + self.continuous_backup_information = None -class BackupPolicy(Model): +class BackupPolicy(msrest.serialization.Model): """The object representing the policy for taking backups on an account. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: PeriodicModeBackupPolicy, ContinuousModeBackupPolicy + sub-classes are: ContinuousModeBackupPolicy, PeriodicModeBackupPolicy. All required parameters must be populated in order to send to Azure. - :param type: Required. Constant filled by server. - :type type: str + :param type: Required. Describes the mode of backups.Constant filled by server. Possible + values include: "Periodic", "Continuous". + :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType """ _validation = { @@ -281,19 +240,21 @@ class BackupPolicy(Model): } _subtype_map = { - 'type': {'Periodic': 'PeriodicModeBackupPolicy', 'Continuous': 'ContinuousModeBackupPolicy'} + 'type': {'Continuous': 'ContinuousModeBackupPolicy', 'Periodic': 'PeriodicModeBackupPolicy'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(BackupPolicy, self).__init__(**kwargs) - self.type = None + self.type = None # type: Optional[str] class BackupResource(ARMProxyResource): """A restorable backup of a Cassandra cluster. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -318,34 +279,38 @@ class BackupResource(ARMProxyResource): 'properties': {'key': 'properties', 'type': 'BackupResourceProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(BackupResource, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class BackupResourceProperties(Model): +class BackupResourceProperties(msrest.serialization.Model): """BackupResourceProperties. - :param timestamp: The time this backup was taken, formatted like - 2021-01-21T17:35:21 - :type timestamp: datetime + :param timestamp: The time this backup was taken, formatted like 2021-01-21T17:35:21. + :type timestamp: ~datetime.datetime """ _attribute_map = { 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(BackupResourceProperties, self).__init__(**kwargs) self.timestamp = kwargs.get('timestamp', None) -class Capability(Model): +class Capability(msrest.serialization.Model): """Cosmos DB capability object. - :param name: Name of the Cosmos DB capability. For example, "name": - "EnableCassandra". Current values also include "EnableTable" and - "EnableGremlin". + :param name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current + values also include "EnableTable" and "EnableGremlin". :type name: str """ @@ -353,7 +318,10 @@ class Capability(Model): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Capability, self).__init__(**kwargs) self.name = kwargs.get('name', None) @@ -361,8 +329,7 @@ def __init__(self, **kwargs): class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Cassandra keyspace. - 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. @@ -372,18 +339,21 @@ class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra - keyspace + :param resource: Required. The standard JSON format of a Cassandra keyspace. :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -405,18 +375,20 @@ class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraKeyspaceCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) -class OptionsResource(Model): +class OptionsResource(msrest.serialization.Model): """Cosmos DB options resource object. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -427,7 +399,10 @@ class OptionsResource(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OptionsResource, self).__init__(**kwargs) self.throughput = kwargs.get('throughput', None) self.autoscale_settings = kwargs.get('autoscale_settings', None) @@ -436,9 +411,8 @@ def __init__(self, **kwargs): class CassandraKeyspaceGetPropertiesOptions(OptionsResource): """CassandraKeyspaceGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -449,57 +423,121 @@ class CassandraKeyspaceGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraKeyspaceGetPropertiesOptions, self).__init__(**kwargs) -class CassandraKeyspaceGetPropertiesResource(Model): +class CassandraKeyspaceResource(msrest.serialization.Model): + """Cosmos DB Cassandra keyspace resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB Cassandra keyspace. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CassandraKeyspaceResource, self).__init__(**kwargs) + self.id = kwargs['id'] + + +class ExtendedResourceProperties(msrest.serialization.Model): + """The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtendedResourceProperties, self).__init__(**kwargs) + self.rid = None + self.ts = None + self.etag = None + + +class CassandraKeyspaceGetPropertiesResource(ExtendedResourceProperties, CassandraKeyspaceResource): """CassandraKeyspaceGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB Cassandra keyspace + :param id: Required. Name of the Cosmos DB Cassandra keyspace. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraKeyspaceGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self._rid = None - self._ts = None - self._etag = None + self.id = kwargs['id'] + self.rid = None + self.ts = None + self.etag = None class CassandraKeyspaceGetResults(ARMResourceProperties): """An Azure Cosmos DB Cassandra keyspace. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -507,19 +545,21 @@ class CassandraKeyspaceGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions """ _validation = { @@ -539,38 +579,44 @@ class CassandraKeyspaceGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CassandraKeyspaceGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraKeyspaceGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class CassandraKeyspaceResource(Model): - """Cosmos DB Cassandra keyspace resource object. +class CassandraKeyspaceListResult(msrest.serialization.Model): + """The List operation response, that contains the Cassandra keyspaces and their properties. - 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. Name of the Cosmos DB Cassandra keyspace - :type id: str + :ivar value: List of Cassandra keyspaces and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[CassandraKeyspaceGetResults]'}, } - def __init__(self, **kwargs): - super(CassandraKeyspaceResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + def __init__( + self, + **kwargs + ): + super(CassandraKeyspaceListResult, self).__init__(**kwargs) + self.value = None -class CassandraPartitionKey(Model): +class CassandraPartitionKey(msrest.serialization.Model): """Cosmos DB Cassandra table partition key. - :param name: Name of the Cosmos DB Cassandra table partition key + :param name: Name of the Cosmos DB Cassandra table partition key. :type name: str """ @@ -578,19 +624,21 @@ class CassandraPartitionKey(Model): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraPartitionKey, self).__init__(**kwargs) self.name = kwargs.get('name', None) -class CassandraSchema(Model): +class CassandraSchema(msrest.serialization.Model): """Cosmos DB Cassandra table schema. :param columns: List of Cassandra table columns. :type columns: list[~azure.mgmt.cosmosdb.models.Column] :param partition_keys: List of partition key. - :type partition_keys: - list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] + :type partition_keys: list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] :param cluster_keys: List of cluster key. :type cluster_keys: list[~azure.mgmt.cosmosdb.models.ClusterKey] """ @@ -601,7 +649,10 @@ class CassandraSchema(Model): 'cluster_keys': {'key': 'clusterKeys', 'type': '[ClusterKey]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraSchema, self).__init__(**kwargs) self.columns = kwargs.get('columns', None) self.partition_keys = kwargs.get('partition_keys', None) @@ -611,8 +662,7 @@ def __init__(self, **kwargs): class CassandraTableCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Cassandra table. - 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. @@ -622,17 +672,21 @@ class CassandraTableCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra table + :param resource: Required. The standard JSON format of a Cassandra table. :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -654,18 +708,20 @@ class CassandraTableCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraTableCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class CassandraTableGetPropertiesOptions(OptionsResource): """CassandraTableGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -676,41 +732,79 @@ class CassandraTableGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraTableGetPropertiesOptions, self).__init__(**kwargs) -class CassandraTableGetPropertiesResource(Model): +class CassandraTableResource(msrest.serialization.Model): + """Cosmos DB Cassandra table resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB Cassandra table. + :type id: str + :param default_ttl: Time to live of the Cosmos DB Cassandra table. + :type default_ttl: int + :param schema: Schema of the Cosmos DB Cassandra table. + :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema + :param analytical_storage_ttl: Analytical TTL. + :type analytical_storage_ttl: int + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, + 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, + 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(CassandraTableResource, self).__init__(**kwargs) + self.id = kwargs['id'] + self.default_ttl = kwargs.get('default_ttl', None) + self.schema = kwargs.get('schema', None) + self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) + + +class CassandraTableGetPropertiesResource(ExtendedResourceProperties, CassandraTableResource): """CassandraTableGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB Cassandra table + :param id: Required. Name of the Cosmos DB Cassandra table. :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table + :param default_ttl: Time to live of the Cosmos DB Cassandra table. :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table + :param schema: Schema of the Cosmos DB Cassandra table. :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: int - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -718,27 +812,29 @@ class CassandraTableGetPropertiesResource(Model): 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraTableGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.default_ttl = kwargs.get('default_ttl', None) self.schema = kwargs.get('schema', None) self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class CassandraTableGetResults(ARMResourceProperties): """An Azure Cosmos DB Cassandra table. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -746,19 +842,21 @@ class CassandraTableGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions """ _validation = { @@ -778,47 +876,41 @@ class CassandraTableGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CassandraTableGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CassandraTableGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class CassandraTableResource(Model): - """Cosmos DB Cassandra table resource object. +class CassandraTableListResult(msrest.serialization.Model): + """The List operation response, that contains the Cassandra tables and their properties. - 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. Name of the Cosmos DB Cassandra table - :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table - :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table - :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar value: List of Cassandra tables and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + 'value': {'key': 'value', 'type': '[CassandraTableGetResults]'}, } - def __init__(self, **kwargs): - super(CassandraTableResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.schema = kwargs.get('schema', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) + def __init__( + self, + **kwargs + ): + super(CassandraTableListResult, self).__init__(**kwargs) + self.value = None -class Certificate(Model): +class Certificate(msrest.serialization.Model): """Certificate. :param pem: PEM formatted public key. @@ -829,46 +921,21 @@ class Certificate(Model): 'pem': {'key': 'pem', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Certificate, self).__init__(**kwargs) self.pem = kwargs.get('pem', None) -class CloudError(Model): - """An error response from the service. - - :param error: - :type error: ~azure.mgmt.cosmosdb.models.ErrorResponse - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorResponse'}, - } - - 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 ClusterKey(Model): +class ClusterKey(msrest.serialization.Model): """Cosmos DB Cassandra table cluster key. - :param name: Name of the Cosmos DB Cassandra table cluster key + :param name: Name of the Cosmos DB Cassandra table cluster key. :type name: str - :param order_by: Order of the Cosmos DB Cassandra table cluster key, only - support "Asc" and "Desc" + :param order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and + "Desc". :type order_by: str """ @@ -877,17 +944,20 @@ class ClusterKey(Model): 'order_by': {'key': 'orderBy', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ClusterKey, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.order_by = kwargs.get('order_by', None) -class ClusterNodeStatus(Model): +class ClusterNodeStatus(msrest.serialization.Model): """The status of all nodes in the cluster (as returned by 'nodetool status'). - :param nodes: Information about nodes in the cluster (corresponds to what - is returned from nodetool info). + :param nodes: Information about nodes in the cluster (corresponds to what is returned from + nodetool info). :type nodes: list[~azure.mgmt.cosmosdb.models.ClusterNodeStatusNodesItem] """ @@ -895,35 +965,36 @@ class ClusterNodeStatus(Model): 'nodes': {'key': 'nodes', 'type': '[ClusterNodeStatusNodesItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ClusterNodeStatus, self).__init__(**kwargs) self.nodes = kwargs.get('nodes', None) -class ClusterNodeStatusNodesItem(Model): +class ClusterNodeStatusNodesItem(msrest.serialization.Model): """ClusterNodeStatusNodesItem. :param datacenter: The Cassandra data center this node resides in. :type datacenter: str - :param status: Indicates whether the node is functioning or not. Possible - values include: 'Up', 'Down' + :param status: Indicates whether the node is functioning or not. Possible values include: "Up", + "Down". :type status: str or ~azure.mgmt.cosmosdb.models.NodeStatus - :param state: The state of the node in relation to the cluster. Possible - values include: 'Normal', 'Leaving', 'Joining', 'Moving', 'Stopped' + :param state: The state of the node in relation to the cluster. Possible values include: + "Normal", "Leaving", "Joining", "Moving", "Stopped". :type state: str or ~azure.mgmt.cosmosdb.models.NodeState :param address: The node's URL. :type address: str - :param load: The amount of file system data in the data directory (e.g., - 47.66 KB), excluding all content in the snapshots subdirectories. Because - all SSTable data files are included, any data that is not cleaned up (such - as TTL-expired cell or tombstoned data) is counted. + :param load: The amount of file system data in the data directory (e.g., 47.66 KB), excluding + all content in the snapshots subdirectories. Because all SSTable data files are included, any + data that is not cleaned up (such as TTL-expired cell or tombstoned data) is counted. :type load: str :param tokens: List of tokens. :type tokens: list[str] - :param owns: The percentage of the data owned by the node per datacenter - times the replication factor (e.g., 33.3, or null if the data is not - available). For example, a node can own 33% of the ring, but shows 100% if - the replication factor is 3. For non-system keyspaces, the endpoint + :param owns: The percentage of the data owned by the node per datacenter times the replication + factor (e.g., 33.3, or null if the data is not available). For example, a node can own 33% of + the ring, but shows 100% if the replication factor is 3. For non-system keyspaces, the endpoint percentage ownership information is shown. :type owns: float :param host_id: The network ID of the node. @@ -944,7 +1015,10 @@ class ClusterNodeStatusNodesItem(Model): 'rack': {'key': 'rack', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ClusterNodeStatusNodesItem, self).__init__(**kwargs) self.datacenter = kwargs.get('datacenter', None) self.status = kwargs.get('status', None) @@ -960,8 +1034,7 @@ def __init__(self, **kwargs): class ClusterResource(ARMResourceProperties): """Representation of a managed Cassandra cluster. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -969,12 +1042,16 @@ class ClusterResource(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param properties: Properties of a managed Cassandra cluster. :type properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties @@ -996,89 +1073,76 @@ class ClusterResource(ARMResourceProperties): 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ClusterResource, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class ClusterResourceProperties(Model): +class ClusterResourceProperties(msrest.serialization.Model): """Properties of a managed Cassandra cluster. - 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 provisioning_state: Possible values include: 'Creating', - 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - :type provisioning_state: str or - ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param restore_from_backup_id: To create an empty cluster, omit this field - or set it to null. To restore a backup into a new cluster, set this field - to the resource id of the backup. + :param provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :param restore_from_backup_id: To create an empty cluster, omit this field or set it to null. + To restore a backup into a new cluster, set this field to the resource id of the backup. :type restore_from_backup_id: str - :param delegated_management_subnet_id: Resource id of a subnet that this - cluster's management service should have its network interface attached - to. The subnet must be routable to all subnets that will be delegated to - data centers. The resource id must be of the form - '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/' + :param delegated_management_subnet_id: Resource id of a subnet that this cluster's management + service should have its network interface attached to. The subnet must be routable to all + subnets that will be delegated to data centers. The resource id must be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. :type delegated_management_subnet_id: str - :param cassandra_version: Which version of Cassandra should this cluster - converge to running (e.g., 3.11). When updated, the cluster may take some - time to migrate to the new version. + :param cassandra_version: Which version of Cassandra should this cluster converge to running + (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. :type cassandra_version: str - :param cluster_name_override: If you need to set the clusterName property - in cassandra.yaml to something besides the resource name of the cluster, - set the value to use on this property. + :param cluster_name_override: If you need to set the clusterName property in cassandra.yaml to + something besides the resource name of the cluster, set the value to use on this property. :type cluster_name_override: str - :param authentication_method: Which authentication method Cassandra should - use to authenticate clients. 'None' turns off authentication, so should - not be used except in emergencies. 'Cassandra' is the default password - based authentication. The default is 'Cassandra'. Possible values include: - 'None', 'Cassandra' - :type authentication_method: str or - ~azure.mgmt.cosmosdb.models.AuthenticationMethod - :param initial_cassandra_admin_password: Initial password for clients - connecting as admin to the cluster. Should be changed after cluster - creation. Returns null on GET. This field only applies when the - authenticationMethod field is 'Cassandra'. + :param authentication_method: Which authentication method Cassandra should use to authenticate + clients. 'None' turns off authentication, so should not be used except in emergencies. + 'Cassandra' is the default password based authentication. The default is 'Cassandra'. Possible + values include: "None", "Cassandra". + :type authentication_method: str or ~azure.mgmt.cosmosdb.models.AuthenticationMethod + :param initial_cassandra_admin_password: Initial password for clients connecting as admin to + the cluster. Should be changed after cluster creation. Returns null on GET. This field only + applies when the authenticationMethod field is 'Cassandra'. :type initial_cassandra_admin_password: str - :param hours_between_backups: Number of hours to wait between taking a - backup of the cluster. To disable backups, set this property to 0. + :param hours_between_backups: Number of hours to wait between taking a backup of the cluster. + To disable backups, set this property to 0. :type hours_between_backups: int - :param prometheus_endpoint: Hostname or IP address where the Prometheus - endpoint containing data about the managed Cassandra nodes can be reached. + :param prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing + data about the managed Cassandra nodes can be reached. :type prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode - :param repair_enabled: Should automatic repairs run on this cluster? If - omitted, this is true, and should stay true unless you are running a - hybrid cluster where you are already doing your own repairs. + :param repair_enabled: Should automatic repairs run on this cluster? If omitted, this is true, + and should stay true unless you are running a hybrid cluster where you are already doing your + own repairs. :type repair_enabled: bool - :param client_certificates: List of TLS certificates used to authorize - clients connecting to the cluster. All connections are TLS encrypted - whether clientCertificates is set or not, but if clientCertificates is - set, the managed Cassandra cluster will reject all connections not bearing - a TLS client certificate that can be validated from one or more of the - public certificates in this property. + :param client_certificates: List of TLS certificates used to authorize clients connecting to + the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if + clientCertificates is set, the managed Cassandra cluster will reject all connections not + bearing a TLS client certificate that can be validated from one or more of the public + certificates in this property. :type client_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_gossip_certificates: List of TLS certificates used to - authorize gossip from unmanaged data centers. The TLS certificates of all - nodes in unmanaged data centers must be verifiable using one of the - certificates provided in this property. - :type external_gossip_certificates: - list[~azure.mgmt.cosmosdb.models.Certificate] - :ivar gossip_certificates: List of TLS certificates that unmanaged nodes - must trust for gossip with managed nodes. All managed nodes will present - TLS client certificates that are verifiable using one of the certificates - provided in this property. - :vartype gossip_certificates: - list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_seed_nodes: List of IP addresses of seed nodes in - unmanaged data centers. These will be added to the seed node lists of all - managed nodes. + :param external_gossip_certificates: List of TLS certificates used to authorize gossip from + unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be + verifiable using one of the certificates provided in this property. + :type external_gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :ivar gossip_certificates: List of TLS certificates that unmanaged nodes must trust for gossip + with managed nodes. All managed nodes will present TLS client certificates that are verifiable + using one of the certificates provided in this property. + :vartype gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :param external_seed_nodes: List of IP addresses of seed nodes in unmanaged data centers. These + will be added to the seed node lists of all managed nodes. :type external_seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :ivar seed_nodes: List of IP addresses of seed nodes in the managed data - centers. These should be added to the seed node lists of all unmanaged - nodes. + :ivar seed_nodes: List of IP addresses of seed nodes in the managed data centers. These should + be added to the seed node lists of all unmanaged nodes. :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] """ @@ -1105,7 +1169,10 @@ class ClusterResourceProperties(Model): 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ClusterResourceProperties, self).__init__(**kwargs) self.provisioning_state = kwargs.get('provisioning_state', None) self.restore_from_backup_id = kwargs.get('restore_from_backup_id', None) @@ -1124,12 +1191,12 @@ def __init__(self, **kwargs): self.seed_nodes = None -class Column(Model): +class Column(msrest.serialization.Model): """Cosmos DB Cassandra table column. - :param name: Name of the Cosmos DB Cassandra table column + :param name: Name of the Cosmos DB Cassandra table column. :type name: str - :param type: Type of the Cosmos DB Cassandra table column + :param type: Type of the Cosmos DB Cassandra table column. :type type: str """ @@ -1138,20 +1205,53 @@ class Column(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Column, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.type = kwargs.get('type', None) -class CompositePath(Model): +class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. + + 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(Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class CompositePath(msrest.serialization.Model): """CompositePath. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str - :param order: Sort order for composite paths. Possible values include: - 'ascending', 'descending' + :param order: Sort order for composite paths. Possible values include: "ascending", + "descending". :type order: str or ~azure.mgmt.cosmosdb.models.CompositePathSortOrder """ @@ -1160,23 +1260,26 @@ class CompositePath(Model): 'order': {'key': 'order', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CompositePath, self).__init__(**kwargs) self.path = kwargs.get('path', None) self.order = kwargs.get('order', None) -class ConflictResolutionPolicy(Model): +class ConflictResolutionPolicy(msrest.serialization.Model): """The conflict resolution policy for the container. - :param mode: Indicates the conflict resolution mode. Possible values - include: 'LastWriterWins', 'Custom'. Default value: "LastWriterWins" . + :param mode: Indicates the conflict resolution mode. Possible values include: "LastWriterWins", + "Custom". Default value: "LastWriterWins". :type mode: str or ~azure.mgmt.cosmosdb.models.ConflictResolutionMode - :param conflict_resolution_path: The conflict resolution path in the case - of LastWriterWins mode. + :param conflict_resolution_path: The conflict resolution path in the case of LastWriterWins + mode. :type conflict_resolution_path: str - :param conflict_resolution_procedure: The procedure to resolve conflicts - in the case of custom mode. + :param conflict_resolution_procedure: The procedure to resolve conflicts in the case of custom + mode. :type conflict_resolution_procedure: str """ @@ -1186,33 +1289,32 @@ class ConflictResolutionPolicy(Model): 'conflict_resolution_procedure': {'key': 'conflictResolutionProcedure', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ConflictResolutionPolicy, self).__init__(**kwargs) self.mode = kwargs.get('mode', "LastWriterWins") self.conflict_resolution_path = kwargs.get('conflict_resolution_path', None) self.conflict_resolution_procedure = kwargs.get('conflict_resolution_procedure', None) -class ConsistencyPolicy(Model): +class ConsistencyPolicy(msrest.serialization.Model): """The consistency policy for the Cosmos DB database account. All required parameters must be populated in order to send to Azure. - :param default_consistency_level: Required. The default consistency level - and configuration settings of the Cosmos DB account. Possible values - include: 'Eventual', 'Session', 'BoundedStaleness', 'Strong', - 'ConsistentPrefix' - :type default_consistency_level: str or - ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel - :param max_staleness_prefix: When used with the Bounded Staleness - consistency level, this value represents the number of stale requests - tolerated. Accepted range for this value is 1 – 2,147,483,647. Required - when defaultConsistencyPolicy is set to 'BoundedStaleness'. + :param default_consistency_level: Required. The default consistency level and configuration + settings of the Cosmos DB account. Possible values include: "Eventual", "Session", + "BoundedStaleness", "Strong", "ConsistentPrefix". + :type default_consistency_level: str or ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel + :param max_staleness_prefix: When used with the Bounded Staleness consistency level, this value + represents the number of stale requests tolerated. Accepted range for this value is 1 – + 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. :type max_staleness_prefix: long - :param max_interval_in_seconds: When used with the Bounded Staleness - consistency level, this value represents the time amount of staleness (in - seconds) tolerated. Accepted range for this value is 5 - 86400. Required - when defaultConsistencyPolicy is set to 'BoundedStaleness'. + :param max_interval_in_seconds: When used with the Bounded Staleness consistency level, this + value represents the time amount of staleness (in seconds) tolerated. Accepted range for this + value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. :type max_interval_in_seconds: int """ @@ -1223,37 +1325,35 @@ class ConsistencyPolicy(Model): } _attribute_map = { - 'default_consistency_level': {'key': 'defaultConsistencyLevel', 'type': 'DefaultConsistencyLevel'}, + 'default_consistency_level': {'key': 'defaultConsistencyLevel', 'type': 'str'}, 'max_staleness_prefix': {'key': 'maxStalenessPrefix', 'type': 'long'}, 'max_interval_in_seconds': {'key': 'maxIntervalInSeconds', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ConsistencyPolicy, self).__init__(**kwargs) - self.default_consistency_level = kwargs.get('default_consistency_level', None) + self.default_consistency_level = kwargs['default_consistency_level'] self.max_staleness_prefix = kwargs.get('max_staleness_prefix', None) self.max_interval_in_seconds = kwargs.get('max_interval_in_seconds', None) -class ContainerPartitionKey(Model): - """The configuration of the partition key to be used for partitioning data - into multiple partitions. +class ContainerPartitionKey(msrest.serialization.Model): + """The configuration of the partition key to be used for partitioning data into multiple partitions. - 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 paths: List of paths using which data within the container can be - partitioned + :param paths: List of paths using which data within the container can be partitioned. :type paths: list[str] - :param kind: Indicates the kind of algorithm used for partitioning. For - MultiHash, multiple partition keys (upto three maximum) are supported for - container create. Possible values include: 'Hash', 'Range', 'MultiHash'. - Default value: "Hash" . + :param kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple + partition keys (upto three maximum) are supported for container create. Possible values + include: "Hash", "Range", "MultiHash". Default value: "Hash". :type kind: str or ~azure.mgmt.cosmosdb.models.PartitionKind - :param version: Indicates the version of the partition key definition + :param version: Indicates the version of the partition key definition. :type version: int - :ivar system_key: Indicates if the container is using a system generated - partition key + :ivar system_key: Indicates if the container is using a system generated partition key. :vartype system_key: bool """ @@ -1269,7 +1369,10 @@ class ContainerPartitionKey(Model): 'system_key': {'key': 'systemKey', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerPartitionKey, self).__init__(**kwargs) self.paths = kwargs.get('paths', None) self.kind = kwargs.get('kind', "Hash") @@ -1277,13 +1380,52 @@ def __init__(self, **kwargs): self.system_key = None +class ContinuousBackupInformation(msrest.serialization.Model): + """Continuous backup description. + + :param latest_restorable_timestamp: The latest restorable timestamp for a resource. + :type latest_restorable_timestamp: str + """ + + _attribute_map = { + 'latest_restorable_timestamp': {'key': 'latestRestorableTimestamp', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContinuousBackupInformation, self).__init__(**kwargs) + self.latest_restorable_timestamp = kwargs.get('latest_restorable_timestamp', None) + + +class ContinuousBackupRestoreLocation(msrest.serialization.Model): + """Properties of the regional restorable account. + + :param location: The name of the continuous backup restore location. + :type location: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContinuousBackupRestoreLocation, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + + class ContinuousModeBackupPolicy(BackupPolicy): """The object representing continuous mode backup policy. All required parameters must be populated in order to send to Azure. - :param type: Required. Constant filled by server. - :type type: str + :param type: Required. Describes the mode of backups.Constant filled by server. Possible + values include: "Periodic", "Continuous". + :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType """ _validation = { @@ -1294,31 +1436,33 @@ class ContinuousModeBackupPolicy(BackupPolicy): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContinuousModeBackupPolicy, self).__init__(**kwargs) - self.type = 'Continuous' + self.type = 'Continuous' # type: str -class CorsPolicy(Model): +class CorsPolicy(msrest.serialization.Model): """The CORS policy for the Cosmos DB database account. All required parameters must be populated in order to send to Azure. - :param allowed_origins: Required. The origin domains that are permitted to - make a request against the service via CORS. + :param allowed_origins: Required. The origin domains that are permitted to make a request + against the service via CORS. :type allowed_origins: str - :param allowed_methods: The methods (HTTP request verbs) that the origin - domain may use for a CORS request. + :param allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a + CORS request. :type allowed_methods: str - :param allowed_headers: The request headers that the origin domain may - specify on the CORS request. + :param allowed_headers: The request headers that the origin domain may specify on the CORS + request. :type allowed_headers: str - :param exposed_headers: The response headers that may be sent in the - response to the CORS request and exposed by the browser to the request - issuer. + :param exposed_headers: The response headers that may be sent in the response to the CORS + request and exposed by the browser to the request issuer. :type exposed_headers: str - :param max_age_in_seconds: The maximum amount time that a browser should - cache the preflight OPTIONS request. + :param max_age_in_seconds: The maximum amount time that a browser should cache the preflight + OPTIONS request. :type max_age_in_seconds: long """ @@ -1335,22 +1479,22 @@ class CorsPolicy(Model): 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CorsPolicy, self).__init__(**kwargs) - self.allowed_origins = kwargs.get('allowed_origins', None) + self.allowed_origins = kwargs['allowed_origins'] self.allowed_methods = kwargs.get('allowed_methods', None) self.allowed_headers = kwargs.get('allowed_headers', None) self.exposed_headers = kwargs.get('exposed_headers', None) self.max_age_in_seconds = kwargs.get('max_age_in_seconds', None) -class CreateUpdateOptions(Model): - """CreateUpdateOptions are a list of key-value pairs that describe the - resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" - and "Throughput". +class CreateUpdateOptions(msrest.serialization.Model): + """CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput". - :param throughput: Request Units per second. For example, "throughput": - 10000. + :param throughput: Request Units per second. For example, "throughput": 10000. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -1361,21 +1505,23 @@ class CreateUpdateOptions(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CreateUpdateOptions, self).__init__(**kwargs) self.throughput = kwargs.get('throughput', None) self.autoscale_settings = kwargs.get('autoscale_settings', None) -class DatabaseAccountConnectionString(Model): +class DatabaseAccountConnectionString(msrest.serialization.Model): """Connection string for the Cosmos DB account. - 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 connection_string: Value of the connection string + :ivar connection_string: Value of the connection string. :vartype connection_string: str - :ivar description: Description of the connection string + :ivar description: Description of the connection string. :vartype description: str """ @@ -1389,7 +1535,10 @@ class DatabaseAccountConnectionString(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountConnectionString, self).__init__(**kwargs) self.connection_string = None self.description = None @@ -1398,8 +1547,7 @@ def __init__(self, **kwargs): class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB database accounts. - 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. @@ -1409,20 +1557,22 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param kind: Indicates the type of database account. This can only be set - at database account creation. Possible values include: 'GlobalDocumentDB', - 'MongoDB', 'Parse'. Default value: "GlobalDocumentDB" . + :param kind: Indicates the type of database account. This can only be set at database account + creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind - :param properties: Required. - :type properties: - ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateProperties + :param properties: Required. Properties to create and update Azure Cosmos DB database accounts. + :type properties: ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateProperties """ _validation = { @@ -1443,89 +1593,86 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): 'properties': {'key': 'properties', 'type': 'DatabaseAccountCreateUpdateProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountCreateUpdateParameters, self).__init__(**kwargs) - self.kind = kwargs.get('kind', "GlobalDocumentDB") - self.properties = kwargs.get('properties', None) + self.kind = kwargs.get('kind', None) + self.properties = kwargs['properties'] -class DatabaseAccountCreateUpdateProperties(Model): +class DatabaseAccountCreateUpdateProperties(msrest.serialization.Model): """Properties to create and update Azure Cosmos DB database accounts. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DefaultRequestDatabaseAccountCreateUpdateProperties, - RestoreReqeustDatabaseAccountCreateUpdateProperties + sub-classes are: DefaultRequestDatabaseAccountCreateUpdateProperties, RestoreReqeustDatabaseAccountCreateUpdateProperties. - 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. - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication - locations enabled for the Cosmos DB account. + :param locations: Required. An array that contains the georeplication locations enabled for the + Cosmos DB account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: Required. The offer type for the - database. Default value: "Standard" . + :ivar database_account_offer_type: Required. The offer type for the database. Default value: + "Standard". :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by + server. Possible values include: "Default", "Restore". Default value: "Default". + :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param create_mode: Required. Constant filled by server. - :type create_mode: str """ _validation = { @@ -1548,15 +1695,16 @@ class DatabaseAccountCreateUpdateProperties(Model): 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, + 'create_mode': {'key': 'createMode', 'type': 'str'}, 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, } _subtype_map = { @@ -1565,10 +1713,13 @@ class DatabaseAccountCreateUpdateProperties(Model): database_account_offer_type = "Standard" - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountCreateUpdateProperties, self).__init__(**kwargs) self.consistency_policy = kwargs.get('consistency_policy', None) - self.locations = kwargs.get('locations', None) + self.locations = kwargs['locations'] self.ip_rules = kwargs.get('ip_rules', None) self.is_virtual_network_filter_enabled = kwargs.get('is_virtual_network_filter_enabled', None) self.enable_automatic_failover = kwargs.get('enable_automatic_failover', None) @@ -1579,22 +1730,22 @@ def __init__(self, **kwargs): self.connector_offer = kwargs.get('connector_offer', None) self.disable_key_based_metadata_write_access = kwargs.get('disable_key_based_metadata_write_access', None) self.key_vault_key_uri = kwargs.get('key_vault_key_uri', None) + self.default_identity = kwargs.get('default_identity', None) self.public_network_access = kwargs.get('public_network_access', None) self.enable_free_tier = kwargs.get('enable_free_tier', None) self.api_properties = kwargs.get('api_properties', None) self.enable_analytical_storage = kwargs.get('enable_analytical_storage', None) + self.create_mode = None # type: Optional[str] self.backup_policy = kwargs.get('backup_policy', None) self.cors = kwargs.get('cors', None) self.network_acl_bypass = kwargs.get('network_acl_bypass', None) self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.create_mode = None class DatabaseAccountGetResults(ARMResourceProperties): """An Azure Cosmos DB database account. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -1602,125 +1753,124 @@ class DatabaseAccountGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param kind: Indicates the type of database account. This can only be set - at database account creation. Possible values include: 'GlobalDocumentDB', - 'MongoDB', 'Parse'. Default value: "GlobalDocumentDB" . + :param kind: Indicates the type of database account. This can only be set at database account + creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind - :param provisioning_state: - :type provisioning_state: str - :ivar document_endpoint: The connection endpoint for the Cosmos DB - database account. + :ivar system_data: The system meta data relating to this resource. + :vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData + :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was + called. The status can be one of following. 'Creating' – the Cosmos DB account is being + created. When an account is in Creating state, only properties that are specified as input for + the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is + active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB + account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – + the Cosmos DB account deletion failed. + :vartype provisioning_state: str + :ivar document_endpoint: The connection endpoint for the Cosmos DB database account. :vartype document_endpoint: str - :ivar database_account_offer_type: The offer type for the Cosmos DB - database account. Default value: Standard. Possible values include: - 'Standard' - :vartype database_account_offer_type: str or - ~azure.mgmt.cosmosdb.models.DatabaseAccountOfferType + :ivar database_account_offer_type: The offer type for the Cosmos DB database account. Default + value: Standard. Default value: "Standard". + :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param consistency_policy: The consistency policy for the Cosmos DB - database account. + :param consistency_policy: The consistency policy for the Cosmos DB database account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :ivar write_locations: An array that contains the write location for the - Cosmos DB account. + :ivar write_locations: An array that contains the write location for the Cosmos DB account. :vartype write_locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar read_locations: An array that contains of the read locations enabled - for the Cosmos DB account. + :ivar read_locations: An array that contains of the read locations enabled for the Cosmos DB + account. :vartype read_locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar locations: An array that contains all of the locations enabled for - the Cosmos DB account. + :ivar locations: An array that contains all of the locations enabled for the Cosmos DB account. :vartype locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar failover_policies: An array that contains the regions ordered by - their failover priorities. - :vartype failover_policies: - list[~azure.mgmt.cosmosdb.models.FailoverPolicy] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :ivar private_endpoint_connections: List of Private Endpoint Connections - configured for the Cosmos DB account. + :ivar failover_policies: An array that contains the regions ordered by their failover + priorities. + :vartype failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :ivar private_endpoint_connections: List of Private Endpoint Connections configured for the + Cosmos DB account. :vartype private_endpoint_connections: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool :param api_properties: API specific properties. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :ivar instance_id: A unique identifier assigned to the database account + :ivar instance_id: A unique identifier assigned to the database account. :vartype instance_id: str - :param create_mode: Enum to indicate the mode of account creation. - Possible values include: 'Default', 'Restore'. Default value: "Default" . + :param create_mode: Enum to indicate the mode of account creation. Possible values include: + "Default", "Restore". Default value: "Default". :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param restore_parameters: Parameters to indicate the information about - the restore. + :param restore_parameters: Parameters to indicate the information about the restore. :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - :param backup_policy: The object representing the policy for taking - backups on an account. + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, 'document_endpoint': {'readonly': True}, - 'database_account_offer_type': {'readonly': True}, + 'database_account_offer_type': {'readonly': True, 'constant': True}, 'write_locations': {'readonly': True}, 'read_locations': {'readonly': True}, 'locations': {'readonly': True}, 'failover_policies': {'readonly': True}, 'private_endpoint_connections': {'readonly': True}, 'instance_id': {'readonly': True}, - 'system_data': {'readonly': True}, } _attribute_map = { @@ -1731,9 +1881,10 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'kind': {'key': 'kind', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'document_endpoint': {'key': 'properties.documentEndpoint', 'type': 'str'}, - 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'DatabaseAccountOfferType'}, + 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'str'}, 'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'}, 'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'}, 'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'}, @@ -1750,6 +1901,7 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'}, @@ -1759,15 +1911,20 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'}, 'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } - def __init__(self, **kwargs): + database_account_offer_type = "Standard" + + def __init__( + self, + **kwargs + ): super(DatabaseAccountGetResults, self).__init__(**kwargs) - self.kind = kwargs.get('kind', "GlobalDocumentDB") - self.provisioning_state = kwargs.get('provisioning_state', None) + self.kind = kwargs.get('kind', None) + self.system_data = None + self.provisioning_state = None self.document_endpoint = None self.database_account_offer_type = None self.ip_rules = kwargs.get('ip_rules', None) @@ -1786,6 +1943,7 @@ def __init__(self, **kwargs): self.connector_offer = kwargs.get('connector_offer', None) self.disable_key_based_metadata_write_access = kwargs.get('disable_key_based_metadata_write_access', None) self.key_vault_key_uri = kwargs.get('key_vault_key_uri', None) + self.default_identity = kwargs.get('default_identity', None) self.public_network_access = kwargs.get('public_network_access', None) self.enable_free_tier = kwargs.get('enable_free_tier', None) self.api_properties = kwargs.get('api_properties', None) @@ -1797,38 +1955,36 @@ def __init__(self, **kwargs): self.cors = kwargs.get('cors', None) self.network_acl_bypass = kwargs.get('network_acl_bypass', None) self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.system_data = None -class DatabaseAccountListConnectionStringsResult(Model): +class DatabaseAccountListConnectionStringsResult(msrest.serialization.Model): """The connection strings for the given database account. - :param connection_strings: An array that contains the connection strings - for the Cosmos DB account. - :type connection_strings: - list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] + :param connection_strings: An array that contains the connection strings for the Cosmos DB + account. + :type connection_strings: list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] """ _attribute_map = { 'connection_strings': {'key': 'connectionStrings', 'type': '[DatabaseAccountConnectionString]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountListConnectionStringsResult, self).__init__(**kwargs) self.connection_strings = kwargs.get('connection_strings', None) -class DatabaseAccountListReadOnlyKeysResult(Model): +class DatabaseAccountListReadOnlyKeysResult(msrest.serialization.Model): """The read-only access keys for the given database account. - 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 primary_readonly_master_key: Base 64 encoded value of the primary - read-only key. + :ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key. :vartype primary_readonly_master_key: str - :ivar secondary_readonly_master_key: Base 64 encoded value of the - secondary read-only key. + :ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key. :vartype secondary_readonly_master_key: str """ @@ -1842,7 +1998,10 @@ class DatabaseAccountListReadOnlyKeysResult(Model): 'secondary_readonly_master_key': {'key': 'secondaryReadonlyMasterKey', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountListReadOnlyKeysResult, self).__init__(**kwargs) self.primary_readonly_master_key = None self.secondary_readonly_master_key = None @@ -1851,20 +2010,15 @@ def __init__(self, **kwargs): class DatabaseAccountListKeysResult(DatabaseAccountListReadOnlyKeysResult): """The access keys for the given database account. - 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 primary_readonly_master_key: Base 64 encoded value of the primary - read-only key. + :ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key. :vartype primary_readonly_master_key: str - :ivar secondary_readonly_master_key: Base 64 encoded value of the - secondary read-only key. + :ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key. :vartype secondary_readonly_master_key: str - :ivar primary_master_key: Base 64 encoded value of the primary read-write - key. + :ivar primary_master_key: Base 64 encoded value of the primary read-write key. :vartype primary_master_key: str - :ivar secondary_master_key: Base 64 encoded value of the secondary - read-write key. + :ivar secondary_master_key: Base 64 encoded value of the secondary read-write key. :vartype secondary_master_key: str """ @@ -1882,19 +2036,22 @@ class DatabaseAccountListKeysResult(DatabaseAccountListReadOnlyKeysResult): 'secondary_master_key': {'key': 'secondaryMasterKey', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountListKeysResult, self).__init__(**kwargs) self.primary_master_key = None self.secondary_master_key = None -class DatabaseAccountRegenerateKeyParameters(Model): +class DatabaseAccountRegenerateKeyParameters(msrest.serialization.Model): """Parameters to regenerate the keys within the database account. All required parameters must be populated in order to send to Azure. - :param key_kind: Required. The access key to regenerate. Possible values - include: 'primary', 'secondary', 'primaryReadonly', 'secondaryReadonly' + :param key_kind: Required. The access key to regenerate. Possible values include: "primary", + "secondary", "primaryReadonly", "secondaryReadonly". :type key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind """ @@ -1906,86 +2063,114 @@ class DatabaseAccountRegenerateKeyParameters(Model): 'key_kind': {'key': 'keyKind', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountRegenerateKeyParameters, self).__init__(**kwargs) - self.key_kind = kwargs.get('key_kind', None) + self.key_kind = kwargs['key_kind'] + + +class DatabaseAccountsListResult(msrest.serialization.Model): + """The List operation response, that contains the database accounts and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of database account and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseAccountGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseAccountsListResult, self).__init__(**kwargs) + self.value = None -class DatabaseAccountUpdateParameters(Model): +class DatabaseAccountUpdateParameters(msrest.serialization.Model): """Parameters for patching Azure Cosmos DB database account properties. - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param identity: Identity for the resource. + :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: An array that contains the georeplication locations - enabled for the Cosmos DB account. + :param locations: An array that contains the georeplication locations enabled for the Cosmos DB + account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param identity: - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'}, 'locations': {'key': 'properties.locations', 'type': '[Location]'}, 'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'}, @@ -1998,21 +2183,25 @@ class DatabaseAccountUpdateParameters(Model): 'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'}, 'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseAccountUpdateParameters, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) self.location = kwargs.get('location', None) + self.identity = kwargs.get('identity', None) self.consistency_policy = kwargs.get('consistency_policy', None) self.locations = kwargs.get('locations', None) self.ip_rules = kwargs.get('ip_rules', None) @@ -2025,6 +2214,7 @@ def __init__(self, **kwargs): self.connector_offer = kwargs.get('connector_offer', None) self.disable_key_based_metadata_write_access = kwargs.get('disable_key_based_metadata_write_access', None) self.key_vault_key_uri = kwargs.get('key_vault_key_uri', None) + self.default_identity = kwargs.get('default_identity', None) self.public_network_access = kwargs.get('public_network_access', None) self.enable_free_tier = kwargs.get('enable_free_tier', None) self.api_properties = kwargs.get('api_properties', None) @@ -2033,16 +2223,14 @@ def __init__(self, **kwargs): self.cors = kwargs.get('cors', None) self.network_acl_bypass = kwargs.get('network_acl_bypass', None) self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.identity = kwargs.get('identity', None) -class DatabaseRestoreResource(Model): +class DatabaseRestoreResource(msrest.serialization.Model): """Specific Databases to restore. :param database_name: The name of the database available for restore. :type database_name: str - :param collection_names: The names of the collections available for - restore. + :param collection_names: The names of the collections available for restore. :type collection_names: list[str] """ @@ -2051,7 +2239,10 @@ class DatabaseRestoreResource(Model): 'collection_names': {'key': 'collectionNames', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DatabaseRestoreResource, self).__init__(**kwargs) self.database_name = kwargs.get('database_name', None) self.collection_names = kwargs.get('collection_names', None) @@ -2060,8 +2251,7 @@ def __init__(self, **kwargs): class DataCenterResource(ARMProxyResource): """A managed Cassandra data center. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -2086,47 +2276,43 @@ class DataCenterResource(ARMProxyResource): 'properties': {'key': 'properties', 'type': 'DataCenterResourceProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataCenterResource, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class DataCenterResourceProperties(Model): +class DataCenterResourceProperties(msrest.serialization.Model): """Properties of a managed Cassandra data center. - 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 provisioning_state: Possible values include: 'Creating', - 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - :type provisioning_state: str or - ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param data_center_location: The region this data center should be created - in. + :param provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :param data_center_location: The region this data center should be created in. :type data_center_location: str - :param delegated_subnet_id: Resource id of a subnet the nodes in this data - center should have their network interfaces connected to. The subnet must - be in the same region specified in 'dataCenterLocation' and must be able - to route to the subnet specified in the cluster's - 'delegatedManagementSubnetId' property. This resource id will be of the - form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'. + :param delegated_subnet_id: Resource id of a subnet the nodes in this data center should have + their network interfaces connected to. The subnet must be in the same region specified in + 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's + 'delegatedManagementSubnetId' property. This resource id will be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. :type delegated_subnet_id: str - :param node_count: The number of nodes the data center should have. This - is the desired number. After it is set, it may take some time for the data - center to be scaled to match. To monitor the number of nodes and their - status, use the fetchNodeStatus method on the cluster. + :param node_count: The number of nodes the data center should have. This is the desired number. + After it is set, it may take some time for the data center to be scaled to match. To monitor + the number of nodes and their status, use the fetchNodeStatus method on the cluster. :type node_count: int - :ivar seed_nodes: IP addresses for seed nodes in this data center. This is - for reference. Generally you will want to use the seedNodes property on - the cluster, which aggregates the seed nodes from all data centers in the - cluster. + :ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference. + Generally you will want to use the seedNodes property on the cluster, which aggregates the seed + nodes from all data centers in the cluster. :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :param base64_encoded_cassandra_yaml_fragment: A fragment of a - cassandra.yaml configuration file to be included in the cassandra.yaml for - all nodes in this data center. The fragment should be Base64 encoded, and - only a subset of keys are allowed. + :param base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration + file to be included in the cassandra.yaml for all nodes in this data center. The fragment + should be Base64 encoded, and only a subset of keys are allowed. :type base64_encoded_cassandra_yaml_fragment: str """ @@ -2143,7 +2329,10 @@ class DataCenterResourceProperties(Model): 'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataCenterResourceProperties, self).__init__(**kwargs) self.provisioning_state = kwargs.get('provisioning_state', None) self.data_center_location = kwargs.get('data_center_location', None) @@ -2153,79 +2342,277 @@ def __init__(self, **kwargs): self.base64_encoded_cassandra_yaml_fragment = kwargs.get('base64_encoded_cassandra_yaml_fragment', None) +class RegionalServiceResource(msrest.serialization.Model): + """Resource for a regional service location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The regional service name. + :vartype name: str + :ivar location: The location name. + :vartype location: str + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegionalServiceResource, self).__init__(**kwargs) + self.name = None + self.location = None + self.status = None + + +class DataTransferRegionalServiceResource(RegionalServiceResource): + """Resource for a regional service location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The regional service name. + :vartype name: str + :ivar location: The location name. + :vartype location: str + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataTransferRegionalServiceResource, self).__init__(**kwargs) + + +class DataTransferServiceResource(msrest.serialization.Model): + """Describes the service response property. + + :param properties: Properties for DataTransferServiceResource. + :type properties: ~azure.mgmt.cosmosdb.models.DataTransferServiceResourceProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DataTransferServiceResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(DataTransferServiceResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ServiceResourceProperties(msrest.serialization.Model): + """Services response resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataTransferServiceResourceProperties, SqlDedicatedGatewayServiceResourceProperties. + + Variables are only 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 to this + collection. + :type additional_properties: dict[str, object] + :ivar creation_time: Time of the last state change (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :param instance_count: Instance count for the service. + :type instance_count: int + :param service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer". + :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'instance_count': {'minimum': 0}, + 'service_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'instance_size': {'key': 'instanceSize', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + 'service_type': {'key': 'serviceType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + _subtype_map = { + 'service_type': {'DataTransferServiceResourceProperties': 'DataTransferServiceResourceProperties', 'SqlDedicatedGatewayServiceResourceProperties': 'SqlDedicatedGatewayServiceResourceProperties'} + } + + def __init__( + self, + **kwargs + ): + super(ServiceResourceProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.creation_time = None + self.instance_size = kwargs.get('instance_size', None) + self.instance_count = kwargs.get('instance_count', None) + self.service_type = 'ServiceResourceProperties' # type: str + self.status = None + + +class DataTransferServiceResourceProperties(ServiceResourceProperties): + """Properties for DataTransferServiceResource. + + Variables are only 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 to this + collection. + :type additional_properties: dict[str, object] + :ivar creation_time: Time of the last state change (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :param instance_count: Instance count for the service. + :type instance_count: int + :param service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer". + :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + :ivar locations: An array that contains all of the locations for the service. + :vartype locations: list[~azure.mgmt.cosmosdb.models.DataTransferRegionalServiceResource] + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'instance_count': {'minimum': 0}, + 'service_type': {'required': True}, + 'status': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'instance_size': {'key': 'instanceSize', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + 'service_type': {'key': 'serviceType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[DataTransferRegionalServiceResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataTransferServiceResourceProperties, self).__init__(**kwargs) + self.service_type = 'DataTransferServiceResourceProperties' # type: str + self.locations = None + + class DefaultRequestDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateUpdateProperties): """Properties for non-restore Azure Cosmos DB database account requests. - 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. - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication - locations enabled for the Cosmos DB account. + :param locations: Required. An array that contains the georeplication locations enabled for the + Cosmos DB account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: Required. The offer type for the - database. Default value: "Standard" . + :ivar database_account_offer_type: Required. The offer type for the database. Default value: + "Standard". :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by + server. Possible values include: "Default", "Restore". Default value: "Default". + :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param create_mode: Required. Constant filled by server. - :type create_mode: str """ _validation = { @@ -2248,23 +2635,29 @@ class DefaultRequestDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateU 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, + 'create_mode': {'key': 'createMode', 'type': 'str'}, 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, } - def __init__(self, **kwargs): + database_account_offer_type = "Standard" + + def __init__( + self, + **kwargs + ): super(DefaultRequestDatabaseAccountCreateUpdateProperties, self).__init__(**kwargs) - self.create_mode = 'Default' + self.create_mode = 'Default' # type: str -class ErrorResponse(Model): +class ErrorResponse(msrest.serialization.Model): """Error Response. :param code: Error code. @@ -2278,29 +2671,20 @@ class ErrorResponse(Model): 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, **kwargs): + 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 ExcludedPath(Model): +class ExcludedPath(msrest.serialization.Model): """ExcludedPath. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str """ @@ -2308,48 +2692,15 @@ class ExcludedPath(Model): 'path': {'key': 'path', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ExcludedPath, self).__init__(**kwargs) self.path = kwargs.get('path', None) -class ExtendedResourceProperties(Model): - """The system generated resource properties associated with SQL databases, SQL - containers, Gremlin databases and Gremlin graphs. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - """ - - _validation = { - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, - } - - _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExtendedResourceProperties, self).__init__(**kwargs) - self._rid = None - self._ts = None - self._etag = None - - -class FailoverPolicies(Model): +class FailoverPolicies(msrest.serialization.Model): """The list of new failover policies for the failover priority change. All required parameters must be populated in order to send to Azure. @@ -2366,27 +2717,28 @@ class FailoverPolicies(Model): 'failover_policies': {'key': 'failoverPolicies', 'type': '[FailoverPolicy]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(FailoverPolicies, self).__init__(**kwargs) - self.failover_policies = kwargs.get('failover_policies', None) + self.failover_policies = kwargs['failover_policies'] -class FailoverPolicy(Model): +class FailoverPolicy(msrest.serialization.Model): """The failover policy for a given region of a database account. - 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 id: The unique identifier of the region in which the database - account replicates to. Example: <accountName>-<locationName>. + :ivar id: The unique identifier of the region in which the database account replicates to. + Example: <accountName>-<locationName>. :vartype id: str - :param location_name: The name of the region in which the database account - exists. + :param location_name: The name of the region in which the database account exists. :type location_name: str - :param failover_priority: The failover priority of the region. A failover - priority of 0 indicates a write region. The maximum value for a failover - priority = (total number of regions - 1). Failover priority values must be - unique for each of the regions in which the database account exists. + :param failover_priority: The failover priority of the region. A failover priority of 0 + indicates a write region. The maximum value for a failover priority = (total number of regions + - 1). Failover priority values must be unique for each of the regions in which the database + account exists. :type failover_priority: int """ @@ -2401,7 +2753,10 @@ class FailoverPolicy(Model): 'failover_priority': {'key': 'failoverPriority', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(FailoverPolicy, self).__init__(**kwargs) self.id = None self.location_name = kwargs.get('location_name', None) @@ -2411,8 +2766,7 @@ def __init__(self, **kwargs): class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Gremlin database. - 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. @@ -2422,17 +2776,21 @@ class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Gremlin database + :param resource: Required. The standard JSON format of a Gremlin database. :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -2454,18 +2812,20 @@ class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinDatabaseCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class GremlinDatabaseGetPropertiesOptions(OptionsResource): """GremlinDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -2476,57 +2836,85 @@ class GremlinDatabaseGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinDatabaseGetPropertiesOptions, self).__init__(**kwargs) -class GremlinDatabaseGetPropertiesResource(Model): +class GremlinDatabaseResource(msrest.serialization.Model): + """Cosmos DB Gremlin database resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB Gremlin database. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GremlinDatabaseResource, self).__init__(**kwargs) + self.id = kwargs['id'] + + +class GremlinDatabaseGetPropertiesResource(ExtendedResourceProperties, GremlinDatabaseResource): """GremlinDatabaseGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB Gremlin database + :param id: Required. Name of the Cosmos DB Gremlin database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinDatabaseGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self._rid = None - self._ts = None - self._etag = None + self.id = kwargs['id'] + self.rid = None + self.ts = None + self.etag = None class GremlinDatabaseGetResults(ARMResourceProperties): """An Azure Cosmos DB Gremlin database. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -2534,19 +2922,21 @@ class GremlinDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions """ _validation = { @@ -2566,39 +2956,44 @@ class GremlinDatabaseGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'GremlinDatabaseGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinDatabaseGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class GremlinDatabaseResource(Model): - """Cosmos DB Gremlin database resource object. +class GremlinDatabaseListResult(msrest.serialization.Model): + """The List operation response, that contains the Gremlin databases and their properties. - 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. Name of the Cosmos DB Gremlin database - :type id: str + :ivar value: List of Gremlin databases and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[GremlinDatabaseGetResults]'}, } - def __init__(self, **kwargs): - super(GremlinDatabaseResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + def __init__( + self, + **kwargs + ): + super(GremlinDatabaseListResult, self).__init__(**kwargs) + self.value = None class GremlinGraphCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Gremlin graph. - 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. @@ -2608,17 +3003,21 @@ class GremlinGraphCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Gremlin graph + :param resource: Required. The standard JSON format of a Gremlin graph. :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -2640,18 +3039,20 @@ class GremlinGraphCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinGraphCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class GremlinGraphGetPropertiesOptions(OptionsResource): """GremlinGraphGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -2662,51 +3063,97 @@ class GremlinGraphGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinGraphGetPropertiesOptions, self).__init__(**kwargs) -class GremlinGraphGetPropertiesResource(Model): +class GremlinGraphResource(msrest.serialization.Model): + """Cosmos DB Gremlin graph resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB Gremlin graph. + :type id: str + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the graph. + :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :param default_ttl: Default time to live. + :type default_ttl: int + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :param conflict_resolution_policy: The conflict resolution policy for the graph. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, + 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, + 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, + 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, + 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, + } + + def __init__( + self, + **kwargs + ): + super(GremlinGraphResource, self).__init__(**kwargs) + self.id = kwargs['id'] + self.indexing_policy = kwargs.get('indexing_policy', None) + self.partition_key = kwargs.get('partition_key', None) + self.default_ttl = kwargs.get('default_ttl', None) + self.unique_key_policy = kwargs.get('unique_key_policy', None) + self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) + + +class GremlinGraphGetPropertiesResource(ExtendedResourceProperties, GremlinGraphResource): """GremlinGraphGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB Gremlin graph + :param id: Required. Name of the Cosmos DB Gremlin graph. :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the graph + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the graph. :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live + :param default_ttl: Default time to live. :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - graph. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :param conflict_resolution_policy: The conflict resolution policy for the graph. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -2716,29 +3163,31 @@ class GremlinGraphGetPropertiesResource(Model): 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinGraphGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.indexing_policy = kwargs.get('indexing_policy', None) self.partition_key = kwargs.get('partition_key', None) self.default_ttl = kwargs.get('default_ttl', None) self.unique_key_policy = kwargs.get('unique_key_policy', None) self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class GremlinGraphGetResults(ARMResourceProperties): """An Azure Cosmos DB Gremlin graph. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -2746,19 +3195,21 @@ class GremlinGraphGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions """ _validation = { @@ -2778,67 +3229,47 @@ class GremlinGraphGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'GremlinGraphGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(GremlinGraphGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class GremlinGraphResource(Model): - """Cosmos DB Gremlin graph resource object. +class GremlinGraphListResult(msrest.serialization.Model): + """The List operation response, that contains the graphs and their properties. - 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. Name of the Cosmos DB Gremlin graph - :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the graph - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - graph. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :ivar value: List of graphs and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, + 'value': {'key': 'value', 'type': '[GremlinGraphGetResults]'}, } - def __init__(self, **kwargs): - super(GremlinGraphResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.indexing_policy = kwargs.get('indexing_policy', None) - self.partition_key = kwargs.get('partition_key', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.unique_key_policy = kwargs.get('unique_key_policy', None) - self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) + def __init__( + self, + **kwargs + ): + super(GremlinGraphListResult, self).__init__(**kwargs) + self.value = None -class IncludedPath(Model): +class IncludedPath(msrest.serialization.Model): """The paths that are included in indexing. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str - :param indexes: List of indexes for this path + :param indexes: List of indexes for this path. :type indexes: list[~azure.mgmt.cosmosdb.models.Indexes] """ @@ -2847,23 +3278,26 @@ class IncludedPath(Model): 'indexes': {'key': 'indexes', 'type': '[Indexes]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(IncludedPath, self).__init__(**kwargs) self.path = kwargs.get('path', None) self.indexes = kwargs.get('indexes', None) -class Indexes(Model): +class Indexes(msrest.serialization.Model): """The indexes for the path. - :param data_type: The datatype for which the indexing behavior is applied - to. Possible values include: 'String', 'Number', 'Point', 'Polygon', - 'LineString', 'MultiPolygon'. Default value: "String" . + :param data_type: The datatype for which the indexing behavior is applied to. Possible values + include: "String", "Number", "Point", "Polygon", "LineString", "MultiPolygon". Default value: + "String". :type data_type: str or ~azure.mgmt.cosmosdb.models.DataType :param precision: The precision of the index. -1 is maximum precision. :type precision: int - :param kind: Indicates the type of index. Possible values include: 'Hash', - 'Range', 'Spatial'. Default value: "Hash" . + :param kind: Indicates the type of index. Possible values include: "Hash", "Range", "Spatial". + Default value: "Hash". :type kind: str or ~azure.mgmt.cosmosdb.models.IndexKind """ @@ -2873,29 +3307,31 @@ class Indexes(Model): 'kind': {'key': 'kind', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Indexes, self).__init__(**kwargs) self.data_type = kwargs.get('data_type', "String") self.precision = kwargs.get('precision', None) self.kind = kwargs.get('kind', "Hash") -class IndexingPolicy(Model): +class IndexingPolicy(msrest.serialization.Model): """Cosmos DB indexing policy. - :param automatic: Indicates if the indexing policy is automatic + :param automatic: Indicates if the indexing policy is automatic. :type automatic: bool - :param indexing_mode: Indicates the indexing mode. Possible values - include: 'consistent', 'lazy', 'none'. Default value: "consistent" . + :param indexing_mode: Indicates the indexing mode. Possible values include: "consistent", + "lazy", "none". Default value: "consistent". :type indexing_mode: str or ~azure.mgmt.cosmosdb.models.IndexingMode - :param included_paths: List of paths to include in the indexing + :param included_paths: List of paths to include in the indexing. :type included_paths: list[~azure.mgmt.cosmosdb.models.IncludedPath] - :param excluded_paths: List of paths to exclude from indexing + :param excluded_paths: List of paths to exclude from indexing. :type excluded_paths: list[~azure.mgmt.cosmosdb.models.ExcludedPath] - :param composite_indexes: List of composite path list - :type composite_indexes: - list[list[~azure.mgmt.cosmosdb.models.CompositePath]] - :param spatial_indexes: List of spatial specifics + :param composite_indexes: List of composite path list. + :type composite_indexes: list[list[~azure.mgmt.cosmosdb.models.CompositePath]] + :param spatial_indexes: List of spatial specifics. :type spatial_indexes: list[~azure.mgmt.cosmosdb.models.SpatialSpec] """ @@ -2908,7 +3344,10 @@ class IndexingPolicy(Model): 'spatial_indexes': {'key': 'spatialIndexes', 'type': '[SpatialSpec]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(IndexingPolicy, self).__init__(**kwargs) self.automatic = kwargs.get('automatic', None) self.indexing_mode = kwargs.get('indexing_mode', "consistent") @@ -2918,14 +3357,13 @@ def __init__(self, **kwargs): self.spatial_indexes = kwargs.get('spatial_indexes', None) -class IpAddressOrRange(Model): +class IpAddressOrRange(msrest.serialization.Model): """IpAddressOrRange object. - :param ip_address_or_range: A single IPv4 address or a single IPv4 address - range in CIDR format. Provided IPs must be well-formatted and cannot be - contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, - 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP - address filter. Example of valid inputs: “23.40.210.245” or + :param ip_address_or_range: A single IPv4 address or a single IPv4 address range in CIDR + format. Provided IPs must be well-formatted and cannot be contained in one of the following + ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not + enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”. :type ip_address_or_range: str """ @@ -2934,41 +3372,118 @@ class IpAddressOrRange(Model): 'ip_address_or_range': {'key': 'ipAddressOrRange', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(IpAddressOrRange, self).__init__(**kwargs) self.ip_address_or_range = kwargs.get('ip_address_or_range', None) -class Location(Model): +class ListBackups(msrest.serialization.Model): + """List of restorable backups for a Cassandra cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Container for array of backups. + :vartype value: list[~azure.mgmt.cosmosdb.models.BackupResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BackupResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListBackups, self).__init__(**kwargs) + self.value = None + + +class ListClusters(msrest.serialization.Model): + """List of managed Cassandra clusters. + + :param value: Container for the array of clusters. + :type value: list[~azure.mgmt.cosmosdb.models.ClusterResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ClusterResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListClusters, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ListDataCenters(msrest.serialization.Model): + """List of managed Cassandra data centers and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Container for array of data centers. + :vartype value: list[~azure.mgmt.cosmosdb.models.DataCenterResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataCenterResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListDataCenters, self).__init__(**kwargs) + self.value = None + + +class Location(msrest.serialization.Model): """A region in which the Azure Cosmos DB database account is deployed. - 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 id: The unique identifier of the region within the database account. - Example: <accountName>-<locationName>. + :ivar id: The unique identifier of the region within the database account. Example: + <accountName>-<locationName>. :vartype id: str :param location_name: The name of the region. :type location_name: str - :ivar document_endpoint: The connection endpoint for the specific region. - Example: - https://<accountName>-<locationName>.documents.azure.com:443/ + :ivar document_endpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/. :vartype document_endpoint: str - :param provisioning_state: - :type provisioning_state: str - :param failover_priority: The failover priority of the region. A failover - priority of 0 indicates a write region. The maximum value for a failover - priority = (total number of regions - 1). Failover priority values must be - unique for each of the regions in which the database account exists. + :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was + called. The status can be one of following. 'Creating' – the Cosmos DB account is being + created. When an account is in Creating state, only properties that are specified as input for + the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is + active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB + account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – + the Cosmos DB account deletion failed. + :vartype provisioning_state: str + :param failover_priority: The failover priority of the region. A failover priority of 0 + indicates a write region. The maximum value for a failover priority = (total number of regions + - 1). Failover priority values must be unique for each of the regions in which the database + account exists. :type failover_priority: int - :param is_zone_redundant: Flag to indicate whether or not this region is - an AvailabilityZone region + :param is_zone_redundant: Flag to indicate whether or not this region is an AvailabilityZone + region. :type is_zone_redundant: bool """ _validation = { 'id': {'readonly': True}, 'document_endpoint': {'readonly': True}, + 'provisioning_state': {'readonly': True}, 'failover_priority': {'minimum': 0}, } @@ -2981,111 +3496,185 @@ class Location(Model): 'is_zone_redundant': {'key': 'isZoneRedundant', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Location, self).__init__(**kwargs) self.id = None self.location_name = kwargs.get('location_name', None) self.document_endpoint = None - self.provisioning_state = kwargs.get('provisioning_state', None) + self.provisioning_state = None self.failover_priority = kwargs.get('failover_priority', None) self.is_zone_redundant = kwargs.get('is_zone_redundant', None) -class ManagedServiceIdentity(Model): - """Identity for the resource. +class LocationGetResult(ARMProxyResource): + """Cosmos DB location get result. - 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 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 service. Possible values include: 'SystemAssigned', - 'UserAssigned', 'SystemAssigned,UserAssigned', 'None' - :type type: str or ~azure.mgmt.cosmosdb.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.cosmosdb.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + :ivar id: The unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :param properties: Cosmos DB location metadata. + :type properties: ~azure.mgmt.cosmosdb.models.LocationProperties """ _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'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}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'LocationProperties'}, } - 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) + def __init__( + self, + **kwargs + ): + super(LocationGetResult, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. +class LocationListResult(msrest.serialization.Model): + """The List operation response, that contains Cosmos DB locations and their properties. - 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 principal_id: The principal id of user assigned identity. + :ivar value: List of Cosmos DB locations and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.LocationGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LocationGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocationListResult, self).__init__(**kwargs) + self.value = None + + +class LocationProperties(msrest.serialization.Model): + """Cosmos DB location metadata. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: The current status of location in Azure. + :vartype status: str + :ivar supports_availability_zone: Flag indicating whether the location supports availability + zones or not. + :vartype supports_availability_zone: bool + :ivar is_residency_restricted: Flag indicating whether the location is residency sensitive. + :vartype is_residency_restricted: bool + :ivar backup_storage_redundancies: The properties of available backup storage redundancies. + :vartype backup_storage_redundancies: list[str or + ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy] + """ + + _validation = { + 'status': {'readonly': True}, + 'supports_availability_zone': {'readonly': True}, + 'is_residency_restricted': {'readonly': True}, + 'backup_storage_redundancies': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'}, + 'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'}, + 'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocationProperties, self).__init__(**kwargs) + self.status = None + self.supports_availability_zone = None + self.is_residency_restricted = None + self.backup_storage_redundancies = None + + +class ManagedServiceIdentity(msrest.serialization.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 client_id: The client id of user assigned identity. - :vartype client_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 service. Possible values include: "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned", "None". + :type type: str or ~azure.mgmt.cosmosdb.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.cosmosdb.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties] """ _validation = { 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, } _attribute_map = { 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties}'}, } - def __init__(self, **kwargs): - super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(ManagedServiceIdentity, self).__init__(**kwargs) self.principal_id = None - self.client_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) -class Metric(Model): +class Metric(msrest.serialization.Model): """Metric data. - 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 start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: datetime + :vartype start_time: ~datetime.datetime :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: datetime - :ivar time_grain: The time grain to be used to summarize the metric - values. + :vartype end_time: ~datetime.datetime + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The metric values for the specified time window and - timestep. + :ivar metric_values: The metric values for the specified time window and timestep. :vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue] """ @@ -3093,6 +3682,7 @@ class Metric(Model): 'start_time': {'readonly': True}, 'end_time': {'readonly': True}, 'time_grain': {'readonly': True}, + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'metric_values': {'readonly': True}, } @@ -3106,24 +3696,25 @@ class Metric(Model): 'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Metric, self).__init__(**kwargs) self.start_time = None self.end_time = None self.time_grain = None - self.unit = kwargs.get('unit', None) + self.unit = None self.name = None self.metric_values = None -class MetricAvailability(Model): +class MetricAvailability(msrest.serialization.Model): """The availability of the metric. - 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 time_grain: The time grain to be used to summarize the metric - values. + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str :ivar retention: The retention for the metric values. :vartype retention: str @@ -3139,31 +3730,28 @@ class MetricAvailability(Model): 'retention': {'key': 'retention', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MetricAvailability, self).__init__(**kwargs) self.time_grain = None self.retention = None -class MetricDefinition(Model): +class MetricDefinition(msrest.serialization.Model): """The definition of a metric. - 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 metric_availabilities: The list of metric availabilities for the - account. - :vartype metric_availabilities: - list[~azure.mgmt.cosmosdb.models.MetricAvailability] - :ivar primary_aggregation_type: The primary aggregation type of the - metric. Possible values include: 'None', 'Average', 'Total', 'Minimum', - 'Maximum', 'Last' - :vartype primary_aggregation_type: str or - ~azure.mgmt.cosmosdb.models.PrimaryAggregationType - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar metric_availabilities: The list of metric availabilities for the account. + :vartype metric_availabilities: list[~azure.mgmt.cosmosdb.models.MetricAvailability] + :ivar primary_aggregation_type: The primary aggregation type of the metric. Possible values + include: "None", "Average", "Total", "Minimum", "Maximum", "Last". + :vartype primary_aggregation_type: str or ~azure.mgmt.cosmosdb.models.PrimaryAggregationType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar resource_uri: The resource uri of the database. :vartype resource_uri: str :ivar name: The name information for the metric. @@ -3173,6 +3761,7 @@ class MetricDefinition(Model): _validation = { 'metric_availabilities': {'readonly': True}, 'primary_aggregation_type': {'readonly': True}, + 'unit': {'readonly': True}, 'resource_uri': {'readonly': True}, 'name': {'readonly': True}, } @@ -3185,20 +3774,72 @@ class MetricDefinition(Model): 'name': {'key': 'name', 'type': 'MetricName'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MetricDefinition, self).__init__(**kwargs) self.metric_availabilities = None self.primary_aggregation_type = None - self.unit = kwargs.get('unit', None) + self.unit = None self.resource_uri = None self.name = None -class MetricName(Model): +class MetricDefinitionsListResult(msrest.serialization.Model): + """The response to a list metric definitions request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of metric definitions for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.MetricDefinition] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MetricDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(MetricDefinitionsListResult, self).__init__(**kwargs) + self.value = None + + +class MetricListResult(msrest.serialization.Model): + """The response to a list metrics request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of metrics for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.Metric] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Metric]'}, + } + + def __init__( + self, + **kwargs + ): + super(MetricListResult, self).__init__(**kwargs) + self.value = None + + +class MetricName(msrest.serialization.Model): """A metric name. - 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 value: The name of the metric. :vartype value: str @@ -3216,20 +3857,22 @@ class MetricName(Model): 'localized_value': {'key': 'localizedValue', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MetricName, self).__init__(**kwargs) self.value = None self.localized_value = None -class MetricValue(Model): +class MetricValue(msrest.serialization.Model): """Represents metrics values. - 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 _count: The number of values for the metric. - :vartype _count: float + :ivar count: The number of values for the metric. + :vartype count: int :ivar average: The average value of the metric. :vartype average: float :ivar maximum: The max value of the metric. @@ -3237,13 +3880,13 @@ class MetricValue(Model): :ivar minimum: The min value of the metric. :vartype minimum: float :ivar timestamp: The metric timestamp (ISO-8601 format). - :vartype timestamp: datetime + :vartype timestamp: ~datetime.datetime :ivar total: The total value of the metric. :vartype total: float """ _validation = { - '_count': {'readonly': True}, + 'count': {'readonly': True}, 'average': {'readonly': True}, 'maximum': {'readonly': True}, 'minimum': {'readonly': True}, @@ -3252,7 +3895,7 @@ class MetricValue(Model): } _attribute_map = { - '_count': {'key': '_count', 'type': 'float'}, + 'count': {'key': '_count', 'type': 'int'}, 'average': {'key': 'average', 'type': 'float'}, 'maximum': {'key': 'maximum', 'type': 'float'}, 'minimum': {'key': 'minimum', 'type': 'float'}, @@ -3260,9 +3903,12 @@ class MetricValue(Model): 'total': {'key': 'total', 'type': 'float'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MetricValue, self).__init__(**kwargs) - self._count = None + self.count = None self.average = None self.maximum = None self.minimum = None @@ -3273,8 +3919,7 @@ def __init__(self, **kwargs): class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB MongoDB collection. - 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. @@ -3284,18 +3929,21 @@ class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a MongoDB - collection + :param resource: Required. The standard JSON format of a MongoDB collection. :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -3317,18 +3965,20 @@ class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoDBCollectionCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class MongoDBCollectionGetPropertiesOptions(OptionsResource): """MongoDBCollectionGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -3339,42 +3989,79 @@ class MongoDBCollectionGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoDBCollectionGetPropertiesOptions, self).__init__(**kwargs) -class MongoDBCollectionGetPropertiesResource(Model): +class MongoDBCollectionResource(msrest.serialization.Model): + """Cosmos DB MongoDB collection resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB MongoDB collection. + :type id: str + :param shard_key: A key-value pair of shard keys to be applied for the request. + :type shard_key: dict[str, str] + :param indexes: List of index keys. + :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] + :param analytical_storage_ttl: Analytical TTL. + :type analytical_storage_ttl: int + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'shard_key': {'key': 'shardKey', 'type': '{str}'}, + 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, + 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDBCollectionResource, self).__init__(**kwargs) + self.id = kwargs['id'] + self.shard_key = kwargs.get('shard_key', None) + self.indexes = kwargs.get('indexes', None) + self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) + + +class MongoDBCollectionGetPropertiesResource(ExtendedResourceProperties, MongoDBCollectionResource): """MongoDBCollectionGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB MongoDB collection + :param id: Required. Name of the Cosmos DB MongoDB collection. :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the - request. + :param shard_key: A key-value pair of shard keys to be applied for the request. :type shard_key: dict[str, str] - :param indexes: List of index keys + :param indexes: List of index keys. :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: int - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -3382,27 +4069,29 @@ class MongoDBCollectionGetPropertiesResource(Model): 'shard_key': {'key': 'shardKey', 'type': '{str}'}, 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoDBCollectionGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.shard_key = kwargs.get('shard_key', None) self.indexes = kwargs.get('indexes', None) self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class MongoDBCollectionGetResults(ARMResourceProperties): """An Azure Cosmos DB MongoDB collection. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -3410,19 +4099,21 @@ class MongoDBCollectionGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions """ _validation = { @@ -3442,52 +4133,44 @@ class MongoDBCollectionGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'MongoDBCollectionGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoDBCollectionGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class MongoDBCollectionResource(Model): - """Cosmos DB MongoDB collection resource object. +class MongoDBCollectionListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB collections and their properties. - 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. Name of the Cosmos DB MongoDB collection - :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the - request. - :type shard_key: dict[str, str] - :param indexes: List of index keys - :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar value: List of MongoDB collections and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'shard_key': {'key': 'shardKey', 'type': '{str}'}, - 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + 'value': {'key': 'value', 'type': '[MongoDBCollectionGetResults]'}, } - def __init__(self, **kwargs): - super(MongoDBCollectionResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.shard_key = kwargs.get('shard_key', None) - self.indexes = kwargs.get('indexes', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) + def __init__( + self, + **kwargs + ): + super(MongoDBCollectionListResult, self).__init__(**kwargs) + self.value = None class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB MongoDB database. - 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. @@ -3497,17 +4180,21 @@ class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a MongoDB database + :param resource: Required. The standard JSON format of a MongoDB database. :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -3529,79 +4216,109 @@ class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoDBDatabaseCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class MongoDBDatabaseGetPropertiesOptions(OptionsResource): """MongoDBDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, + 'throughput': {'key': 'throughput', 'type': 'int'}, + 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDBDatabaseGetPropertiesOptions, self).__init__(**kwargs) + + +class MongoDBDatabaseResource(msrest.serialization.Model): + """Cosmos DB MongoDB database resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB MongoDB database. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, **kwargs): - super(MongoDBDatabaseGetPropertiesOptions, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(MongoDBDatabaseResource, self).__init__(**kwargs) + self.id = kwargs['id'] -class MongoDBDatabaseGetPropertiesResource(Model): +class MongoDBDatabaseGetPropertiesResource(ExtendedResourceProperties, MongoDBDatabaseResource): """MongoDBDatabaseGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB MongoDB database + :param id: Required. Name of the Cosmos DB MongoDB database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoDBDatabaseGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self._rid = None - self._ts = None - self._etag = None + self.id = kwargs['id'] + self.rid = None + self.ts = None + self.etag = None class MongoDBDatabaseGetResults(ARMResourceProperties): """An Azure Cosmos DB MongoDB database. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -3609,19 +4326,21 @@ class MongoDBDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions """ _validation = { @@ -3641,40 +4360,46 @@ class MongoDBDatabaseGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'MongoDBDatabaseGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoDBDatabaseGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class MongoDBDatabaseResource(Model): - """Cosmos DB MongoDB database resource object. +class MongoDBDatabaseListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB databases and their properties. - 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. Name of the Cosmos DB MongoDB database - :type id: str + :ivar value: List of MongoDB databases and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[MongoDBDatabaseGetResults]'}, } - def __init__(self, **kwargs): - super(MongoDBDatabaseResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + def __init__( + self, + **kwargs + ): + super(MongoDBDatabaseListResult, self).__init__(**kwargs) + self.value = None -class MongoIndex(Model): +class MongoIndex(msrest.serialization.Model): """Cosmos DB MongoDB collection index key. - :param key: Cosmos DB MongoDB collection index keys + :param key: Cosmos DB MongoDB collection index keys. :type key: ~azure.mgmt.cosmosdb.models.MongoIndexKeys - :param options: Cosmos DB MongoDB collection index key options + :param options: Cosmos DB MongoDB collection index key options. :type options: ~azure.mgmt.cosmosdb.models.MongoIndexOptions """ @@ -3683,17 +4408,19 @@ class MongoIndex(Model): 'options': {'key': 'options', 'type': 'MongoIndexOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoIndex, self).__init__(**kwargs) self.key = kwargs.get('key', None) self.options = kwargs.get('options', None) -class MongoIndexKeys(Model): +class MongoIndexKeys(msrest.serialization.Model): """Cosmos DB MongoDB collection resource object. - :param keys: List of keys for each MongoDB collection in the Azure Cosmos - DB service + :param keys: List of keys for each MongoDB collection in the Azure Cosmos DB service. :type keys: list[str] """ @@ -3701,17 +4428,20 @@ class MongoIndexKeys(Model): 'keys': {'key': 'keys', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoIndexKeys, self).__init__(**kwargs) self.keys = kwargs.get('keys', None) -class MongoIndexOptions(Model): +class MongoIndexOptions(msrest.serialization.Model): """Cosmos DB MongoDB collection index options. - :param expire_after_seconds: Expire after seconds + :param expire_after_seconds: Expire after seconds. :type expire_after_seconds: int - :param unique: Is unique or not + :param unique: Is unique or not. :type unique: bool """ @@ -3720,7 +4450,10 @@ class MongoIndexOptions(Model): 'unique': {'key': 'unique', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MongoIndexOptions, self).__init__(**kwargs) self.expire_after_seconds = kwargs.get('expire_after_seconds', None) self.unique = kwargs.get('unique', None) @@ -3729,8 +4462,7 @@ def __init__(self, **kwargs): class NotebookWorkspace(ARMProxyResource): """A notebook workspace resource. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -3740,8 +4472,8 @@ class NotebookWorkspace(ARMProxyResource): :vartype type: str :ivar notebook_server_endpoint: Specifies the endpoint of Notebook server. :vartype notebook_server_endpoint: str - :ivar status: Status of the notebook workspace. Possible values are: - Creating, Online, Deleting, Failed, Updating. + :ivar status: Status of the notebook workspace. Possible values are: Creating, Online, + Deleting, Failed, Updating. :vartype status: str """ @@ -3761,20 +4493,22 @@ class NotebookWorkspace(ARMProxyResource): 'status': {'key': 'properties.status', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(NotebookWorkspace, self).__init__(**kwargs) self.notebook_server_endpoint = None self.status = None -class NotebookWorkspaceConnectionInfoResult(Model): +class NotebookWorkspaceConnectionInfoResult(msrest.serialization.Model): """The connection info for the given notebook workspace. - 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 auth_token: Specifies auth token used for connecting to Notebook - server (uses token-based auth). + :ivar auth_token: Specifies auth token used for connecting to Notebook server (uses token-based + auth). :vartype auth_token: str :ivar notebook_server_endpoint: Specifies the endpoint of Notebook server. :vartype notebook_server_endpoint: str @@ -3790,7 +4524,10 @@ class NotebookWorkspaceConnectionInfoResult(Model): 'notebook_server_endpoint': {'key': 'notebookServerEndpoint', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(NotebookWorkspaceConnectionInfoResult, self).__init__(**kwargs) self.auth_token = None self.notebook_server_endpoint = None @@ -3799,8 +4536,7 @@ def __init__(self, **kwargs): class NotebookWorkspaceCreateUpdateParameters(ARMProxyResource): """Parameters to create a notebook workspace resource. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -3822,14 +4558,36 @@ class NotebookWorkspaceCreateUpdateParameters(ARMProxyResource): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(NotebookWorkspaceCreateUpdateParameters, self).__init__(**kwargs) -class Operation(Model): +class NotebookWorkspaceListResult(msrest.serialization.Model): + """A list of notebook workspace resources. + + :param value: Array of notebook workspace resources. + :type value: list[~azure.mgmt.cosmosdb.models.NotebookWorkspace] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[NotebookWorkspace]'}, + } + + def __init__( + self, + **kwargs + ): + super(NotebookWorkspaceListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class Operation(msrest.serialization.Model): """REST API operation. - :param name: Operation name: {provider}/{resource}/{operation} + :param name: Operation name: {provider}/{resource}/{operation}. :type name: str :param display: The object that represents the operation. :type display: ~azure.mgmt.cosmosdb.models.OperationDisplay @@ -3840,23 +4598,25 @@ class Operation(Model): 'display': {'key': 'display', 'type': 'OperationDisplay'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.display = kwargs.get('display', None) -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """The object that represents the operation. - :param provider: Service provider: Microsoft.ResourceProvider + :param provider: Service provider: Microsoft.ResourceProvider. :type provider: str - :param resource: Resource on which the operation is performed: Profile, - endpoint, etc. + :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: Description of operation + :param description: Description of operation. :type description: str """ @@ -3867,7 +4627,10 @@ class OperationDisplay(Model): 'description': {'key': 'Description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OperationDisplay, self).__init__(**kwargs) self.provider = kwargs.get('provider', None) self.resource = kwargs.get('resource', None) @@ -3875,33 +4638,51 @@ def __init__(self, **kwargs): self.description = kwargs.get('description', None) +class OperationListResult(msrest.serialization.Model): + """Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results. + + :param value: List of operations supported by the Resource Provider. + :type value: list[~azure.mgmt.cosmosdb.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 PartitionMetric(Metric): """The metric values for a single partition. - 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 start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: datetime + :vartype start_time: ~datetime.datetime :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: datetime - :ivar time_grain: The time grain to be used to summarize the metric - values. + :vartype end_time: ~datetime.datetime + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The metric values for the specified time window and - timestep. + :ivar metric_values: The metric values for the specified time window and timestep. :vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue] - :ivar partition_id: The partition id (GUID identifier) of the metric - values. + :ivar partition_id: The partition id (GUID identifier) of the metric values. :vartype partition_id: str - :ivar partition_key_range_id: The partition key range id (integer - identifier) of the metric values. + :ivar partition_key_range_id: The partition key range id (integer identifier) of the metric + values. :vartype partition_key_range_id: str """ @@ -3909,6 +4690,7 @@ class PartitionMetric(Metric): 'start_time': {'readonly': True}, 'end_time': {'readonly': True}, 'time_grain': {'readonly': True}, + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'metric_values': {'readonly': True}, 'partition_id': {'readonly': True}, @@ -3926,33 +4708,60 @@ class PartitionMetric(Metric): 'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PartitionMetric, self).__init__(**kwargs) self.partition_id = None self.partition_key_range_id = None -class Usage(Model): +class PartitionMetricListResult(msrest.serialization.Model): + """The response to a list partition metrics request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of partition-level metrics for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.PartitionMetric] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PartitionMetric]'}, + } + + def __init__( + self, + **kwargs + ): + super(PartitionMetricListResult, self).__init__(**kwargs) + self.value = None + + +class Usage(msrest.serialization.Model): """The usage data for a usage request. - 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 unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName :ivar quota_period: The quota period used to summarize the usage values. :vartype quota_period: str - :ivar limit: Maximum value for this metric + :ivar limit: Maximum value for this metric. :vartype limit: long - :ivar current_value: Current value for this metric + :ivar current_value: Current value for this metric. :vartype current_value: long """ _validation = { + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'quota_period': {'readonly': True}, 'limit': {'readonly': True}, @@ -3967,9 +4776,12 @@ class Usage(Model): 'current_value': {'key': 'currentValue', 'type': 'long'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Usage, self).__init__(**kwargs) - self.unit = kwargs.get('unit', None) + self.unit = None self.name = None self.quota_period = None self.limit = None @@ -3979,29 +4791,27 @@ def __init__(self, **kwargs): class PartitionUsage(Usage): """The partition level usage data for a usage request. - 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 unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName :ivar quota_period: The quota period used to summarize the usage values. :vartype quota_period: str - :ivar limit: Maximum value for this metric + :ivar limit: Maximum value for this metric. :vartype limit: long - :ivar current_value: Current value for this metric + :ivar current_value: Current value for this metric. :vartype current_value: long :ivar partition_id: The partition id (GUID identifier) of the usages. :vartype partition_id: str - :ivar partition_key_range_id: The partition key range id (integer - identifier) of the usages. + :ivar partition_key_range_id: The partition key range id (integer identifier) of the usages. :vartype partition_key_range_id: str """ _validation = { + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'quota_period': {'readonly': True}, 'limit': {'readonly': True}, @@ -4020,41 +4830,66 @@ class PartitionUsage(Usage): 'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PartitionUsage, self).__init__(**kwargs) self.partition_id = None self.partition_key_range_id = None -class PercentileMetric(Model): +class PartitionUsagesResult(msrest.serialization.Model): + """The response to a list partition level usage request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of partition-level usages for the database. A usage is a point in time + metric. + :vartype value: list[~azure.mgmt.cosmosdb.models.PartitionUsage] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PartitionUsage]'}, + } + + def __init__( + self, + **kwargs + ): + super(PartitionUsagesResult, self).__init__(**kwargs) + self.value = None + + +class PercentileMetric(msrest.serialization.Model): """Percentile Metric data. - 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 start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: datetime + :vartype start_time: ~datetime.datetime :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: datetime - :ivar time_grain: The time grain to be used to summarize the metric - values. + :vartype end_time: ~datetime.datetime + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The percentile metric values for the specified time - window and timestep. - :vartype metric_values: - list[~azure.mgmt.cosmosdb.models.PercentileMetricValue] + :ivar metric_values: The percentile metric values for the specified time window and timestep. + :vartype metric_values: list[~azure.mgmt.cosmosdb.models.PercentileMetricValue] """ _validation = { 'start_time': {'readonly': True}, 'end_time': {'readonly': True}, 'time_grain': {'readonly': True}, + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'metric_values': {'readonly': True}, } @@ -4068,24 +4903,51 @@ class PercentileMetric(Model): 'metric_values': {'key': 'metricValues', 'type': '[PercentileMetricValue]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PercentileMetric, self).__init__(**kwargs) self.start_time = None self.end_time = None self.time_grain = None - self.unit = kwargs.get('unit', None) + self.unit = None self.name = None self.metric_values = None +class PercentileMetricListResult(msrest.serialization.Model): + """The response to a list percentile metrics request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of percentile metrics for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.PercentileMetric] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PercentileMetric]'}, + } + + def __init__( + self, + **kwargs + ): + super(PercentileMetricListResult, self).__init__(**kwargs) + self.value = None + + class PercentileMetricValue(MetricValue): """Represents percentile metrics values. - 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 _count: The number of values for the metric. - :vartype _count: float + :ivar count: The number of values for the metric. + :vartype count: int :ivar average: The average value of the metric. :vartype average: float :ivar maximum: The max value of the metric. @@ -4093,7 +4955,7 @@ class PercentileMetricValue(MetricValue): :ivar minimum: The min value of the metric. :vartype minimum: float :ivar timestamp: The metric timestamp (ISO-8601 format). - :vartype timestamp: datetime + :vartype timestamp: ~datetime.datetime :ivar total: The total value of the metric. :vartype total: float :ivar p10: The 10th percentile value for the metric. @@ -4113,7 +4975,7 @@ class PercentileMetricValue(MetricValue): """ _validation = { - '_count': {'readonly': True}, + 'count': {'readonly': True}, 'average': {'readonly': True}, 'maximum': {'readonly': True}, 'minimum': {'readonly': True}, @@ -4129,7 +4991,7 @@ class PercentileMetricValue(MetricValue): } _attribute_map = { - '_count': {'key': '_count', 'type': 'float'}, + 'count': {'key': '_count', 'type': 'int'}, 'average': {'key': 'average', 'type': 'float'}, 'maximum': {'key': 'maximum', 'type': 'float'}, 'minimum': {'key': 'minimum', 'type': 'float'}, @@ -4144,7 +5006,10 @@ class PercentileMetricValue(MetricValue): 'p99': {'key': 'P99', 'type': 'float'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PercentileMetricValue, self).__init__(**kwargs) self.p10 = None self.p25 = None @@ -4160,12 +5025,11 @@ class PeriodicModeBackupPolicy(BackupPolicy): All required parameters must be populated in order to send to Azure. - :param type: Required. Constant filled by server. - :type type: str - :param periodic_mode_properties: Configuration values for periodic mode - backup - :type periodic_mode_properties: - ~azure.mgmt.cosmosdb.models.PeriodicModeProperties + :param type: Required. Describes the mode of backups.Constant filled by server. Possible + values include: "Periodic", "Continuous". + :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType + :param periodic_mode_properties: Configuration values for periodic mode backup. + :type periodic_mode_properties: ~azure.mgmt.cosmosdb.models.PeriodicModeProperties """ _validation = { @@ -4177,25 +5041,27 @@ class PeriodicModeBackupPolicy(BackupPolicy): 'periodic_mode_properties': {'key': 'periodicModeProperties', 'type': 'PeriodicModeProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeriodicModeBackupPolicy, self).__init__(**kwargs) + self.type = 'Periodic' # type: str self.periodic_mode_properties = kwargs.get('periodic_mode_properties', None) - self.type = 'Periodic' -class PeriodicModeProperties(Model): +class PeriodicModeProperties(msrest.serialization.Model): """Configuration values for periodic mode backup. - :param backup_interval_in_minutes: An integer representing the interval in - minutes between two backups + :param backup_interval_in_minutes: An integer representing the interval in minutes between two + backups. :type backup_interval_in_minutes: int - :param backup_retention_interval_in_hours: An integer representing the - time (in hours) that each backup is retained + :param backup_retention_interval_in_hours: An integer representing the time (in hours) that + each backup is retained. :type backup_retention_interval_in_hours: int - :param backup_storage_redundancy: Enum to indicate type of backup - residency. Possible values include: 'Geo', 'Local', 'Zone' - :type backup_storage_redundancy: str or - ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy + :param backup_storage_redundancy: Enum to indicate type of backup residency. Possible values + include: "Geo", "Local", "Zone". + :type backup_storage_redundancy: str or ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy """ _validation = { @@ -4209,14 +5075,17 @@ class PeriodicModeProperties(Model): 'backup_storage_redundancy': {'key': 'backupStorageRedundancy', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PeriodicModeProperties, self).__init__(**kwargs) self.backup_interval_in_minutes = kwargs.get('backup_interval_in_minutes', None) self.backup_retention_interval_in_hours = kwargs.get('backup_retention_interval_in_hours', None) self.backup_storage_redundancy = kwargs.get('backup_storage_redundancy', None) -class Permission(Model): +class Permission(msrest.serialization.Model): """The set of data plane operations permitted through this Role Definition. :param data_actions: An array of data actions that are allowed. @@ -4230,28 +5099,64 @@ class Permission(Model): 'not_data_actions': {'key': 'notDataActions', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Permission, self).__init__(**kwargs) self.data_actions = kwargs.get('data_actions', None) self.not_data_actions = kwargs.get('not_data_actions', None) -class ProxyResource(Resource): - """Proxy Resource. +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. E.g. "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 + - The resource model definition for a Azure Resource Manager proxy resource. - It will not have tags and a location. +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and 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. :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str - :ivar name: The name of the resource + :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str """ @@ -4267,29 +5172,30 @@ class ProxyResource(Resource): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ProxyResource, self).__init__(**kwargs) class PrivateEndpointConnection(ProxyResource): """A private endpoint 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. :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str - :ivar name: The name of the resource + :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param private_endpoint: Private endpoint which the connection belongs to. - :type private_endpoint: - ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty - :param private_link_service_connection_state: Connection State of the - Private Endpoint Connection. + :type private_endpoint: ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty + :param private_link_service_connection_state: Connection State of the Private Endpoint + Connection. :type private_link_service_connection_state: ~azure.mgmt.cosmosdb.models.PrivateLinkServiceConnectionStateProperty :param group_id: Group id of the private endpoint. @@ -4314,7 +5220,10 @@ class PrivateEndpointConnection(ProxyResource): 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } - def __init__(self, **kwargs): + 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) @@ -4322,7 +5231,26 @@ def __init__(self, **kwargs): self.provisioning_state = kwargs.get('provisioning_state', None) -class PrivateEndpointProperty(Model): +class PrivateEndpointConnectionListResult(msrest.serialization.Model): + """A list of private endpoint connections. + + :param value: Array of private endpoint connections. + :type value: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class PrivateEndpointProperty(msrest.serialization.Model): """Private endpoint which the connection belongs to. :param id: Resource id of the private endpoint. @@ -4333,7 +5261,10 @@ class PrivateEndpointProperty(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateEndpointProperty, self).__init__(**kwargs) self.id = kwargs.get('id', None) @@ -4341,8 +5272,7 @@ def __init__(self, **kwargs): class PrivateLinkResource(ARMProxyResource): """A private link resource. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -4376,25 +5306,46 @@ class PrivateLinkResource(ARMProxyResource): 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkResource, self).__init__(**kwargs) self.group_id = None self.required_members = None self.required_zone_names = None -class PrivateLinkServiceConnectionStateProperty(Model): +class PrivateLinkResourceListResult(msrest.serialization.Model): + """A list of private link resources. + + :param value: Array of private link resources. + :type value: list[~azure.mgmt.cosmosdb.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 PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): """Connection State of the Private Endpoint 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 status: The private link service connection status. :type status: str :param description: The private link service connection description. :type description: str - :ivar actions_required: Any action that is required beyond basic workflow - (approve/ reject/ disconnect) + :ivar actions_required: Any action that is required beyond basic workflow (approve/ reject/ + disconnect). :vartype actions_required: str """ @@ -4408,20 +5359,22 @@ class PrivateLinkServiceConnectionStateProperty(Model): 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) self.status = kwargs.get('status', None) self.description = kwargs.get('description', None) self.actions_required = None -class RegionForOnlineOffline(Model): +class RegionForOnlineOffline(msrest.serialization.Model): """Cosmos DB region to online or offline. All required parameters must be populated in order to send to Azure. - :param region: Required. Cosmos DB region, with spaces between words and - each word capitalized. + :param region: Required. Cosmos DB region, with spaces between words and each word capitalized. :type region: str """ @@ -4433,21 +5386,23 @@ class RegionForOnlineOffline(Model): 'region': {'key': 'region', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RegionForOnlineOffline, self).__init__(**kwargs) - self.region = kwargs.get('region', None) + self.region = kwargs['region'] -class RepairPostBody(Model): +class RepairPostBody(msrest.serialization.Model): """Specification of the keyspaces and tables to run repair on. All required parameters must be populated in order to send to Azure. - :param keyspace: Required. The name of the keyspace that repair should be - run on. + :param keyspace: Required. The name of the keyspace that repair should be run on. :type keyspace: str - :param tables: List of tables in the keyspace to repair. If omitted, - repair all tables in the keyspace. + :param tables: List of tables in the keyspace to repair. If omitted, repair all tables in the + keyspace. :type tables: list[str] """ @@ -4460,95 +5415,120 @@ class RepairPostBody(Model): 'tables': {'key': 'tables', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RepairPostBody, self).__init__(**kwargs) - self.keyspace = kwargs.get('keyspace', None) + self.keyspace = kwargs['keyspace'] self.tables = kwargs.get('tables', None) -class RestorableDatabaseAccountGetResult(Model): +class RestorableDatabaseAccountGetResult(msrest.serialization.Model): """A Azure Cosmos DB restorable database account. - 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 account_name: The name of the global database account - :type account_name: str - :param creation_time: The creation time of the restorable database account - (ISO-8601 format). - :type creation_time: datetime - :param deletion_time: The time at which the restorable database account - has been deleted (ISO-8601 format). - :type deletion_time: datetime - :ivar api_type: The API type of the restorable database account. Possible - values include: 'MongoDB', 'Gremlin', 'Cassandra', 'Table', 'Sql', - 'GremlinV2' - :vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType - :ivar restorable_locations: List of regions where the of the database - account can be restored from. - :vartype restorable_locations: - list[~azure.mgmt.cosmosdb.models.RestorableLocationResource] :ivar id: The unique resource identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str + :param account_name: The name of the global database account. + :type account_name: str + :param creation_time: The creation time of the restorable database account (ISO-8601 format). + :type creation_time: ~datetime.datetime + :param deletion_time: The time at which the restorable database account has been deleted + (ISO-8601 format). + :type deletion_time: ~datetime.datetime + :ivar api_type: The API type of the restorable database account. Possible values include: + "MongoDB", "Gremlin", "Cassandra", "Table", "Sql", "GremlinV2". + :vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType + :ivar restorable_locations: List of regions where the of the database account can be restored + from. + :vartype restorable_locations: list[~azure.mgmt.cosmosdb.models.RestorableLocationResource] """ _validation = { - 'api_type': {'readonly': True}, - 'restorable_locations': {'readonly': True}, 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'api_type': {'readonly': True}, + 'restorable_locations': {'readonly': True}, } _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, 'account_name': {'key': 'properties.accountName', 'type': 'str'}, 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 'deletion_time': {'key': 'properties.deletionTime', 'type': 'iso-8601'}, 'api_type': {'key': 'properties.apiType', 'type': 'str'}, 'restorable_locations': {'key': 'properties.restorableLocations', 'type': '[RestorableLocationResource]'}, - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableDatabaseAccountGetResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) self.account_name = kwargs.get('account_name', None) self.creation_time = kwargs.get('creation_time', None) self.deletion_time = kwargs.get('deletion_time', None) self.api_type = None self.restorable_locations = None - self.id = None - self.name = None - self.type = None - self.location = kwargs.get('location', None) -class RestorableLocationResource(Model): +class RestorableDatabaseAccountsListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable database accounts and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable database accounts and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableDatabaseAccountGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableDatabaseAccountsListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableLocationResource(msrest.serialization.Model): """Properties of the regional restorable account. - 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 location_name: The location of the regional restorable account. :vartype location_name: str - :ivar regional_database_account_instance_id: The instance id of the - regional restorable account. + :ivar regional_database_account_instance_id: The instance id of the regional restorable + account. :vartype regional_database_account_instance_id: str - :ivar creation_time: The creation time of the regional restorable database - account (ISO-8601 format). - :vartype creation_time: datetime - :ivar deletion_time: The time at which the regional restorable database - account has been deleted (ISO-8601 format). - :vartype deletion_time: datetime + :ivar creation_time: The creation time of the regional restorable database account (ISO-8601 + format). + :vartype creation_time: ~datetime.datetime + :ivar deletion_time: The time at which the regional restorable database account has been + deleted (ISO-8601 format). + :vartype deletion_time: ~datetime.datetime """ _validation = { @@ -4565,7 +5545,10 @@ class RestorableLocationResource(Model): 'deletion_time': {'key': 'deletionTime', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableLocationResource, self).__init__(**kwargs) self.location_name = None self.regional_database_account_instance_id = None @@ -4573,22 +5556,19 @@ def __init__(self, **kwargs): self.deletion_time = None -class RestorableMongodbCollectionGetResult(Model): +class RestorableMongodbCollectionGetResult(msrest.serialization.Model): """An Azure Cosmos DB MongoDB collection event. - 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 resource: The resource of an Azure Cosmos DB MongoDB collection - event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB MongoDB collection event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource """ _validation = { @@ -4598,30 +5578,32 @@ class RestorableMongodbCollectionGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbCollectionPropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbCollectionPropertiesResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableMongodbCollectionGetResult, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) self.id = None self.name = None self.type = None + self.resource = kwargs.get('resource', None) -class RestorableMongodbCollectionPropertiesResource(Model): +class RestorableMongodbCollectionPropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB MongoDB collection event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this collection event. - Possible values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this collection event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The time when this collection event happened. :vartype event_timestamp: str @@ -4632,7 +5614,7 @@ class RestorableMongodbCollectionPropertiesResource(Model): """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4640,37 +5622,63 @@ class RestorableMongodbCollectionPropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableMongodbCollectionPropertiesResource, self).__init__(**kwargs) - self._rid = None + self.rid = None self.operation_type = None self.event_timestamp = None self.owner_id = None self.owner_resource_id = None -class RestorableMongodbDatabaseGetResult(Model): +class RestorableMongodbCollectionsListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB collection events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of MongoDB collection events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableMongodbCollectionGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableMongodbCollectionsListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableMongodbDatabaseGetResult(msrest.serialization.Model): """An Azure Cosmos DB MongoDB database event. - 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 resource: The resource of an Azure Cosmos DB MongoDB database event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB MongoDB database event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource """ _validation = { @@ -4680,30 +5688,32 @@ class RestorableMongodbDatabaseGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbDatabasePropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbDatabasePropertiesResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableMongodbDatabaseGetResult, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) self.id = None self.name = None self.type = None + self.resource = kwargs.get('resource', None) -class RestorableMongodbDatabasePropertiesResource(Model): +class RestorableMongodbDatabasePropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB MongoDB database event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this database event. Possible - values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this database event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The time when this database event happened. :vartype event_timestamp: str @@ -4714,7 +5724,7 @@ class RestorableMongodbDatabasePropertiesResource(Model): """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4722,37 +5732,88 @@ class RestorableMongodbDatabasePropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableMongodbDatabasePropertiesResource, self).__init__(**kwargs) - self._rid = None + self.rid = None self.operation_type = None self.event_timestamp = None self.owner_id = None self.owner_resource_id = None -class RestorableSqlContainerGetResult(Model): +class RestorableMongodbDatabasesListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB database events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of MongoDB database events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabaseGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableMongodbDatabaseGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableMongodbDatabasesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableMongodbResourcesListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable MongoDB resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable MongoDB resources, including the database and collection names. + :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableMongodbResourcesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableSqlContainerGetResult(msrest.serialization.Model): """An Azure Cosmos DB SQL container event. - 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 resource: The resource of an Azure Cosmos DB SQL container event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB SQL container event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource """ _validation = { @@ -4762,30 +5823,32 @@ class RestorableSqlContainerGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlContainerPropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlContainerPropertiesResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableSqlContainerGetResult, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) self.id = None self.name = None self.type = None + self.resource = kwargs.get('resource', None) -class RestorableSqlContainerPropertiesResource(Model): +class RestorableSqlContainerPropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB SQL container event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this container event. Possible - values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this container event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The when this container event happened. :vartype event_timestamp: str @@ -4793,13 +5856,12 @@ class RestorableSqlContainerPropertiesResource(Model): :vartype owner_id: str :ivar owner_resource_id: The resource ID of this SQL container. :vartype owner_resource_id: str - :param container: Cosmos DB SQL container resource object - :type container: - ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer + :param container: Cosmos DB SQL container resource object. + :type container: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4807,7 +5869,7 @@ class RestorableSqlContainerPropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, @@ -4815,64 +5877,113 @@ class RestorableSqlContainerPropertiesResource(Model): 'container': {'key': 'container', 'type': 'RestorableSqlContainerPropertiesResourceContainer'}, } - def __init__(self, **kwargs): - super(RestorableSqlContainerPropertiesResource, self).__init__(**kwargs) - self._rid = None - self.operation_type = None - self.event_timestamp = None - self.owner_id = None - self.owner_resource_id = None - self.container = kwargs.get('container', None) + def __init__( + self, + **kwargs + ): + super(RestorableSqlContainerPropertiesResource, self).__init__(**kwargs) + self.rid = None + self.operation_type = None + self.event_timestamp = None + self.owner_id = None + self.owner_resource_id = None + self.container = kwargs.get('container', None) + + +class SqlContainerResource(msrest.serialization.Model): + """Cosmos DB SQL container resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB SQL container. + :type id: str + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. + :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :param default_ttl: Default time to live. + :type default_ttl: int + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :param conflict_resolution_policy: The conflict resolution policy for the container. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :param analytical_storage_ttl: Analytical TTL. + :type analytical_storage_ttl: long + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, + 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, + 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, + 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, + 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, + 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlContainerResource, self).__init__(**kwargs) + self.id = kwargs['id'] + self.indexing_policy = kwargs.get('indexing_policy', None) + self.partition_key = kwargs.get('partition_key', None) + self.default_ttl = kwargs.get('default_ttl', None) + self.unique_key_policy = kwargs.get('unique_key_policy', None) + self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) + self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) -class RestorableSqlContainerPropertiesResourceContainer(Model): +class RestorableSqlContainerPropertiesResourceContainer(ExtendedResourceProperties, SqlContainerResource): """Cosmos DB SQL container resource object. - 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. - :param id: Required. Name of the Cosmos DB SQL container + :param id: Required. Name of the Cosmos DB SQL container. :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the - container + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live + :param default_ttl: Default time to live. :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - container. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :param conflict_resolution_policy: The conflict resolution policy for the container. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: long - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - :ivar _self: A system generated property that specifies the addressable - path of the container resource. - :vartype _self: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + :ivar self_property: A system generated property that specifies the addressable path of the + container resource. + :vartype self_property: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, - '_self': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + 'self_property': {'readonly': True}, } _attribute_map = { @@ -4883,42 +5994,69 @@ class RestorableSqlContainerPropertiesResourceContainer(Model): 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - '_self': {'key': '_self', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + 'self_property': {'key': '_self', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableSqlContainerPropertiesResourceContainer, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.indexing_policy = kwargs.get('indexing_policy', None) self.partition_key = kwargs.get('partition_key', None) self.default_ttl = kwargs.get('default_ttl', None) self.unique_key_policy = kwargs.get('unique_key_policy', None) self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self._rid = None - self._ts = None - self._etag = None - self._self = None + self.self_property = None + self.rid = None + self.ts = None + self.etag = None + self.self_property = None + + +class RestorableSqlContainersListResult(msrest.serialization.Model): + """The List operation response, that contains the SQL container events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of SQL container events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlContainerGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableSqlContainerGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableSqlContainersListResult, self).__init__(**kwargs) + self.value = None -class RestorableSqlDatabaseGetResult(Model): +class RestorableSqlDatabaseGetResult(msrest.serialization.Model): """An Azure Cosmos DB SQL database event. - 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 resource: The resource of an Azure Cosmos DB SQL database event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB SQL database event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource """ _validation = { @@ -4928,30 +6066,32 @@ class RestorableSqlDatabaseGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlDatabasePropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlDatabasePropertiesResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableSqlDatabaseGetResult, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) self.id = None self.name = None self.type = None + self.resource = kwargs.get('resource', None) -class RestorableSqlDatabasePropertiesResource(Model): +class RestorableSqlDatabasePropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB SQL database event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this database event. Possible - values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this database event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The time when this database event happened. :vartype event_timestamp: str @@ -4959,13 +6099,12 @@ class RestorableSqlDatabasePropertiesResource(Model): :vartype owner_id: str :ivar owner_resource_id: The resource ID of the SQL database. :vartype owner_resource_id: str - :param database: Cosmos DB SQL database resource object - :type database: - ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase + :param database: Cosmos DB SQL database resource object. + :type database: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4973,7 +6112,7 @@ class RestorableSqlDatabasePropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, @@ -4981,9 +6120,12 @@ class RestorableSqlDatabasePropertiesResource(Model): 'database': {'key': 'database', 'type': 'RestorableSqlDatabasePropertiesResourceDatabase'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableSqlDatabasePropertiesResource, self).__init__(**kwargs) - self._rid = None + self.rid = None self.operation_type = None self.event_timestamp = None self.owner_id = None @@ -4991,83 +6133,159 @@ def __init__(self, **kwargs): self.database = kwargs.get('database', None) -class RestorableSqlDatabasePropertiesResourceDatabase(Model): +class SqlDatabaseResource(msrest.serialization.Model): + """Cosmos DB SQL database resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB SQL database. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDatabaseResource, self).__init__(**kwargs) + self.id = kwargs['id'] + + +class RestorableSqlDatabasePropertiesResourceDatabase(SqlDatabaseResource, ExtendedResourceProperties): """Cosmos DB SQL database resource object. - 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. - :param id: Required. Name of the Cosmos DB SQL database + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + :param id: Required. Name of the Cosmos DB SQL database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - :ivar _colls: A system generated property that specified the addressable - path of the collections resource. - :vartype _colls: str - :ivar _users: A system generated property that specifies the addressable - path of the users resource. - :vartype _users: str - :ivar _self: A system generated property that specifies the addressable - path of the database resource. - :vartype _self: str + :ivar colls: A system generated property that specified the addressable path of the collections + resource. + :vartype colls: str + :ivar users: A system generated property that specifies the addressable path of the users + resource. + :vartype users: str + :ivar self_property: A system generated property that specifies the addressable path of the + database resource. + :vartype self_property: str """ _validation = { + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, - '_colls': {'readonly': True}, - '_users': {'readonly': True}, - '_self': {'readonly': True}, + 'colls': {'readonly': True}, + 'users': {'readonly': True}, + 'self_property': {'readonly': True}, } _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - '_colls': {'key': '_colls', 'type': 'str'}, - '_users': {'key': '_users', 'type': 'str'}, - '_self': {'key': '_self', 'type': 'str'}, + 'colls': {'key': '_colls', 'type': 'str'}, + 'users': {'key': '_users', 'type': 'str'}, + 'self_property': {'key': '_self', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestorableSqlDatabasePropertiesResourceDatabase, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self._rid = None - self._ts = None - self._etag = None - self._colls = None - self._users = None - self._self = None + self.rid = None + self.ts = None + self.etag = None + self.colls = None + self.users = None + self.self_property = None + self.id = kwargs['id'] + self.colls = None + self.users = None + self.self_property = None + + +class RestorableSqlDatabasesListResult(msrest.serialization.Model): + """The List operation response, that contains the SQL database events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of SQL database events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlDatabaseGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableSqlDatabaseGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableSqlDatabasesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableSqlResourcesListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable SQL resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable SQL resources, including the database and collection names. + :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableSqlResourcesListResult, self).__init__(**kwargs) + self.value = None -class RestoreParameters(Model): +class RestoreParameters(msrest.serialization.Model): """Parameters to indicate the information about the restore. - :param restore_mode: Describes the mode of the restore. Possible values - include: 'PointInTime' + :param restore_mode: Describes the mode of the restore. Possible values include: "PointInTime". :type restore_mode: str or ~azure.mgmt.cosmosdb.models.RestoreMode - :param restore_source: The id of the restorable database account from - which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + :param restore_source: The id of the restorable database account from which the restore has to + be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}. :type restore_source: str - :param restore_timestamp_in_utc: Time to which the account has to be - restored (ISO-8601 format). - :type restore_timestamp_in_utc: datetime - :param databases_to_restore: List of specific databases available for - restore. - :type databases_to_restore: - list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + :param restore_timestamp_in_utc: Time to which the account has to be restored (ISO-8601 + format). + :type restore_timestamp_in_utc: ~datetime.datetime + :param databases_to_restore: List of specific databases available for restore. + :type databases_to_restore: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] """ _attribute_map = { @@ -5077,7 +6295,10 @@ class RestoreParameters(Model): 'databases_to_restore': {'key': 'databasesToRestore', 'type': '[DatabaseRestoreResource]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RestoreParameters, self).__init__(**kwargs) self.restore_mode = kwargs.get('restore_mode', None) self.restore_source = kwargs.get('restore_source', None) @@ -5088,78 +6309,72 @@ def __init__(self, **kwargs): class RestoreReqeustDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateUpdateProperties): """Properties to restore Azure Cosmos DB database account. - 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. - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication - locations enabled for the Cosmos DB account. + :param locations: Required. An array that contains the georeplication locations enabled for the + Cosmos DB account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: Required. The offer type for the - database. Default value: "Standard" . + :ivar database_account_offer_type: Required. The offer type for the database. Default value: + "Standard". :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by + server. Possible values include: "Default", "Restore". Default value: "Default". + :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param restore_parameters: Parameters to indicate the information about - the restore. + :param restore_parameters: Parameters to indicate the information about the restore. :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters """ @@ -5183,25 +6398,31 @@ class RestoreReqeustDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateU 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, + 'create_mode': {'key': 'createMode', 'type': 'str'}, 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, 'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'}, } - def __init__(self, **kwargs): + database_account_offer_type = "Standard" + + def __init__( + self, + **kwargs + ): super(RestoreReqeustDatabaseAccountCreateUpdateProperties, self).__init__(**kwargs) + self.create_mode = 'Restore' # type: str self.restore_parameters = kwargs.get('restore_parameters', None) - self.create_mode = 'Restore' -class SeedNode(Model): +class SeedNode(msrest.serialization.Model): """SeedNode. :param ip_address: IP address of this seed node. @@ -5212,18 +6433,82 @@ class SeedNode(Model): 'ip_address': {'key': 'ipAddress', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SeedNode, self).__init__(**kwargs) self.ip_address = kwargs.get('ip_address', None) -class SpatialSpec(Model): +class ServiceResource(ARMProxyResource): + """Properties for the database account. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :param properties: Services response resource. + :type properties: ~azure.mgmt.cosmosdb.models.ServiceResourceProperties + """ + + _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': 'ServiceResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ServiceResourceListResult(msrest.serialization.Model): + """The List operation response, that contains the Service Resource and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Service Resource and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.ServiceResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceResourceListResult, self).__init__(**kwargs) + self.value = None + + +class SpatialSpec(msrest.serialization.Model): """SpatialSpec. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str - :param types: List of path's spatial type + :param types: List of path's spatial type. :type types: list[str or ~azure.mgmt.cosmosdb.models.SpatialType] """ @@ -5232,7 +6517,10 @@ class SpatialSpec(Model): 'types': {'key': 'types', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SpatialSpec, self).__init__(**kwargs) self.path = kwargs.get('path', None) self.types = kwargs.get('types', None) @@ -5241,8 +6529,7 @@ def __init__(self, **kwargs): class SqlContainerCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB container. - 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. @@ -5252,17 +6539,21 @@ class SqlContainerCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a container + :param resource: Required. The standard JSON format of a container. :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -5284,18 +6575,20 @@ class SqlContainerCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlContainerCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class SqlContainerGetPropertiesOptions(OptionsResource): """SqlContainerGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -5306,54 +6599,51 @@ class SqlContainerGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlContainerGetPropertiesOptions, self).__init__(**kwargs) -class SqlContainerGetPropertiesResource(Model): +class SqlContainerGetPropertiesResource(ExtendedResourceProperties, SqlContainerResource): """SqlContainerGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB SQL container + :param id: Required. Name of the Cosmos DB SQL container. :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the - container + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live + :param default_ttl: Default time to live. :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - container. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :param conflict_resolution_policy: The conflict resolution policy for the container. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: long - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -5364,30 +6654,32 @@ class SqlContainerGetPropertiesResource(Model): 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlContainerGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.indexing_policy = kwargs.get('indexing_policy', None) self.partition_key = kwargs.get('partition_key', None) self.default_ttl = kwargs.get('default_ttl', None) self.unique_key_policy = kwargs.get('unique_key_policy', None) self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlContainerGetResults(ARMResourceProperties): """An Azure Cosmos DB container. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -5395,19 +6687,21 @@ class SqlContainerGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions """ _validation = { @@ -5427,70 +6721,44 @@ class SqlContainerGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'SqlContainerGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlContainerGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class SqlContainerResource(Model): - """Cosmos DB SQL container resource object. +class SqlContainerListResult(msrest.serialization.Model): + """The List operation response, that contains the containers and their properties. - 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. Name of the Cosmos DB SQL container - :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the - container - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - container. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long + :ivar value: List of containers and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, + 'value': {'key': 'value', 'type': '[SqlContainerGetResults]'}, } - def __init__(self, **kwargs): - super(SqlContainerResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.indexing_policy = kwargs.get('indexing_policy', None) - self.partition_key = kwargs.get('partition_key', None) - self.default_ttl = kwargs.get('default_ttl', None) - self.unique_key_policy = kwargs.get('unique_key_policy', None) - self.conflict_resolution_policy = kwargs.get('conflict_resolution_policy', None) - self.analytical_storage_ttl = kwargs.get('analytical_storage_ttl', None) + def __init__( + self, + **kwargs + ): + super(SqlContainerListResult, self).__init__(**kwargs) + self.value = None class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB SQL database. - 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. @@ -5500,17 +6768,21 @@ class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a SQL database + :param resource: Required. The standard JSON format of a SQL database. :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -5532,18 +6804,20 @@ class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlDatabaseCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class SqlDatabaseGetPropertiesOptions(OptionsResource): """SqlDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -5554,67 +6828,72 @@ class SqlDatabaseGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlDatabaseGetPropertiesOptions, self).__init__(**kwargs) -class SqlDatabaseGetPropertiesResource(Model): +class SqlDatabaseGetPropertiesResource(SqlDatabaseResource, ExtendedResourceProperties): """SqlDatabaseGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB SQL database + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + :param id: Required. Name of the Cosmos DB SQL database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - :param _colls: A system generated property that specified the addressable - path of the collections resource. - :type _colls: str - :param _users: A system generated property that specifies the addressable - path of the users resource. - :type _users: str + :param colls: A system generated property that specified the addressable path of the + collections resource. + :type colls: str + :param users: A system generated property that specifies the addressable path of the users + resource. + :type users: str """ _validation = { + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - '_colls': {'key': '_colls', 'type': 'str'}, - '_users': {'key': '_users', 'type': 'str'}, + 'colls': {'key': '_colls', 'type': 'str'}, + 'users': {'key': '_users', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlDatabaseGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self._rid = None - self._ts = None - self._etag = None - self._colls = kwargs.get('_colls', None) - self._users = kwargs.get('_users', None) + self.rid = None + self.ts = None + self.etag = None + self.colls = kwargs.get('colls', None) + self.users = kwargs.get('users', None) + self.id = kwargs['id'] + self.colls = kwargs.get('colls', None) + self.users = kwargs.get('users', None) class SqlDatabaseGetResults(ARMResourceProperties): """An Azure Cosmos DB SQL database. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -5622,16 +6901,19 @@ class SqlDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource :param options: :type options: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesOptions """ @@ -5653,47 +6935,167 @@ class SqlDatabaseGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'SqlDatabaseGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlDatabaseGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class SqlDatabaseResource(Model): - """Cosmos DB SQL database resource object. +class SqlDatabaseListResult(msrest.serialization.Model): + """The List operation response, that contains the SQL databases and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of SQL databases and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SqlDatabaseGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDatabaseListResult, self).__init__(**kwargs) + self.value = None + + +class SqlDedicatedGatewayRegionalServiceResource(RegionalServiceResource): + """Resource for a regional service location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The regional service name. + :vartype name: str + :ivar location: The location name. + :vartype location: str + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + :ivar sql_dedicated_gateway_endpoint: The regional endpoint for SqlDedicatedGateway. + :vartype sql_dedicated_gateway_endpoint: str + """ + + _validation = { + 'name': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + 'sql_dedicated_gateway_endpoint': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDedicatedGatewayRegionalServiceResource, self).__init__(**kwargs) + self.sql_dedicated_gateway_endpoint = None + + +class SqlDedicatedGatewayServiceResource(msrest.serialization.Model): + """Describes the service response property for SqlDedicatedGateway. + + :param properties: Properties for SqlDedicatedGatewayServiceResource. + :type properties: ~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayServiceResourceProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'SqlDedicatedGatewayServiceResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDedicatedGatewayServiceResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class SqlDedicatedGatewayServiceResourceProperties(ServiceResourceProperties): + """Properties for SqlDedicatedGatewayServiceResource. + + Variables are only 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: Required. Name of the Cosmos DB SQL database - :type id: str + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar creation_time: Time of the last state change (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :param instance_count: Instance count for the service. + :type instance_count: int + :param service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer". + :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + :param sql_dedicated_gateway_endpoint: SqlDedicatedGateway endpoint for the service. + :type sql_dedicated_gateway_endpoint: str + :ivar locations: An array that contains all of the locations for the service. + :vartype locations: + list[~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayRegionalServiceResource] """ _validation = { - 'id': {'required': True}, + 'creation_time': {'readonly': True}, + 'instance_count': {'minimum': 0}, + 'service_type': {'required': True}, + 'status': {'readonly': True}, + 'locations': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'instance_size': {'key': 'instanceSize', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + 'service_type': {'key': 'serviceType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[SqlDedicatedGatewayRegionalServiceResource]'}, } - def __init__(self, **kwargs): - super(SqlDatabaseResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + def __init__( + self, + **kwargs + ): + super(SqlDedicatedGatewayServiceResourceProperties, self).__init__(**kwargs) + self.service_type = 'SqlDedicatedGatewayServiceResourceProperties' # type: str + self.sql_dedicated_gateway_endpoint = kwargs.get('sql_dedicated_gateway_endpoint', None) + self.locations = None -class SqlRoleAssignmentCreateUpdateParameters(Model): +class SqlRoleAssignmentCreateUpdateParameters(msrest.serialization.Model): """Parameters to create and update an Azure Cosmos DB SQL Role Assignment. - :param role_definition_id: The unique identifier for the associated Role - Definition. + :param role_definition_id: The unique identifier for the associated Role Definition. :type role_definition_id: str - :param scope: The data plane resource path for which access is being - granted through this Role Assignment. + :param scope: The data plane resource path for which access is being granted through this Role + Assignment. :type scope: str - :param principal_id: The unique identifier for the associated AAD - principal in the AAD graph to which access is being granted through this - Role Assignment. Tenant ID for the principal is inferred using the tenant - associated with the subscription. + :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to + which access is being granted through this Role Assignment. Tenant ID for the principal is + inferred using the tenant associated with the subscription. :type principal_id: str """ @@ -5703,7 +7105,10 @@ class SqlRoleAssignmentCreateUpdateParameters(Model): 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlRoleAssignmentCreateUpdateParameters, self).__init__(**kwargs) self.role_definition_id = kwargs.get('role_definition_id', None) self.scope = kwargs.get('scope', None) @@ -5713,8 +7118,7 @@ def __init__(self, **kwargs): class SqlRoleAssignmentGetResults(ARMProxyResource): """An Azure Cosmos DB Role Assignment. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -5722,16 +7126,14 @@ class SqlRoleAssignmentGetResults(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param role_definition_id: The unique identifier for the associated Role - Definition. + :param role_definition_id: The unique identifier for the associated Role Definition. :type role_definition_id: str - :param scope: The data plane resource path for which access is being - granted through this Role Assignment. + :param scope: The data plane resource path for which access is being granted through this Role + Assignment. :type scope: str - :param principal_id: The unique identifier for the associated AAD - principal in the AAD graph to which access is being granted through this - Role Assignment. Tenant ID for the principal is inferred using the tenant - associated with the subscription. + :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to + which access is being granted through this Role Assignment. Tenant ID for the principal is + inferred using the tenant associated with the subscription. :type principal_id: str """ @@ -5750,43 +7152,71 @@ class SqlRoleAssignmentGetResults(ARMProxyResource): 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlRoleAssignmentGetResults, self).__init__(**kwargs) self.role_definition_id = kwargs.get('role_definition_id', None) self.scope = kwargs.get('scope', None) self.principal_id = kwargs.get('principal_id', None) -class SqlRoleDefinitionCreateUpdateParameters(Model): +class SqlRoleAssignmentListResult(msrest.serialization.Model): + """The relevant Role Assignments. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Role Assignments and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SqlRoleAssignmentGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlRoleAssignmentListResult, self).__init__(**kwargs) + self.value = None + + +class SqlRoleDefinitionCreateUpdateParameters(msrest.serialization.Model): """Parameters to create and update an Azure Cosmos DB SQL Role Definition. - :param role_name: A user-friendly name for the Role Definition. Must be - unique for the database account. + :param role_name: A user-friendly name for the Role Definition. Must be unique for the database + account. :type role_name: str - :param type: Indicates whether the Role Definition was built-in or user - created. Possible values include: 'BuiltInRole', 'CustomRole' + :param type: Indicates whether the Role Definition was built-in or user created. Possible + values include: "BuiltInRole", "CustomRole". :type type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below - which Role Assignments may be created using this Role Definition. This - will allow application of this Role Definition on the entire database - account or any underlying Database / Collection. Must have at least one - element. Scopes higher than Database account are not enforceable as - assignable Scopes. Note that resources referenced in assignable Scopes - need not exist. + :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments + may be created using this Role Definition. This will allow application of this Role Definition + on the entire database account or any underlying Database / Collection. Must have at least one + element. Scopes higher than Database account are not enforceable as assignable Scopes. Note + that resources referenced in assignable Scopes need not exist. :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role - Definition. + :param permissions: The set of operations allowed through this Role Definition. :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] """ _attribute_map = { 'role_name': {'key': 'properties.roleName', 'type': 'str'}, - 'type': {'key': 'properties.type', 'type': 'RoleDefinitionType'}, + 'type': {'key': 'properties.type', 'type': 'str'}, 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlRoleDefinitionCreateUpdateParameters, self).__init__(**kwargs) self.role_name = kwargs.get('role_name', None) self.type = kwargs.get('type', None) @@ -5797,8 +7227,7 @@ def __init__(self, **kwargs): class SqlRoleDefinitionGetResults(ARMProxyResource): """An Azure Cosmos DB SQL Role Definition. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -5806,24 +7235,19 @@ class SqlRoleDefinitionGetResults(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param role_name: A user-friendly name for the Role Definition. Must be - unique for the database account. + :param role_name: A user-friendly name for the Role Definition. Must be unique for the database + account. :type role_name: str - :param sql_role_definition_get_results_type: Indicates whether the Role - Definition was built-in or user created. Possible values include: - 'BuiltInRole', 'CustomRole' - :type sql_role_definition_get_results_type: str or - ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below - which Role Assignments may be created using this Role Definition. This - will allow application of this Role Definition on the entire database - account or any underlying Database / Collection. Must have at least one - element. Scopes higher than Database account are not enforceable as - assignable Scopes. Note that resources referenced in assignable Scopes - need not exist. + :param type_properties_type: Indicates whether the Role Definition was built-in or user + created. Possible values include: "BuiltInRole", "CustomRole". + :type type_properties_type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType + :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments + may be created using this Role Definition. This will allow application of this Role Definition + on the entire database account or any underlying Database / Collection. Must have at least one + element. Scopes higher than Database account are not enforceable as assignable Scopes. Note + that resources referenced in assignable Scopes need not exist. :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role - Definition. + :param permissions: The set of operations allowed through this Role Definition. :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] """ @@ -5838,24 +7262,51 @@ class SqlRoleDefinitionGetResults(ARMProxyResource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'role_name': {'key': 'properties.roleName', 'type': 'str'}, - 'sql_role_definition_get_results_type': {'key': 'properties.type', 'type': 'RoleDefinitionType'}, + 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, } - def __init__(self, **kwargs): - super(SqlRoleDefinitionGetResults, self).__init__(**kwargs) - self.role_name = kwargs.get('role_name', None) - self.sql_role_definition_get_results_type = kwargs.get('sql_role_definition_get_results_type', None) - self.assignable_scopes = kwargs.get('assignable_scopes', None) - self.permissions = kwargs.get('permissions', None) + def __init__( + self, + **kwargs + ): + super(SqlRoleDefinitionGetResults, self).__init__(**kwargs) + self.role_name = kwargs.get('role_name', None) + self.type_properties_type = kwargs.get('type_properties_type', None) + self.assignable_scopes = kwargs.get('assignable_scopes', None) + self.permissions = kwargs.get('permissions', None) + + +class SqlRoleDefinitionListResult(msrest.serialization.Model): + """The relevant Role Definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Role Definitions and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SqlRoleDefinitionGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlRoleDefinitionListResult, self).__init__(**kwargs) + self.value = None class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB storedProcedure. - 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. @@ -5865,17 +7316,21 @@ class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a storedProcedure + :param resource: Required. The standard JSON format of a storedProcedure. :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -5897,63 +7352,95 @@ class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlStoredProcedureCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) -class SqlStoredProcedureGetPropertiesResource(Model): +class SqlStoredProcedureResource(msrest.serialization.Model): + """Cosmos DB SQL storedProcedure resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB SQL storedProcedure. + :type id: str + :param body: Body of the Stored Procedure. + :type body: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'body': {'key': 'body', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlStoredProcedureResource, self).__init__(**kwargs) + self.id = kwargs['id'] + self.body = kwargs.get('body', None) + + +class SqlStoredProcedureGetPropertiesResource(ExtendedResourceProperties, SqlStoredProcedureResource): """SqlStoredProcedureGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB SQL storedProcedure + :param id: Required. Name of the Cosmos DB SQL storedProcedure. :type id: str - :param body: Body of the Stored Procedure + :param body: Body of the Stored Procedure. :type body: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'body': {'key': 'body', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlStoredProcedureGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.body = kwargs.get('body', None) - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlStoredProcedureGetResults(ARMResourceProperties): """An Azure Cosmos DB storedProcedure. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -5961,16 +7448,19 @@ class SqlStoredProcedureGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource """ _validation = { @@ -5989,42 +7479,43 @@ class SqlStoredProcedureGetResults(ARMResourceProperties): 'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureGetPropertiesResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlStoredProcedureGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) -class SqlStoredProcedureResource(Model): - """Cosmos DB SQL storedProcedure resource object. +class SqlStoredProcedureListResult(msrest.serialization.Model): + """The List operation response, that contains the storedProcedures and their properties. - 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. Name of the Cosmos DB SQL storedProcedure - :type id: str - :param body: Body of the Stored Procedure - :type body: str + :ivar value: List of storedProcedures and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SqlStoredProcedureGetResults]'}, } - def __init__(self, **kwargs): - super(SqlStoredProcedureResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.body = kwargs.get('body', None) + def __init__( + self, + **kwargs + ): + super(SqlStoredProcedureListResult, self).__init__(**kwargs) + self.value = None class SqlTriggerCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB trigger. - 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. @@ -6034,17 +7525,21 @@ class SqlTriggerCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a trigger + :param resource: Required. The standard JSON format of a trigger. :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -6066,46 +7561,83 @@ class SqlTriggerCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlTriggerCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) -class SqlTriggerGetPropertiesResource(Model): +class SqlTriggerResource(msrest.serialization.Model): + """Cosmos DB SQL trigger resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB SQL trigger. + :type id: str + :param body: Body of the Trigger. + :type body: str + :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". + :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType + :param trigger_operation: The operation the trigger is associated with. Possible values + include: "All", "Create", "Update", "Delete", "Replace". + :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'body': {'key': 'body', 'type': 'str'}, + 'trigger_type': {'key': 'triggerType', 'type': 'str'}, + 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlTriggerResource, self).__init__(**kwargs) + self.id = kwargs['id'] + self.body = kwargs.get('body', None) + self.trigger_type = kwargs.get('trigger_type', None) + self.trigger_operation = kwargs.get('trigger_operation', None) + + +class SqlTriggerGetPropertiesResource(ExtendedResourceProperties, SqlTriggerResource): """SqlTriggerGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB SQL trigger + :param id: Required. Name of the Cosmos DB SQL trigger. :type id: str - :param body: Body of the Trigger + :param body: Body of the Trigger. :type body: str - :param trigger_type: Type of the Trigger. Possible values include: 'Pre', - 'Post' + :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. - Possible values include: 'All', 'Create', 'Update', 'Delete', 'Replace' - :type trigger_operation: str or - ~azure.mgmt.cosmosdb.models.TriggerOperation - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :param trigger_operation: The operation the trigger is associated with. Possible values + include: "All", "Create", "Update", "Delete", "Replace". + :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -6113,27 +7645,29 @@ class SqlTriggerGetPropertiesResource(Model): 'body': {'key': 'body', 'type': 'str'}, 'trigger_type': {'key': 'triggerType', 'type': 'str'}, 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlTriggerGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.body = kwargs.get('body', None) self.trigger_type = kwargs.get('trigger_type', None) self.trigger_operation = kwargs.get('trigger_operation', None) - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlTriggerGetResults(ARMResourceProperties): """An Azure Cosmos DB trigger. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6141,16 +7675,19 @@ class SqlTriggerGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource """ _validation = { @@ -6169,53 +7706,43 @@ class SqlTriggerGetResults(ARMResourceProperties): 'resource': {'key': 'properties.resource', 'type': 'SqlTriggerGetPropertiesResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlTriggerGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) -class SqlTriggerResource(Model): - """Cosmos DB SQL trigger resource object. +class SqlTriggerListResult(msrest.serialization.Model): + """The List operation response, that contains the triggers and their properties. - 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. Name of the Cosmos DB SQL trigger - :type id: str - :param body: Body of the Trigger - :type body: str - :param trigger_type: Type of the Trigger. Possible values include: 'Pre', - 'Post' - :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. - Possible values include: 'All', 'Create', 'Update', 'Delete', 'Replace' - :type trigger_operation: str or - ~azure.mgmt.cosmosdb.models.TriggerOperation + :ivar value: List of triggers and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - 'trigger_type': {'key': 'triggerType', 'type': 'str'}, - 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SqlTriggerGetResults]'}, } - def __init__(self, **kwargs): - super(SqlTriggerResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.body = kwargs.get('body', None) - self.trigger_type = kwargs.get('trigger_type', None) - self.trigger_operation = kwargs.get('trigger_operation', None) + def __init__( + self, + **kwargs + ): + super(SqlTriggerListResult, self).__init__(**kwargs) + self.value = None class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB userDefinedFunction. - 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. @@ -6225,18 +7752,21 @@ class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a - userDefinedFunction + :param resource: Required. The standard JSON format of a userDefinedFunction. :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -6258,63 +7788,95 @@ class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlUserDefinedFunctionCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) -class SqlUserDefinedFunctionGetPropertiesResource(Model): +class SqlUserDefinedFunctionResource(msrest.serialization.Model): + """Cosmos DB SQL userDefinedFunction resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB SQL userDefinedFunction. + :type id: str + :param body: Body of the User Defined Function. + :type body: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'body': {'key': 'body', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlUserDefinedFunctionResource, self).__init__(**kwargs) + self.id = kwargs['id'] + self.body = kwargs.get('body', None) + + +class SqlUserDefinedFunctionGetPropertiesResource(ExtendedResourceProperties, SqlUserDefinedFunctionResource): """SqlUserDefinedFunctionGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB SQL userDefinedFunction + :param id: Required. Name of the Cosmos DB SQL userDefinedFunction. :type id: str - :param body: Body of the User Defined Function + :param body: Body of the User Defined Function. :type body: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'body': {'key': 'body', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlUserDefinedFunctionGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + self.id = kwargs['id'] self.body = kwargs.get('body', None) - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlUserDefinedFunctionGetResults(ARMResourceProperties): """An Azure Cosmos DB userDefinedFunction. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6322,16 +7884,19 @@ class SqlUserDefinedFunctionGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource """ _validation = { @@ -6350,56 +7915,56 @@ class SqlUserDefinedFunctionGetResults(ARMResourceProperties): 'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionGetPropertiesResource'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SqlUserDefinedFunctionGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) -class SqlUserDefinedFunctionResource(Model): - """Cosmos DB SQL userDefinedFunction resource object. +class SqlUserDefinedFunctionListResult(msrest.serialization.Model): + """The List operation response, that contains the userDefinedFunctions and their properties. - 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. Name of the Cosmos DB SQL userDefinedFunction - :type id: str - :param body: Body of the User Defined Function - :type body: str + :ivar value: List of userDefinedFunctions and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SqlUserDefinedFunctionGetResults]'}, } - def __init__(self, **kwargs): - super(SqlUserDefinedFunctionResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.body = kwargs.get('body', None) + def __init__( + self, + **kwargs + ): + super(SqlUserDefinedFunctionListResult, self).__init__(**kwargs) + self.value = None -class SystemData(Model): +class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. :param created_by: The identity that created the resource. :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". :type created_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime + :type created_at: ~datetime.datetime :param last_modified_by: The identity that last modified the resource. :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or - ~azure.mgmt.cosmosdb.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC) - :type last_modified_at: datetime + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -6411,7 +7976,10 @@ class SystemData(Model): 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SystemData, self).__init__(**kwargs) self.created_by = kwargs.get('created_by', None) self.created_by_type = kwargs.get('created_by_type', None) @@ -6424,8 +7992,7 @@ def __init__(self, **kwargs): class TableCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Table. - 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. @@ -6435,17 +8002,21 @@ class TableCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Table + :param resource: Required. The standard JSON format of a Table. :type resource: ~azure.mgmt.cosmosdb.models.TableResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -6467,18 +8038,20 @@ class TableCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TableCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) + self.resource = kwargs['resource'] self.options = kwargs.get('options', None) class TableGetPropertiesOptions(OptionsResource): """TableGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -6489,57 +8062,85 @@ class TableGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TableGetPropertiesOptions, self).__init__(**kwargs) -class TableGetPropertiesResource(Model): +class TableResource(msrest.serialization.Model): + """Cosmos DB table resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB table. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TableResource, self).__init__(**kwargs) + self.id = kwargs['id'] + + +class TableGetPropertiesResource(ExtendedResourceProperties, TableResource): """TableGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB table + :param id: Required. Name of the Cosmos DB table. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TableGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self._rid = None - self._ts = None - self._etag = None + self.id = kwargs['id'] + self.rid = None + self.ts = None + self.etag = None class TableGetResults(ARMResourceProperties): """An Azure Cosmos DB Table. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6547,12 +8148,16 @@ class TableGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.TableGetPropertiesResource @@ -6577,42 +8182,47 @@ class TableGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'TableGetPropertiesOptions'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TableGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) self.options = kwargs.get('options', None) -class TableResource(Model): - """Cosmos DB table resource object. +class TableListResult(msrest.serialization.Model): + """The List operation response, that contains the Table and their properties. - 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. Name of the Cosmos DB table - :type id: str + :ivar value: List of Table and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.TableGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[TableGetResults]'}, } - def __init__(self, **kwargs): - super(TableResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) + def __init__( + self, + **kwargs + ): + super(TableListResult, self).__init__(**kwargs) + self.value = None -class ThroughputPolicyResource(Model): +class ThroughputPolicyResource(msrest.serialization.Model): """Cosmos DB resource throughput policy. - :param is_enabled: Determines whether the ThroughputPolicy is active or - not + :param is_enabled: Determines whether the ThroughputPolicy is active or not. :type is_enabled: bool - :param increment_percent: Represents the percentage by which throughput - can increase every time throughput policy kicks in. + :param increment_percent: Represents the percentage by which throughput can increase every time + throughput policy kicks in. :type increment_percent: int """ @@ -6621,46 +8231,35 @@ class ThroughputPolicyResource(Model): 'increment_percent': {'key': 'incrementPercent', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ThroughputPolicyResource, self).__init__(**kwargs) self.is_enabled = kwargs.get('is_enabled', None) self.increment_percent = kwargs.get('increment_percent', None) -class ThroughputSettingsGetPropertiesResource(Model): - """ThroughputSettingsGetPropertiesResource. +class ThroughputSettingsResource(msrest.serialization.Model): + """Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. - 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 throughput: Value of the Cosmos DB resource throughput. Either - throughput is required or autoscaleSettings is required, but not both. + :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or + autoscaleSettings is required, but not both. :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. - Either throughput is required or autoscaleSettings is required, but not - both. - :type autoscale_settings: - ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource - :ivar minimum_throughput: The minimum throughput of the resource + :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + required or autoscaleSettings is required, but not both. + :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + :ivar minimum_throughput: The minimum throughput of the resource. :vartype minimum_throughput: str - :ivar offer_replace_pending: The throughput replace is pending + :ivar offer_replace_pending: The throughput replace is pending. :vartype offer_replace_pending: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'minimum_throughput': {'readonly': True}, 'offer_replace_pending': {'readonly': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { @@ -6668,91 +8267,49 @@ class ThroughputSettingsGetPropertiesResource(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'}, 'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'}, 'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ThroughputSettingsGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(ThroughputSettingsResource, self).__init__(**kwargs) self.throughput = kwargs.get('throughput', None) self.autoscale_settings = kwargs.get('autoscale_settings', None) self.minimum_throughput = None self.offer_replace_pending = None - self._rid = None - self._ts = None - self._etag = None - - -class ThroughputSettingsGetResults(ARMResourceProperties): - """An Azure Cosmos DB resource throughput. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource - belongs. - :type location: str - :param tags: - :type tags: dict[str, str] - :param identity: - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource - """ - - _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}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsGetPropertiesResource'}, - } - - def __init__(self, **kwargs): - super(ThroughputSettingsGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) -class ThroughputSettingsResource(Model): - """Cosmos DB resource throughput object. Either throughput is required or - autoscaleSettings is required, but not both. +class ThroughputSettingsGetPropertiesResource(ExtendedResourceProperties, ThroughputSettingsResource): + """ThroughputSettingsGetPropertiesResource. - 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 throughput: Value of the Cosmos DB resource throughput. Either - throughput is required or autoscaleSettings is required, but not both. + :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or + autoscaleSettings is required, but not both. :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. - Either throughput is required or autoscaleSettings is required, but not - both. - :type autoscale_settings: - ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource - :ivar minimum_throughput: The minimum throughput of the resource + :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + required or autoscaleSettings is required, but not both. + :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + :ivar minimum_throughput: The minimum throughput of the resource. :vartype minimum_throughput: str - :ivar offer_replace_pending: The throughput replace is pending + :ivar offer_replace_pending: The throughput replace is pending. :vartype offer_replace_pending: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'minimum_throughput': {'readonly': True}, 'offer_replace_pending': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -6760,23 +8317,29 @@ class ThroughputSettingsResource(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'}, 'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'}, 'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ThroughputSettingsResource, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(ThroughputSettingsGetPropertiesResource, self).__init__(**kwargs) self.throughput = kwargs.get('throughput', None) self.autoscale_settings = kwargs.get('autoscale_settings', None) self.minimum_throughput = None self.offer_replace_pending = None + self.rid = None + self.ts = None + self.etag = None -class ThroughputSettingsUpdateParameters(ARMResourceProperties): - """Parameters to update Cosmos DB resource throughput. - - Variables are only populated by the server, and will be ignored when - sending a request. +class ThroughputSettingsGetResults(ARMResourceProperties): + """An Azure Cosmos DB resource throughput. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6784,23 +8347,25 @@ class ThroughputSettingsUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a resource - throughput - :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource + :param resource: + :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'resource': {'required': True}, } _attribute_map = { @@ -6810,66 +8375,74 @@ class ThroughputSettingsUpdateParameters(ARMResourceProperties): 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsResource'}, + 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsGetPropertiesResource'}, } - def __init__(self, **kwargs): - super(ThroughputSettingsUpdateParameters, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(ThroughputSettingsGetResults, self).__init__(**kwargs) self.resource = kwargs.get('resource', None) -class TrackedResource(Resource): - """Tracked Resource. - - The resource model definition for an Azure Resource Manager tracked top - level resource which has 'tags' and a 'location'. +class ThroughputSettingsUpdateParameters(ARMResourceProperties): + """Parameters to update Cosmos DB resource throughput. - 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. - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :ivar id: The unique resource identifier of the ARM resource. :vartype id: str - :ivar name: The name of the resource + :ivar name: The name of the ARM resource. :vartype name: str - :ivar type: The type of the resource. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :ivar type: The type of Azure resource. :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives + :param location: The location of the resource group to which the resource belongs. :type location: str + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :type tags: dict[str, str] + :param identity: Identity for the resource. + :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :param resource: Required. The standard JSON format of a resource throughput. + :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'resource': {'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'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsResource'}, } - def __init__(self, **kwargs): - super(TrackedResource, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - self.location = kwargs.get('location', None) + def __init__( + self, + **kwargs + ): + super(ThroughputSettingsUpdateParameters, self).__init__(**kwargs) + self.resource = kwargs['resource'] -class UniqueKey(Model): - """The unique key on that enforces uniqueness constraint on documents in the - collection in the Azure Cosmos DB service. +class UniqueKey(msrest.serialization.Model): + """The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - :param paths: List of paths must be unique for each document in the Azure - Cosmos DB service + :param paths: List of paths must be unique for each document in the Azure Cosmos DB service. :type paths: list[str] """ @@ -6877,17 +8450,19 @@ class UniqueKey(Model): 'paths': {'key': 'paths', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(UniqueKey, self).__init__(**kwargs) self.paths = kwargs.get('paths', None) -class UniqueKeyPolicy(Model): - """The unique key policy configuration for specifying uniqueness constraints - on documents in the collection in the Azure Cosmos DB service. +class UniqueKeyPolicy(msrest.serialization.Model): + """The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :param unique_keys: List of unique keys on that enforces uniqueness - constraint on documents in the collection in the Azure Cosmos DB service. + :param unique_keys: List of unique keys on that enforces uniqueness constraint on documents in + the collection in the Azure Cosmos DB service. :type unique_keys: list[~azure.mgmt.cosmosdb.models.UniqueKey] """ @@ -6895,28 +8470,59 @@ class UniqueKeyPolicy(Model): 'unique_keys': {'key': 'uniqueKeys', 'type': '[UniqueKey]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(UniqueKeyPolicy, self).__init__(**kwargs) self.unique_keys = kwargs.get('unique_keys', None) -class VirtualNetworkRule(Model): +class UsagesResult(msrest.serialization.Model): + """The response to a list usage request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of usages for the database. A usage is a point in time metric. + :vartype value: list[~azure.mgmt.cosmosdb.models.Usage] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Usage]'}, + } + + def __init__( + self, + **kwargs + ): + super(UsagesResult, self).__init__(**kwargs) + self.value = None + + +class VirtualNetworkRule(msrest.serialization.Model): """Virtual Network ACL Rule object. :param id: Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. :type id: str - :param ignore_missing_vnet_service_endpoint: Create firewall rule before - the virtual network has vnet service endpoint enabled. - :type ignore_missing_vnet_service_endpoint: bool + :param ignore_missing_v_net_service_endpoint: Create firewall rule before the virtual network + has vnet service endpoint enabled. + :type ignore_missing_v_net_service_endpoint: bool """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - 'ignore_missing_vnet_service_endpoint': {'key': 'ignoreMissingVNetServiceEndpoint', 'type': 'bool'}, + 'ignore_missing_v_net_service_endpoint': {'key': 'ignoreMissingVNetServiceEndpoint', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(VirtualNetworkRule, self).__init__(**kwargs) self.id = kwargs.get('id', None) - self.ignore_missing_vnet_service_endpoint = kwargs.get('ignore_missing_vnet_service_endpoint', None) + self.ignore_missing_v_net_service_endpoint = kwargs.get('ignore_missing_v_net_service_endpoint', None) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py index a6ae9d79096..21995cb3467 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py @@ -1,23 +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 +import datetime +from typing import Dict, List, Optional, Union +from azure.core.exceptions import HttpResponseError +import msrest.serialization -class ApiProperties(Model): +from ._cosmos_db_management_client_enums import * + + +class ApiProperties(msrest.serialization.Model): """ApiProperties. - :param server_version: Describes the ServerVersion of an a MongoDB - account. Possible values include: '3.2', '3.6', '4.0' + :param server_version: Describes the ServerVersion of an a MongoDB account. Possible values + include: "3.2", "3.6", "4.0". :type server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion """ @@ -25,17 +27,20 @@ class ApiProperties(Model): 'server_version': {'key': 'serverVersion', 'type': 'str'}, } - def __init__(self, *, server_version=None, **kwargs) -> None: + def __init__( + self, + *, + server_version: Optional[Union[str, "ServerVersion"]] = None, + **kwargs + ): super(ApiProperties, self).__init__(**kwargs) self.server_version = server_version -class ARMProxyResource(Model): - """The resource model definition for a ARM proxy resource. It will have - everything other than required location and tags. +class ARMProxyResource(msrest.serialization.Model): + """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. + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The unique resource identifier of the database account. :vartype id: str @@ -57,18 +62,20 @@ class ARMProxyResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ARMProxyResource, self).__init__(**kwargs) self.id = None self.name = None self.type = None -class ARMResourceProperties(Model): +class ARMResourceProperties(msrest.serialization.Model): """The core properties of ARM resources. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -76,12 +83,16 @@ class ARMResourceProperties(Model): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity """ @@ -100,7 +111,14 @@ class ARMResourceProperties(Model): 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + **kwargs + ): super(ARMResourceProperties, self).__init__(**kwargs) self.id = None self.name = None @@ -110,11 +128,10 @@ def __init__(self, *, location: str=None, tags=None, identity=None, **kwargs) -> self.identity = identity -class AutoscaleSettings(Model): +class AutoscaleSettings(msrest.serialization.Model): """AutoscaleSettings. - :param max_throughput: Represents maximum throughput, the resource can - scale up to. + :param max_throughput: Represents maximum throughput, the resource can scale up to. :type max_throughput: int """ @@ -122,27 +139,29 @@ class AutoscaleSettings(Model): 'max_throughput': {'key': 'maxThroughput', 'type': 'int'}, } - def __init__(self, *, max_throughput: int=None, **kwargs) -> None: + def __init__( + self, + *, + max_throughput: Optional[int] = None, + **kwargs + ): super(AutoscaleSettings, self).__init__(**kwargs) self.max_throughput = max_throughput -class AutoscaleSettingsResource(Model): +class AutoscaleSettingsResource(msrest.serialization.Model): """Cosmos DB provisioned throughput settings object. - 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. - :param max_throughput: Required. Represents maximum throughput container - can scale up to. + :param max_throughput: Required. Represents maximum throughput container can scale up to. :type max_throughput: int - :param auto_upgrade_policy: Cosmos DB resource auto-upgrade policy - :type auto_upgrade_policy: - ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource - :ivar target_max_throughput: Represents target maximum throughput - container can scale up to once offer is no longer in pending state. + :param auto_upgrade_policy: Cosmos DB resource auto-upgrade policy. + :type auto_upgrade_policy: ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource + :ivar target_max_throughput: Represents target maximum throughput container can scale up to + once offer is no longer in pending state. :vartype target_max_throughput: int """ @@ -157,119 +176,77 @@ class AutoscaleSettingsResource(Model): 'target_max_throughput': {'key': 'targetMaxThroughput', 'type': 'int'}, } - def __init__(self, *, max_throughput: int, auto_upgrade_policy=None, **kwargs) -> None: + def __init__( + self, + *, + max_throughput: int, + auto_upgrade_policy: Optional["AutoUpgradePolicyResource"] = None, + **kwargs + ): super(AutoscaleSettingsResource, self).__init__(**kwargs) self.max_throughput = max_throughput self.auto_upgrade_policy = auto_upgrade_policy self.target_max_throughput = None -class AutoUpgradePolicyResource(Model): +class AutoUpgradePolicyResource(msrest.serialization.Model): """Cosmos DB resource auto-upgrade policy. - :param throughput_policy: Represents throughput policy which service must - adhere to for auto-upgrade - :type throughput_policy: - ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource + :param throughput_policy: Represents throughput policy which service must adhere to for + auto-upgrade. + :type throughput_policy: ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource """ _attribute_map = { 'throughput_policy': {'key': 'throughputPolicy', 'type': 'ThroughputPolicyResource'}, } - def __init__(self, *, throughput_policy=None, **kwargs) -> None: + def __init__( + self, + *, + throughput_policy: Optional["ThroughputPolicyResource"] = None, + **kwargs + ): super(AutoUpgradePolicyResource, self).__init__(**kwargs) self.throughput_policy = throughput_policy -class Resource(Model): - """Resource. - - Common fields that are returned in the response for all Azure Resource - Manager 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. E.g. - "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 BackupInformation(msrest.serialization.Model): + """Backup information of a resource. -class AzureEntityResource(Resource): - """Entity Resource. + Variables are only populated by the server, and will be ignored when sending a request. - The resource model definition for an 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. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - :vartype type: str - :ivar etag: Resource Etag. - :vartype etag: str + :ivar continuous_backup_information: Continuous backup description. + :vartype continuous_backup_information: ~azure.mgmt.cosmosdb.models.ContinuousBackupInformation """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, + 'continuous_backup_information': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, + 'continuous_backup_information': {'key': 'continuousBackupInformation', 'type': 'ContinuousBackupInformation'}, } - def __init__(self, **kwargs) -> None: - super(AzureEntityResource, self).__init__(**kwargs) - self.etag = None + def __init__( + self, + **kwargs + ): + super(BackupInformation, self).__init__(**kwargs) + self.continuous_backup_information = None -class BackupPolicy(Model): +class BackupPolicy(msrest.serialization.Model): """The object representing the policy for taking backups on an account. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: PeriodicModeBackupPolicy, ContinuousModeBackupPolicy + sub-classes are: ContinuousModeBackupPolicy, PeriodicModeBackupPolicy. All required parameters must be populated in order to send to Azure. - :param type: Required. Constant filled by server. - :type type: str + :param type: Required. Describes the mode of backups.Constant filled by server. Possible + values include: "Periodic", "Continuous". + :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType """ _validation = { @@ -281,19 +258,21 @@ class BackupPolicy(Model): } _subtype_map = { - 'type': {'Periodic': 'PeriodicModeBackupPolicy', 'Continuous': 'ContinuousModeBackupPolicy'} + 'type': {'Continuous': 'ContinuousModeBackupPolicy', 'Periodic': 'PeriodicModeBackupPolicy'} } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(BackupPolicy, self).__init__(**kwargs) - self.type = None + self.type = None # type: Optional[str] class BackupResource(ARMProxyResource): """A restorable backup of a Cassandra cluster. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -318,34 +297,42 @@ class BackupResource(ARMProxyResource): 'properties': {'key': 'properties', 'type': 'BackupResourceProperties'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional["BackupResourceProperties"] = None, + **kwargs + ): super(BackupResource, self).__init__(**kwargs) self.properties = properties -class BackupResourceProperties(Model): +class BackupResourceProperties(msrest.serialization.Model): """BackupResourceProperties. - :param timestamp: The time this backup was taken, formatted like - 2021-01-21T17:35:21 - :type timestamp: datetime + :param timestamp: The time this backup was taken, formatted like 2021-01-21T17:35:21. + :type timestamp: ~datetime.datetime """ _attribute_map = { 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, } - def __init__(self, *, timestamp=None, **kwargs) -> None: + def __init__( + self, + *, + timestamp: Optional[datetime.datetime] = None, + **kwargs + ): super(BackupResourceProperties, self).__init__(**kwargs) self.timestamp = timestamp -class Capability(Model): +class Capability(msrest.serialization.Model): """Cosmos DB capability object. - :param name: Name of the Cosmos DB capability. For example, "name": - "EnableCassandra". Current values also include "EnableTable" and - "EnableGremlin". + :param name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current + values also include "EnableTable" and "EnableGremlin". :type name: str """ @@ -353,7 +340,12 @@ class Capability(Model): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, *, name: str=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): super(Capability, self).__init__(**kwargs) self.name = name @@ -361,8 +353,7 @@ def __init__(self, *, name: str=None, **kwargs) -> None: class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Cassandra keyspace. - 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. @@ -372,18 +363,21 @@ class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra - keyspace + :param resource: Required. The standard JSON format of a Cassandra keyspace. :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -405,18 +399,26 @@ class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "CassandraKeyspaceResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(CassandraKeyspaceCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class OptionsResource(Model): +class OptionsResource(msrest.serialization.Model): """Cosmos DB options resource object. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -427,7 +429,13 @@ class OptionsResource(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(OptionsResource, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings @@ -436,9 +444,8 @@ def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) - class CassandraKeyspaceGetPropertiesOptions(OptionsResource): """CassandraKeyspaceGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -449,57 +456,128 @@ class CassandraKeyspaceGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(CassandraKeyspaceGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class CassandraKeyspaceGetPropertiesResource(Model): - """CassandraKeyspaceGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class CassandraKeyspaceResource(msrest.serialization.Model): + """Cosmos DB Cassandra keyspace resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra keyspace + :param id: Required. Name of the Cosmos DB Cassandra keyspace. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(CassandraKeyspaceGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + **kwargs + ): + super(CassandraKeyspaceResource, self).__init__(**kwargs) + self.id = id + + +class ExtendedResourceProperties(msrest.serialization.Model): + """The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtendedResourceProperties, self).__init__(**kwargs) + self.rid = None + self.ts = None + self.etag = None + + +class CassandraKeyspaceGetPropertiesResource(ExtendedResourceProperties, CassandraKeyspaceResource): + """CassandraKeyspaceGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB Cassandra keyspace. + :type id: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + **kwargs + ): + super(CassandraKeyspaceGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class CassandraKeyspaceGetResults(ARMResourceProperties): """An Azure Cosmos DB Cassandra keyspace. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -507,19 +585,21 @@ class CassandraKeyspaceGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions """ _validation = { @@ -539,38 +619,50 @@ class CassandraKeyspaceGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CassandraKeyspaceGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["CassandraKeyspaceGetPropertiesResource"] = None, + options: Optional["CassandraKeyspaceGetPropertiesOptions"] = None, + **kwargs + ): super(CassandraKeyspaceGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class CassandraKeyspaceResource(Model): - """Cosmos DB Cassandra keyspace resource object. +class CassandraKeyspaceListResult(msrest.serialization.Model): + """The List operation response, that contains the Cassandra keyspaces and their properties. - 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. Name of the Cosmos DB Cassandra keyspace - :type id: str + :ivar value: List of Cassandra keyspaces and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[CassandraKeyspaceGetResults]'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(CassandraKeyspaceResource, self).__init__(**kwargs) - self.id = id + def __init__( + self, + **kwargs + ): + super(CassandraKeyspaceListResult, self).__init__(**kwargs) + self.value = None -class CassandraPartitionKey(Model): +class CassandraPartitionKey(msrest.serialization.Model): """Cosmos DB Cassandra table partition key. - :param name: Name of the Cosmos DB Cassandra table partition key + :param name: Name of the Cosmos DB Cassandra table partition key. :type name: str """ @@ -578,19 +670,23 @@ class CassandraPartitionKey(Model): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, *, name: str=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): super(CassandraPartitionKey, self).__init__(**kwargs) self.name = name -class CassandraSchema(Model): +class CassandraSchema(msrest.serialization.Model): """Cosmos DB Cassandra table schema. :param columns: List of Cassandra table columns. :type columns: list[~azure.mgmt.cosmosdb.models.Column] :param partition_keys: List of partition key. - :type partition_keys: - list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] + :type partition_keys: list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] :param cluster_keys: List of cluster key. :type cluster_keys: list[~azure.mgmt.cosmosdb.models.ClusterKey] """ @@ -601,7 +697,14 @@ class CassandraSchema(Model): 'cluster_keys': {'key': 'clusterKeys', 'type': '[ClusterKey]'}, } - def __init__(self, *, columns=None, partition_keys=None, cluster_keys=None, **kwargs) -> None: + def __init__( + self, + *, + columns: Optional[List["Column"]] = None, + partition_keys: Optional[List["CassandraPartitionKey"]] = None, + cluster_keys: Optional[List["ClusterKey"]] = None, + **kwargs + ): super(CassandraSchema, self).__init__(**kwargs) self.columns = columns self.partition_keys = partition_keys @@ -611,8 +714,7 @@ def __init__(self, *, columns=None, partition_keys=None, cluster_keys=None, **kw class CassandraTableCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Cassandra table. - 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. @@ -622,17 +724,21 @@ class CassandraTableCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra table + :param resource: Required. The standard JSON format of a Cassandra table. :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -654,7 +760,16 @@ class CassandraTableCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "CassandraTableResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(CassandraTableCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -663,9 +778,8 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class CassandraTableGetPropertiesOptions(OptionsResource): """CassandraTableGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -676,41 +790,33 @@ class CassandraTableGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(CassandraTableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class CassandraTableGetPropertiesResource(Model): - """CassandraTableGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class CassandraTableResource(msrest.serialization.Model): + """Cosmos DB Cassandra table resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra table + :param id: Required. Name of the Cosmos DB Cassandra table. :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table + :param default_ttl: Time to live of the Cosmos DB Cassandra table. :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table + :param schema: Schema of the Cosmos DB Cassandra table. :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: int - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { @@ -718,27 +824,88 @@ class CassandraTableGetPropertiesResource(Model): 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, default_ttl: int=None, schema=None, analytical_storage_ttl: int=None, **kwargs) -> None: - super(CassandraTableGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + default_ttl: Optional[int] = None, + schema: Optional["CassandraSchema"] = None, + analytical_storage_ttl: Optional[int] = None, + **kwargs + ): + super(CassandraTableResource, self).__init__(**kwargs) + self.id = id + self.default_ttl = default_ttl + self.schema = schema + self.analytical_storage_ttl = analytical_storage_ttl + + +class CassandraTableGetPropertiesResource(ExtendedResourceProperties, CassandraTableResource): + """CassandraTableGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB Cassandra table. + :type id: str + :param default_ttl: Time to live of the Cosmos DB Cassandra table. + :type default_ttl: int + :param schema: Schema of the Cosmos DB Cassandra table. + :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema + :param analytical_storage_ttl: Analytical TTL. + :type analytical_storage_ttl: int + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, + 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, + 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + default_ttl: Optional[int] = None, + schema: Optional["CassandraSchema"] = None, + analytical_storage_ttl: Optional[int] = None, + **kwargs + ): + super(CassandraTableGetPropertiesResource, self).__init__(id=id, default_ttl=default_ttl, schema=schema, analytical_storage_ttl=analytical_storage_ttl, **kwargs) self.id = id self.default_ttl = default_ttl self.schema = schema self.analytical_storage_ttl = analytical_storage_ttl - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class CassandraTableGetResults(ARMResourceProperties): """An Azure Cosmos DB Cassandra table. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -746,19 +913,21 @@ class CassandraTableGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions """ _validation = { @@ -778,47 +947,47 @@ class CassandraTableGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CassandraTableGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["CassandraTableGetPropertiesResource"] = None, + options: Optional["CassandraTableGetPropertiesOptions"] = None, + **kwargs + ): super(CassandraTableGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class CassandraTableResource(Model): - """Cosmos DB Cassandra table resource object. +class CassandraTableListResult(msrest.serialization.Model): + """The List operation response, that contains the Cassandra tables and their properties. - 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. Name of the Cosmos DB Cassandra table - :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table - :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table - :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar value: List of Cassandra tables and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'schema': {'key': 'schema', 'type': 'CassandraSchema'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + 'value': {'key': 'value', 'type': '[CassandraTableGetResults]'}, } - def __init__(self, *, id: str, default_ttl: int=None, schema=None, analytical_storage_ttl: int=None, **kwargs) -> None: - super(CassandraTableResource, self).__init__(**kwargs) - self.id = id - self.default_ttl = default_ttl - self.schema = schema - self.analytical_storage_ttl = analytical_storage_ttl + def __init__( + self, + **kwargs + ): + super(CassandraTableListResult, self).__init__(**kwargs) + self.value = None -class Certificate(Model): +class Certificate(msrest.serialization.Model): """Certificate. :param pem: PEM formatted public key. @@ -829,46 +998,23 @@ class Certificate(Model): 'pem': {'key': 'pem', 'type': 'str'}, } - def __init__(self, *, pem: str=None, **kwargs) -> None: + def __init__( + self, + *, + pem: Optional[str] = None, + **kwargs + ): super(Certificate, self).__init__(**kwargs) self.pem = pem -class CloudError(Model): - """An error response from the service. - - :param error: - :type error: ~azure.mgmt.cosmosdb.models.ErrorResponse - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorResponse'}, - } - - 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 ClusterKey(Model): +class ClusterKey(msrest.serialization.Model): """Cosmos DB Cassandra table cluster key. - :param name: Name of the Cosmos DB Cassandra table cluster key + :param name: Name of the Cosmos DB Cassandra table cluster key. :type name: str - :param order_by: Order of the Cosmos DB Cassandra table cluster key, only - support "Asc" and "Desc" + :param order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and + "Desc". :type order_by: str """ @@ -877,17 +1023,23 @@ class ClusterKey(Model): 'order_by': {'key': 'orderBy', 'type': 'str'}, } - def __init__(self, *, name: str=None, order_by: str=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + order_by: Optional[str] = None, + **kwargs + ): super(ClusterKey, self).__init__(**kwargs) self.name = name self.order_by = order_by -class ClusterNodeStatus(Model): +class ClusterNodeStatus(msrest.serialization.Model): """The status of all nodes in the cluster (as returned by 'nodetool status'). - :param nodes: Information about nodes in the cluster (corresponds to what - is returned from nodetool info). + :param nodes: Information about nodes in the cluster (corresponds to what is returned from + nodetool info). :type nodes: list[~azure.mgmt.cosmosdb.models.ClusterNodeStatusNodesItem] """ @@ -895,35 +1047,38 @@ class ClusterNodeStatus(Model): 'nodes': {'key': 'nodes', 'type': '[ClusterNodeStatusNodesItem]'}, } - def __init__(self, *, nodes=None, **kwargs) -> None: + def __init__( + self, + *, + nodes: Optional[List["ClusterNodeStatusNodesItem"]] = None, + **kwargs + ): super(ClusterNodeStatus, self).__init__(**kwargs) self.nodes = nodes -class ClusterNodeStatusNodesItem(Model): +class ClusterNodeStatusNodesItem(msrest.serialization.Model): """ClusterNodeStatusNodesItem. :param datacenter: The Cassandra data center this node resides in. :type datacenter: str - :param status: Indicates whether the node is functioning or not. Possible - values include: 'Up', 'Down' + :param status: Indicates whether the node is functioning or not. Possible values include: "Up", + "Down". :type status: str or ~azure.mgmt.cosmosdb.models.NodeStatus - :param state: The state of the node in relation to the cluster. Possible - values include: 'Normal', 'Leaving', 'Joining', 'Moving', 'Stopped' + :param state: The state of the node in relation to the cluster. Possible values include: + "Normal", "Leaving", "Joining", "Moving", "Stopped". :type state: str or ~azure.mgmt.cosmosdb.models.NodeState :param address: The node's URL. :type address: str - :param load: The amount of file system data in the data directory (e.g., - 47.66 KB), excluding all content in the snapshots subdirectories. Because - all SSTable data files are included, any data that is not cleaned up (such - as TTL-expired cell or tombstoned data) is counted. + :param load: The amount of file system data in the data directory (e.g., 47.66 KB), excluding + all content in the snapshots subdirectories. Because all SSTable data files are included, any + data that is not cleaned up (such as TTL-expired cell or tombstoned data) is counted. :type load: str :param tokens: List of tokens. :type tokens: list[str] - :param owns: The percentage of the data owned by the node per datacenter - times the replication factor (e.g., 33.3, or null if the data is not - available). For example, a node can own 33% of the ring, but shows 100% if - the replication factor is 3. For non-system keyspaces, the endpoint + :param owns: The percentage of the data owned by the node per datacenter times the replication + factor (e.g., 33.3, or null if the data is not available). For example, a node can own 33% of + the ring, but shows 100% if the replication factor is 3. For non-system keyspaces, the endpoint percentage ownership information is shown. :type owns: float :param host_id: The network ID of the node. @@ -944,7 +1099,20 @@ class ClusterNodeStatusNodesItem(Model): 'rack': {'key': 'rack', 'type': 'str'}, } - def __init__(self, *, datacenter: str=None, status=None, state=None, address: str=None, load: str=None, tokens=None, owns: float=None, host_id: str=None, rack: str=None, **kwargs) -> None: + def __init__( + self, + *, + datacenter: Optional[str] = None, + status: Optional[Union[str, "NodeStatus"]] = None, + state: Optional[Union[str, "NodeState"]] = None, + address: Optional[str] = None, + load: Optional[str] = None, + tokens: Optional[List[str]] = None, + owns: Optional[float] = None, + host_id: Optional[str] = None, + rack: Optional[str] = None, + **kwargs + ): super(ClusterNodeStatusNodesItem, self).__init__(**kwargs) self.datacenter = datacenter self.status = status @@ -960,8 +1128,7 @@ def __init__(self, *, datacenter: str=None, status=None, state=None, address: st class ClusterResource(ARMResourceProperties): """Representation of a managed Cassandra cluster. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -969,12 +1136,16 @@ class ClusterResource(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param properties: Properties of a managed Cassandra cluster. :type properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties @@ -996,89 +1167,81 @@ class ClusterResource(ARMResourceProperties): 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, properties=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + properties: Optional["ClusterResourceProperties"] = None, + **kwargs + ): super(ClusterResource, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.properties = properties -class ClusterResourceProperties(Model): +class ClusterResourceProperties(msrest.serialization.Model): """Properties of a managed Cassandra cluster. - 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 provisioning_state: Possible values include: 'Creating', - 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - :type provisioning_state: str or - ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param restore_from_backup_id: To create an empty cluster, omit this field - or set it to null. To restore a backup into a new cluster, set this field - to the resource id of the backup. + :param provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :param restore_from_backup_id: To create an empty cluster, omit this field or set it to null. + To restore a backup into a new cluster, set this field to the resource id of the backup. :type restore_from_backup_id: str - :param delegated_management_subnet_id: Resource id of a subnet that this - cluster's management service should have its network interface attached - to. The subnet must be routable to all subnets that will be delegated to - data centers. The resource id must be of the form - '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/' + :param delegated_management_subnet_id: Resource id of a subnet that this cluster's management + service should have its network interface attached to. The subnet must be routable to all + subnets that will be delegated to data centers. The resource id must be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. :type delegated_management_subnet_id: str - :param cassandra_version: Which version of Cassandra should this cluster - converge to running (e.g., 3.11). When updated, the cluster may take some - time to migrate to the new version. + :param cassandra_version: Which version of Cassandra should this cluster converge to running + (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. :type cassandra_version: str - :param cluster_name_override: If you need to set the clusterName property - in cassandra.yaml to something besides the resource name of the cluster, - set the value to use on this property. + :param cluster_name_override: If you need to set the clusterName property in cassandra.yaml to + something besides the resource name of the cluster, set the value to use on this property. :type cluster_name_override: str - :param authentication_method: Which authentication method Cassandra should - use to authenticate clients. 'None' turns off authentication, so should - not be used except in emergencies. 'Cassandra' is the default password - based authentication. The default is 'Cassandra'. Possible values include: - 'None', 'Cassandra' - :type authentication_method: str or - ~azure.mgmt.cosmosdb.models.AuthenticationMethod - :param initial_cassandra_admin_password: Initial password for clients - connecting as admin to the cluster. Should be changed after cluster - creation. Returns null on GET. This field only applies when the - authenticationMethod field is 'Cassandra'. + :param authentication_method: Which authentication method Cassandra should use to authenticate + clients. 'None' turns off authentication, so should not be used except in emergencies. + 'Cassandra' is the default password based authentication. The default is 'Cassandra'. Possible + values include: "None", "Cassandra". + :type authentication_method: str or ~azure.mgmt.cosmosdb.models.AuthenticationMethod + :param initial_cassandra_admin_password: Initial password for clients connecting as admin to + the cluster. Should be changed after cluster creation. Returns null on GET. This field only + applies when the authenticationMethod field is 'Cassandra'. :type initial_cassandra_admin_password: str - :param hours_between_backups: Number of hours to wait between taking a - backup of the cluster. To disable backups, set this property to 0. + :param hours_between_backups: Number of hours to wait between taking a backup of the cluster. + To disable backups, set this property to 0. :type hours_between_backups: int - :param prometheus_endpoint: Hostname or IP address where the Prometheus - endpoint containing data about the managed Cassandra nodes can be reached. + :param prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing + data about the managed Cassandra nodes can be reached. :type prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode - :param repair_enabled: Should automatic repairs run on this cluster? If - omitted, this is true, and should stay true unless you are running a - hybrid cluster where you are already doing your own repairs. + :param repair_enabled: Should automatic repairs run on this cluster? If omitted, this is true, + and should stay true unless you are running a hybrid cluster where you are already doing your + own repairs. :type repair_enabled: bool - :param client_certificates: List of TLS certificates used to authorize - clients connecting to the cluster. All connections are TLS encrypted - whether clientCertificates is set or not, but if clientCertificates is - set, the managed Cassandra cluster will reject all connections not bearing - a TLS client certificate that can be validated from one or more of the - public certificates in this property. + :param client_certificates: List of TLS certificates used to authorize clients connecting to + the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if + clientCertificates is set, the managed Cassandra cluster will reject all connections not + bearing a TLS client certificate that can be validated from one or more of the public + certificates in this property. :type client_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_gossip_certificates: List of TLS certificates used to - authorize gossip from unmanaged data centers. The TLS certificates of all - nodes in unmanaged data centers must be verifiable using one of the - certificates provided in this property. - :type external_gossip_certificates: - list[~azure.mgmt.cosmosdb.models.Certificate] - :ivar gossip_certificates: List of TLS certificates that unmanaged nodes - must trust for gossip with managed nodes. All managed nodes will present - TLS client certificates that are verifiable using one of the certificates - provided in this property. - :vartype gossip_certificates: - list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_seed_nodes: List of IP addresses of seed nodes in - unmanaged data centers. These will be added to the seed node lists of all - managed nodes. + :param external_gossip_certificates: List of TLS certificates used to authorize gossip from + unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be + verifiable using one of the certificates provided in this property. + :type external_gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :ivar gossip_certificates: List of TLS certificates that unmanaged nodes must trust for gossip + with managed nodes. All managed nodes will present TLS client certificates that are verifiable + using one of the certificates provided in this property. + :vartype gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :param external_seed_nodes: List of IP addresses of seed nodes in unmanaged data centers. These + will be added to the seed node lists of all managed nodes. :type external_seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :ivar seed_nodes: List of IP addresses of seed nodes in the managed data - centers. These should be added to the seed node lists of all unmanaged - nodes. + :ivar seed_nodes: List of IP addresses of seed nodes in the managed data centers. These should + be added to the seed node lists of all unmanaged nodes. :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] """ @@ -1105,7 +1268,24 @@ class ClusterResourceProperties(Model): 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, } - def __init__(self, *, provisioning_state=None, restore_from_backup_id: str=None, delegated_management_subnet_id: str=None, cassandra_version: str=None, cluster_name_override: str=None, authentication_method=None, initial_cassandra_admin_password: str=None, hours_between_backups: int=None, prometheus_endpoint=None, repair_enabled: bool=None, client_certificates=None, external_gossip_certificates=None, external_seed_nodes=None, **kwargs) -> None: + def __init__( + self, + *, + provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None, + restore_from_backup_id: Optional[str] = None, + delegated_management_subnet_id: Optional[str] = None, + cassandra_version: Optional[str] = None, + cluster_name_override: Optional[str] = None, + authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, + initial_cassandra_admin_password: Optional[str] = None, + hours_between_backups: Optional[int] = None, + prometheus_endpoint: Optional["SeedNode"] = None, + repair_enabled: Optional[bool] = None, + client_certificates: Optional[List["Certificate"]] = None, + external_gossip_certificates: Optional[List["Certificate"]] = None, + external_seed_nodes: Optional[List["SeedNode"]] = None, + **kwargs + ): super(ClusterResourceProperties, self).__init__(**kwargs) self.provisioning_state = provisioning_state self.restore_from_backup_id = restore_from_backup_id @@ -1124,12 +1304,12 @@ def __init__(self, *, provisioning_state=None, restore_from_backup_id: str=None, self.seed_nodes = None -class Column(Model): +class Column(msrest.serialization.Model): """Cosmos DB Cassandra table column. - :param name: Name of the Cosmos DB Cassandra table column + :param name: Name of the Cosmos DB Cassandra table column. :type name: str - :param type: Type of the Cosmos DB Cassandra table column + :param type: Type of the Cosmos DB Cassandra table column. :type type: str """ @@ -1138,20 +1318,56 @@ class Column(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, *, name: str=None, type: str=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): super(Column, self).__init__(**kwargs) self.name = name self.type = type -class CompositePath(Model): +class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. + + 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(Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class CompositePath(msrest.serialization.Model): """CompositePath. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str - :param order: Sort order for composite paths. Possible values include: - 'ascending', 'descending' + :param order: Sort order for composite paths. Possible values include: "ascending", + "descending". :type order: str or ~azure.mgmt.cosmosdb.models.CompositePathSortOrder """ @@ -1160,23 +1376,29 @@ class CompositePath(Model): 'order': {'key': 'order', 'type': 'str'}, } - def __init__(self, *, path: str=None, order=None, **kwargs) -> None: + def __init__( + self, + *, + path: Optional[str] = None, + order: Optional[Union[str, "CompositePathSortOrder"]] = None, + **kwargs + ): super(CompositePath, self).__init__(**kwargs) self.path = path self.order = order -class ConflictResolutionPolicy(Model): +class ConflictResolutionPolicy(msrest.serialization.Model): """The conflict resolution policy for the container. - :param mode: Indicates the conflict resolution mode. Possible values - include: 'LastWriterWins', 'Custom'. Default value: "LastWriterWins" . + :param mode: Indicates the conflict resolution mode. Possible values include: "LastWriterWins", + "Custom". Default value: "LastWriterWins". :type mode: str or ~azure.mgmt.cosmosdb.models.ConflictResolutionMode - :param conflict_resolution_path: The conflict resolution path in the case - of LastWriterWins mode. + :param conflict_resolution_path: The conflict resolution path in the case of LastWriterWins + mode. :type conflict_resolution_path: str - :param conflict_resolution_procedure: The procedure to resolve conflicts - in the case of custom mode. + :param conflict_resolution_procedure: The procedure to resolve conflicts in the case of custom + mode. :type conflict_resolution_procedure: str """ @@ -1186,33 +1408,36 @@ class ConflictResolutionPolicy(Model): 'conflict_resolution_procedure': {'key': 'conflictResolutionProcedure', 'type': 'str'}, } - def __init__(self, *, mode="LastWriterWins", conflict_resolution_path: str=None, conflict_resolution_procedure: str=None, **kwargs) -> None: + def __init__( + self, + *, + mode: Optional[Union[str, "ConflictResolutionMode"]] = "LastWriterWins", + conflict_resolution_path: Optional[str] = None, + conflict_resolution_procedure: Optional[str] = None, + **kwargs + ): super(ConflictResolutionPolicy, self).__init__(**kwargs) self.mode = mode self.conflict_resolution_path = conflict_resolution_path self.conflict_resolution_procedure = conflict_resolution_procedure -class ConsistencyPolicy(Model): +class ConsistencyPolicy(msrest.serialization.Model): """The consistency policy for the Cosmos DB database account. All required parameters must be populated in order to send to Azure. - :param default_consistency_level: Required. The default consistency level - and configuration settings of the Cosmos DB account. Possible values - include: 'Eventual', 'Session', 'BoundedStaleness', 'Strong', - 'ConsistentPrefix' - :type default_consistency_level: str or - ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel - :param max_staleness_prefix: When used with the Bounded Staleness - consistency level, this value represents the number of stale requests - tolerated. Accepted range for this value is 1 – 2,147,483,647. Required - when defaultConsistencyPolicy is set to 'BoundedStaleness'. + :param default_consistency_level: Required. The default consistency level and configuration + settings of the Cosmos DB account. Possible values include: "Eventual", "Session", + "BoundedStaleness", "Strong", "ConsistentPrefix". + :type default_consistency_level: str or ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel + :param max_staleness_prefix: When used with the Bounded Staleness consistency level, this value + represents the number of stale requests tolerated. Accepted range for this value is 1 – + 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. :type max_staleness_prefix: long - :param max_interval_in_seconds: When used with the Bounded Staleness - consistency level, this value represents the time amount of staleness (in - seconds) tolerated. Accepted range for this value is 5 - 86400. Required - when defaultConsistencyPolicy is set to 'BoundedStaleness'. + :param max_interval_in_seconds: When used with the Bounded Staleness consistency level, this + value represents the time amount of staleness (in seconds) tolerated. Accepted range for this + value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. :type max_interval_in_seconds: int """ @@ -1223,37 +1448,39 @@ class ConsistencyPolicy(Model): } _attribute_map = { - 'default_consistency_level': {'key': 'defaultConsistencyLevel', 'type': 'DefaultConsistencyLevel'}, + 'default_consistency_level': {'key': 'defaultConsistencyLevel', 'type': 'str'}, 'max_staleness_prefix': {'key': 'maxStalenessPrefix', 'type': 'long'}, 'max_interval_in_seconds': {'key': 'maxIntervalInSeconds', 'type': 'int'}, } - def __init__(self, *, default_consistency_level, max_staleness_prefix: int=None, max_interval_in_seconds: int=None, **kwargs) -> None: + def __init__( + self, + *, + default_consistency_level: Union[str, "DefaultConsistencyLevel"], + max_staleness_prefix: Optional[int] = None, + max_interval_in_seconds: Optional[int] = None, + **kwargs + ): super(ConsistencyPolicy, self).__init__(**kwargs) self.default_consistency_level = default_consistency_level self.max_staleness_prefix = max_staleness_prefix self.max_interval_in_seconds = max_interval_in_seconds -class ContainerPartitionKey(Model): - """The configuration of the partition key to be used for partitioning data - into multiple partitions. +class ContainerPartitionKey(msrest.serialization.Model): + """The configuration of the partition key to be used for partitioning data into multiple partitions. - 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 paths: List of paths using which data within the container can be - partitioned + :param paths: List of paths using which data within the container can be partitioned. :type paths: list[str] - :param kind: Indicates the kind of algorithm used for partitioning. For - MultiHash, multiple partition keys (upto three maximum) are supported for - container create. Possible values include: 'Hash', 'Range', 'MultiHash'. - Default value: "Hash" . + :param kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple + partition keys (upto three maximum) are supported for container create. Possible values + include: "Hash", "Range", "MultiHash". Default value: "Hash". :type kind: str or ~azure.mgmt.cosmosdb.models.PartitionKind - :param version: Indicates the version of the partition key definition + :param version: Indicates the version of the partition key definition. :type version: int - :ivar system_key: Indicates if the container is using a system generated - partition key + :ivar system_key: Indicates if the container is using a system generated partition key. :vartype system_key: bool """ @@ -1269,7 +1496,14 @@ class ContainerPartitionKey(Model): 'system_key': {'key': 'systemKey', 'type': 'bool'}, } - def __init__(self, *, paths=None, kind="Hash", version: int=None, **kwargs) -> None: + def __init__( + self, + *, + paths: Optional[List[str]] = None, + kind: Optional[Union[str, "PartitionKind"]] = "Hash", + version: Optional[int] = None, + **kwargs + ): super(ContainerPartitionKey, self).__init__(**kwargs) self.paths = paths self.kind = kind @@ -1277,13 +1511,56 @@ def __init__(self, *, paths=None, kind="Hash", version: int=None, **kwargs) -> N self.system_key = None +class ContinuousBackupInformation(msrest.serialization.Model): + """Continuous backup description. + + :param latest_restorable_timestamp: The latest restorable timestamp for a resource. + :type latest_restorable_timestamp: str + """ + + _attribute_map = { + 'latest_restorable_timestamp': {'key': 'latestRestorableTimestamp', 'type': 'str'}, + } + + def __init__( + self, + *, + latest_restorable_timestamp: Optional[str] = None, + **kwargs + ): + super(ContinuousBackupInformation, self).__init__(**kwargs) + self.latest_restorable_timestamp = latest_restorable_timestamp + + +class ContinuousBackupRestoreLocation(msrest.serialization.Model): + """Properties of the regional restorable account. + + :param location: The name of the continuous backup restore location. + :type location: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + **kwargs + ): + super(ContinuousBackupRestoreLocation, self).__init__(**kwargs) + self.location = location + + class ContinuousModeBackupPolicy(BackupPolicy): """The object representing continuous mode backup policy. All required parameters must be populated in order to send to Azure. - :param type: Required. Constant filled by server. - :type type: str + :param type: Required. Describes the mode of backups.Constant filled by server. Possible + values include: "Periodic", "Continuous". + :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType """ _validation = { @@ -1294,31 +1571,33 @@ class ContinuousModeBackupPolicy(BackupPolicy): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ContinuousModeBackupPolicy, self).__init__(**kwargs) - self.type = 'Continuous' + self.type = 'Continuous' # type: str -class CorsPolicy(Model): +class CorsPolicy(msrest.serialization.Model): """The CORS policy for the Cosmos DB database account. All required parameters must be populated in order to send to Azure. - :param allowed_origins: Required. The origin domains that are permitted to - make a request against the service via CORS. + :param allowed_origins: Required. The origin domains that are permitted to make a request + against the service via CORS. :type allowed_origins: str - :param allowed_methods: The methods (HTTP request verbs) that the origin - domain may use for a CORS request. + :param allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a + CORS request. :type allowed_methods: str - :param allowed_headers: The request headers that the origin domain may - specify on the CORS request. + :param allowed_headers: The request headers that the origin domain may specify on the CORS + request. :type allowed_headers: str - :param exposed_headers: The response headers that may be sent in the - response to the CORS request and exposed by the browser to the request - issuer. + :param exposed_headers: The response headers that may be sent in the response to the CORS + request and exposed by the browser to the request issuer. :type exposed_headers: str - :param max_age_in_seconds: The maximum amount time that a browser should - cache the preflight OPTIONS request. + :param max_age_in_seconds: The maximum amount time that a browser should cache the preflight + OPTIONS request. :type max_age_in_seconds: long """ @@ -1335,7 +1614,16 @@ class CorsPolicy(Model): 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'}, } - def __init__(self, *, allowed_origins: str, allowed_methods: str=None, allowed_headers: str=None, exposed_headers: str=None, max_age_in_seconds: int=None, **kwargs) -> None: + def __init__( + self, + *, + allowed_origins: str, + allowed_methods: Optional[str] = None, + allowed_headers: Optional[str] = None, + exposed_headers: Optional[str] = None, + max_age_in_seconds: Optional[int] = None, + **kwargs + ): super(CorsPolicy, self).__init__(**kwargs) self.allowed_origins = allowed_origins self.allowed_methods = allowed_methods @@ -1344,13 +1632,10 @@ def __init__(self, *, allowed_origins: str, allowed_methods: str=None, allowed_h self.max_age_in_seconds = max_age_in_seconds -class CreateUpdateOptions(Model): - """CreateUpdateOptions are a list of key-value pairs that describe the - resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" - and "Throughput". +class CreateUpdateOptions(msrest.serialization.Model): + """CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput". - :param throughput: Request Units per second. For example, "throughput": - 10000. + :param throughput: Request Units per second. For example, "throughput": 10000. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -1361,21 +1646,26 @@ class CreateUpdateOptions(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(CreateUpdateOptions, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings -class DatabaseAccountConnectionString(Model): +class DatabaseAccountConnectionString(msrest.serialization.Model): """Connection string for the Cosmos DB account. - 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 connection_string: Value of the connection string + :ivar connection_string: Value of the connection string. :vartype connection_string: str - :ivar description: Description of the connection string + :ivar description: Description of the connection string. :vartype description: str """ @@ -1389,7 +1679,10 @@ class DatabaseAccountConnectionString(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DatabaseAccountConnectionString, self).__init__(**kwargs) self.connection_string = None self.description = None @@ -1398,8 +1691,7 @@ def __init__(self, **kwargs) -> None: class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB database accounts. - 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. @@ -1409,20 +1701,22 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param kind: Indicates the type of database account. This can only be set - at database account creation. Possible values include: 'GlobalDocumentDB', - 'MongoDB', 'Parse'. Default value: "GlobalDocumentDB" . + :param kind: Indicates the type of database account. This can only be set at database account + creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind - :param properties: Required. - :type properties: - ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateProperties + :param properties: Required. Properties to create and update Azure Cosmos DB database accounts. + :type properties: ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateProperties """ _validation = { @@ -1443,89 +1737,92 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): 'properties': {'key': 'properties', 'type': 'DatabaseAccountCreateUpdateProperties'}, } - def __init__(self, *, properties, location: str=None, tags=None, identity=None, kind="GlobalDocumentDB", **kwargs) -> None: + def __init__( + self, + *, + properties: "DatabaseAccountCreateUpdateProperties", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + kind: Optional[Union[str, "DatabaseAccountKind"]] = None, + **kwargs + ): super(DatabaseAccountCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.kind = kind self.properties = properties -class DatabaseAccountCreateUpdateProperties(Model): +class DatabaseAccountCreateUpdateProperties(msrest.serialization.Model): """Properties to create and update Azure Cosmos DB database accounts. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DefaultRequestDatabaseAccountCreateUpdateProperties, - RestoreReqeustDatabaseAccountCreateUpdateProperties + sub-classes are: DefaultRequestDatabaseAccountCreateUpdateProperties, RestoreReqeustDatabaseAccountCreateUpdateProperties. - 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. - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication - locations enabled for the Cosmos DB account. + :param locations: Required. An array that contains the georeplication locations enabled for the + Cosmos DB account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: Required. The offer type for the - database. Default value: "Standard" . + :ivar database_account_offer_type: Required. The offer type for the database. Default value: + "Standard". :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by + server. Possible values include: "Default", "Restore". Default value: "Default". + :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param create_mode: Required. Constant filled by server. - :type create_mode: str """ _validation = { @@ -1548,15 +1845,16 @@ class DatabaseAccountCreateUpdateProperties(Model): 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, + 'create_mode': {'key': 'createMode', 'type': 'str'}, 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, } _subtype_map = { @@ -1565,7 +1863,32 @@ class DatabaseAccountCreateUpdateProperties(Model): database_account_offer_type = "Standard" - def __init__(self, *, locations, consistency_policy=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, backup_policy=None, cors=None, network_acl_bypass=None, network_acl_bypass_resource_ids=None, **kwargs) -> None: + def __init__( + self, + *, + locations: List["Location"], + consistency_policy: Optional["ConsistencyPolicy"] = None, + ip_rules: Optional[List["IpAddressOrRange"]] = None, + is_virtual_network_filter_enabled: Optional[bool] = None, + enable_automatic_failover: Optional[bool] = None, + capabilities: Optional[List["Capability"]] = None, + virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, + enable_multiple_write_locations: Optional[bool] = None, + enable_cassandra_connector: Optional[bool] = None, + connector_offer: Optional[Union[str, "ConnectorOffer"]] = None, + disable_key_based_metadata_write_access: Optional[bool] = None, + key_vault_key_uri: Optional[str] = None, + default_identity: Optional[str] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + enable_free_tier: Optional[bool] = None, + api_properties: Optional["ApiProperties"] = None, + enable_analytical_storage: Optional[bool] = None, + backup_policy: Optional["BackupPolicy"] = None, + cors: Optional[List["CorsPolicy"]] = None, + network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, + network_acl_bypass_resource_ids: Optional[List[str]] = None, + **kwargs + ): super(DatabaseAccountCreateUpdateProperties, self).__init__(**kwargs) self.consistency_policy = consistency_policy self.locations = locations @@ -1579,22 +1902,22 @@ def __init__(self, *, locations, consistency_policy=None, ip_rules=None, is_virt self.connector_offer = connector_offer self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access self.key_vault_key_uri = key_vault_key_uri + self.default_identity = default_identity self.public_network_access = public_network_access self.enable_free_tier = enable_free_tier self.api_properties = api_properties self.enable_analytical_storage = enable_analytical_storage + self.create_mode = None # type: Optional[str] self.backup_policy = backup_policy self.cors = cors self.network_acl_bypass = network_acl_bypass self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids - self.create_mode = None class DatabaseAccountGetResults(ARMResourceProperties): """An Azure Cosmos DB database account. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -1602,125 +1925,124 @@ class DatabaseAccountGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param kind: Indicates the type of database account. This can only be set - at database account creation. Possible values include: 'GlobalDocumentDB', - 'MongoDB', 'Parse'. Default value: "GlobalDocumentDB" . + :param kind: Indicates the type of database account. This can only be set at database account + creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind - :param provisioning_state: - :type provisioning_state: str - :ivar document_endpoint: The connection endpoint for the Cosmos DB - database account. + :ivar system_data: The system meta data relating to this resource. + :vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData + :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was + called. The status can be one of following. 'Creating' – the Cosmos DB account is being + created. When an account is in Creating state, only properties that are specified as input for + the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is + active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB + account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – + the Cosmos DB account deletion failed. + :vartype provisioning_state: str + :ivar document_endpoint: The connection endpoint for the Cosmos DB database account. :vartype document_endpoint: str - :ivar database_account_offer_type: The offer type for the Cosmos DB - database account. Default value: Standard. Possible values include: - 'Standard' - :vartype database_account_offer_type: str or - ~azure.mgmt.cosmosdb.models.DatabaseAccountOfferType + :ivar database_account_offer_type: The offer type for the Cosmos DB database account. Default + value: Standard. Default value: "Standard". + :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param consistency_policy: The consistency policy for the Cosmos DB - database account. + :param consistency_policy: The consistency policy for the Cosmos DB database account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :ivar write_locations: An array that contains the write location for the - Cosmos DB account. + :ivar write_locations: An array that contains the write location for the Cosmos DB account. :vartype write_locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar read_locations: An array that contains of the read locations enabled - for the Cosmos DB account. + :ivar read_locations: An array that contains of the read locations enabled for the Cosmos DB + account. :vartype read_locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar locations: An array that contains all of the locations enabled for - the Cosmos DB account. + :ivar locations: An array that contains all of the locations enabled for the Cosmos DB account. :vartype locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar failover_policies: An array that contains the regions ordered by - their failover priorities. - :vartype failover_policies: - list[~azure.mgmt.cosmosdb.models.FailoverPolicy] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :ivar private_endpoint_connections: List of Private Endpoint Connections - configured for the Cosmos DB account. + :ivar failover_policies: An array that contains the regions ordered by their failover + priorities. + :vartype failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :ivar private_endpoint_connections: List of Private Endpoint Connections configured for the + Cosmos DB account. :vartype private_endpoint_connections: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool :param api_properties: API specific properties. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :ivar instance_id: A unique identifier assigned to the database account + :ivar instance_id: A unique identifier assigned to the database account. :vartype instance_id: str - :param create_mode: Enum to indicate the mode of account creation. - Possible values include: 'Default', 'Restore'. Default value: "Default" . + :param create_mode: Enum to indicate the mode of account creation. Possible values include: + "Default", "Restore". Default value: "Default". :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param restore_parameters: Parameters to indicate the information about - the restore. + :param restore_parameters: Parameters to indicate the information about the restore. :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - :param backup_policy: The object representing the policy for taking - backups on an account. + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, 'document_endpoint': {'readonly': True}, - 'database_account_offer_type': {'readonly': True}, + 'database_account_offer_type': {'readonly': True, 'constant': True}, 'write_locations': {'readonly': True}, 'read_locations': {'readonly': True}, 'locations': {'readonly': True}, 'failover_policies': {'readonly': True}, 'private_endpoint_connections': {'readonly': True}, 'instance_id': {'readonly': True}, - 'system_data': {'readonly': True}, } _attribute_map = { @@ -1731,9 +2053,10 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'kind': {'key': 'kind', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'document_endpoint': {'key': 'properties.documentEndpoint', 'type': 'str'}, - 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'DatabaseAccountOfferType'}, + 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'str'}, 'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'}, 'is_virtual_network_filter_enabled': {'key': 'properties.isVirtualNetworkFilterEnabled', 'type': 'bool'}, 'enable_automatic_failover': {'key': 'properties.enableAutomaticFailover', 'type': 'bool'}, @@ -1750,6 +2073,7 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'}, @@ -1759,15 +2083,47 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'}, 'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, kind="GlobalDocumentDB", provisioning_state: str=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, consistency_policy=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, create_mode="Default", restore_parameters=None, backup_policy=None, cors=None, network_acl_bypass=None, network_acl_bypass_resource_ids=None, **kwargs) -> None: + database_account_offer_type = "Standard" + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + kind: Optional[Union[str, "DatabaseAccountKind"]] = None, + ip_rules: Optional[List["IpAddressOrRange"]] = None, + is_virtual_network_filter_enabled: Optional[bool] = None, + enable_automatic_failover: Optional[bool] = None, + consistency_policy: Optional["ConsistencyPolicy"] = None, + capabilities: Optional[List["Capability"]] = None, + virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, + enable_multiple_write_locations: Optional[bool] = None, + enable_cassandra_connector: Optional[bool] = None, + connector_offer: Optional[Union[str, "ConnectorOffer"]] = None, + disable_key_based_metadata_write_access: Optional[bool] = None, + key_vault_key_uri: Optional[str] = None, + default_identity: Optional[str] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + enable_free_tier: Optional[bool] = None, + api_properties: Optional["ApiProperties"] = None, + enable_analytical_storage: Optional[bool] = None, + create_mode: Optional[Union[str, "CreateMode"]] = "Default", + restore_parameters: Optional["RestoreParameters"] = None, + backup_policy: Optional["BackupPolicy"] = None, + cors: Optional[List["CorsPolicy"]] = None, + network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, + network_acl_bypass_resource_ids: Optional[List[str]] = None, + **kwargs + ): super(DatabaseAccountGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.kind = kind - self.provisioning_state = provisioning_state + self.system_data = None + self.provisioning_state = None self.document_endpoint = None self.database_account_offer_type = None self.ip_rules = ip_rules @@ -1786,6 +2142,7 @@ def __init__(self, *, location: str=None, tags=None, identity=None, kind="Global self.connector_offer = connector_offer self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access self.key_vault_key_uri = key_vault_key_uri + self.default_identity = default_identity self.public_network_access = public_network_access self.enable_free_tier = enable_free_tier self.api_properties = api_properties @@ -1797,38 +2154,38 @@ def __init__(self, *, location: str=None, tags=None, identity=None, kind="Global self.cors = cors self.network_acl_bypass = network_acl_bypass self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids - self.system_data = None -class DatabaseAccountListConnectionStringsResult(Model): +class DatabaseAccountListConnectionStringsResult(msrest.serialization.Model): """The connection strings for the given database account. - :param connection_strings: An array that contains the connection strings - for the Cosmos DB account. - :type connection_strings: - list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] + :param connection_strings: An array that contains the connection strings for the Cosmos DB + account. + :type connection_strings: list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] """ _attribute_map = { 'connection_strings': {'key': 'connectionStrings', 'type': '[DatabaseAccountConnectionString]'}, } - def __init__(self, *, connection_strings=None, **kwargs) -> None: + def __init__( + self, + *, + connection_strings: Optional[List["DatabaseAccountConnectionString"]] = None, + **kwargs + ): super(DatabaseAccountListConnectionStringsResult, self).__init__(**kwargs) self.connection_strings = connection_strings -class DatabaseAccountListReadOnlyKeysResult(Model): +class DatabaseAccountListReadOnlyKeysResult(msrest.serialization.Model): """The read-only access keys for the given database account. - 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 primary_readonly_master_key: Base 64 encoded value of the primary - read-only key. + :ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key. :vartype primary_readonly_master_key: str - :ivar secondary_readonly_master_key: Base 64 encoded value of the - secondary read-only key. + :ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key. :vartype secondary_readonly_master_key: str """ @@ -1842,7 +2199,10 @@ class DatabaseAccountListReadOnlyKeysResult(Model): 'secondary_readonly_master_key': {'key': 'secondaryReadonlyMasterKey', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DatabaseAccountListReadOnlyKeysResult, self).__init__(**kwargs) self.primary_readonly_master_key = None self.secondary_readonly_master_key = None @@ -1851,20 +2211,15 @@ def __init__(self, **kwargs) -> None: class DatabaseAccountListKeysResult(DatabaseAccountListReadOnlyKeysResult): """The access keys for the given database account. - 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 primary_readonly_master_key: Base 64 encoded value of the primary - read-only key. + :ivar primary_readonly_master_key: Base 64 encoded value of the primary read-only key. :vartype primary_readonly_master_key: str - :ivar secondary_readonly_master_key: Base 64 encoded value of the - secondary read-only key. + :ivar secondary_readonly_master_key: Base 64 encoded value of the secondary read-only key. :vartype secondary_readonly_master_key: str - :ivar primary_master_key: Base 64 encoded value of the primary read-write - key. + :ivar primary_master_key: Base 64 encoded value of the primary read-write key. :vartype primary_master_key: str - :ivar secondary_master_key: Base 64 encoded value of the secondary - read-write key. + :ivar secondary_master_key: Base 64 encoded value of the secondary read-write key. :vartype secondary_master_key: str """ @@ -1882,19 +2237,22 @@ class DatabaseAccountListKeysResult(DatabaseAccountListReadOnlyKeysResult): 'secondary_master_key': {'key': 'secondaryMasterKey', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DatabaseAccountListKeysResult, self).__init__(**kwargs) self.primary_master_key = None self.secondary_master_key = None -class DatabaseAccountRegenerateKeyParameters(Model): +class DatabaseAccountRegenerateKeyParameters(msrest.serialization.Model): """Parameters to regenerate the keys within the database account. All required parameters must be populated in order to send to Azure. - :param key_kind: Required. The access key to regenerate. Possible values - include: 'primary', 'secondary', 'primaryReadonly', 'secondaryReadonly' + :param key_kind: Required. The access key to regenerate. Possible values include: "primary", + "secondary", "primaryReadonly", "secondaryReadonly". :type key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind """ @@ -1906,86 +2264,116 @@ class DatabaseAccountRegenerateKeyParameters(Model): 'key_kind': {'key': 'keyKind', 'type': 'str'}, } - def __init__(self, *, key_kind, **kwargs) -> None: + def __init__( + self, + *, + key_kind: Union[str, "KeyKind"], + **kwargs + ): super(DatabaseAccountRegenerateKeyParameters, self).__init__(**kwargs) self.key_kind = key_kind -class DatabaseAccountUpdateParameters(Model): +class DatabaseAccountsListResult(msrest.serialization.Model): + """The List operation response, that contains the database accounts and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of database account and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseAccountGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseAccountsListResult, self).__init__(**kwargs) + self.value = None + + +class DatabaseAccountUpdateParameters(msrest.serialization.Model): """Parameters for patching Azure Cosmos DB database account properties. - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param identity: Identity for the resource. + :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: An array that contains the georeplication locations - enabled for the Cosmos DB account. + :param locations: An array that contains the georeplication locations enabled for the Cosmos DB + account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param identity: - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'}, 'locations': {'key': 'properties.locations', 'type': '[Location]'}, 'ip_rules': {'key': 'properties.ipRules', 'type': '[IpAddressOrRange]'}, @@ -1998,21 +2386,50 @@ class DatabaseAccountUpdateParameters(Model): 'connector_offer': {'key': 'properties.connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'properties.disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'properties.keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'properties.defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'properties.enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'properties.apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'properties.enableAnalyticalStorage', 'type': 'bool'}, 'backup_policy': {'key': 'properties.backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, } - def __init__(self, *, tags=None, location: str=None, consistency_policy=None, locations=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, backup_policy=None, cors=None, network_acl_bypass=None, network_acl_bypass_resource_ids=None, identity=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + identity: Optional["ManagedServiceIdentity"] = None, + consistency_policy: Optional["ConsistencyPolicy"] = None, + locations: Optional[List["Location"]] = None, + ip_rules: Optional[List["IpAddressOrRange"]] = None, + is_virtual_network_filter_enabled: Optional[bool] = None, + enable_automatic_failover: Optional[bool] = None, + capabilities: Optional[List["Capability"]] = None, + virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, + enable_multiple_write_locations: Optional[bool] = None, + enable_cassandra_connector: Optional[bool] = None, + connector_offer: Optional[Union[str, "ConnectorOffer"]] = None, + disable_key_based_metadata_write_access: Optional[bool] = None, + key_vault_key_uri: Optional[str] = None, + default_identity: Optional[str] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + enable_free_tier: Optional[bool] = None, + api_properties: Optional["ApiProperties"] = None, + enable_analytical_storage: Optional[bool] = None, + backup_policy: Optional["BackupPolicy"] = None, + cors: Optional[List["CorsPolicy"]] = None, + network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, + network_acl_bypass_resource_ids: Optional[List[str]] = None, + **kwargs + ): super(DatabaseAccountUpdateParameters, self).__init__(**kwargs) self.tags = tags self.location = location + self.identity = identity self.consistency_policy = consistency_policy self.locations = locations self.ip_rules = ip_rules @@ -2025,6 +2442,7 @@ def __init__(self, *, tags=None, location: str=None, consistency_policy=None, lo self.connector_offer = connector_offer self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access self.key_vault_key_uri = key_vault_key_uri + self.default_identity = default_identity self.public_network_access = public_network_access self.enable_free_tier = enable_free_tier self.api_properties = api_properties @@ -2033,16 +2451,14 @@ def __init__(self, *, tags=None, location: str=None, consistency_policy=None, lo self.cors = cors self.network_acl_bypass = network_acl_bypass self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids - self.identity = identity -class DatabaseRestoreResource(Model): +class DatabaseRestoreResource(msrest.serialization.Model): """Specific Databases to restore. :param database_name: The name of the database available for restore. :type database_name: str - :param collection_names: The names of the collections available for - restore. + :param collection_names: The names of the collections available for restore. :type collection_names: list[str] """ @@ -2051,7 +2467,13 @@ class DatabaseRestoreResource(Model): 'collection_names': {'key': 'collectionNames', 'type': '[str]'}, } - def __init__(self, *, database_name: str=None, collection_names=None, **kwargs) -> None: + def __init__( + self, + *, + database_name: Optional[str] = None, + collection_names: Optional[List[str]] = None, + **kwargs + ): super(DatabaseRestoreResource, self).__init__(**kwargs) self.database_name = database_name self.collection_names = collection_names @@ -2060,8 +2482,7 @@ def __init__(self, *, database_name: str=None, collection_names=None, **kwargs) class DataCenterResource(ARMProxyResource): """A managed Cassandra data center. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -2086,47 +2507,45 @@ class DataCenterResource(ARMProxyResource): 'properties': {'key': 'properties', 'type': 'DataCenterResourceProperties'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional["DataCenterResourceProperties"] = None, + **kwargs + ): super(DataCenterResource, self).__init__(**kwargs) self.properties = properties -class DataCenterResourceProperties(Model): +class DataCenterResourceProperties(msrest.serialization.Model): """Properties of a managed Cassandra data center. - 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 provisioning_state: Possible values include: 'Creating', - 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - :type provisioning_state: str or - ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param data_center_location: The region this data center should be created - in. + :param provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :param data_center_location: The region this data center should be created in. :type data_center_location: str - :param delegated_subnet_id: Resource id of a subnet the nodes in this data - center should have their network interfaces connected to. The subnet must - be in the same region specified in 'dataCenterLocation' and must be able - to route to the subnet specified in the cluster's - 'delegatedManagementSubnetId' property. This resource id will be of the - form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'. + :param delegated_subnet_id: Resource id of a subnet the nodes in this data center should have + their network interfaces connected to. The subnet must be in the same region specified in + 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's + 'delegatedManagementSubnetId' property. This resource id will be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. :type delegated_subnet_id: str - :param node_count: The number of nodes the data center should have. This - is the desired number. After it is set, it may take some time for the data - center to be scaled to match. To monitor the number of nodes and their - status, use the fetchNodeStatus method on the cluster. + :param node_count: The number of nodes the data center should have. This is the desired number. + After it is set, it may take some time for the data center to be scaled to match. To monitor + the number of nodes and their status, use the fetchNodeStatus method on the cluster. :type node_count: int - :ivar seed_nodes: IP addresses for seed nodes in this data center. This is - for reference. Generally you will want to use the seedNodes property on - the cluster, which aggregates the seed nodes from all data centers in the - cluster. + :ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference. + Generally you will want to use the seedNodes property on the cluster, which aggregates the seed + nodes from all data centers in the cluster. :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :param base64_encoded_cassandra_yaml_fragment: A fragment of a - cassandra.yaml configuration file to be included in the cassandra.yaml for - all nodes in this data center. The fragment should be Base64 encoded, and - only a subset of keys are allowed. + :param base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration + file to be included in the cassandra.yaml for all nodes in this data center. The fragment + should be Base64 encoded, and only a subset of keys are allowed. :type base64_encoded_cassandra_yaml_fragment: str """ @@ -2143,7 +2562,16 @@ class DataCenterResourceProperties(Model): 'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'}, } - def __init__(self, *, provisioning_state=None, data_center_location: str=None, delegated_subnet_id: str=None, node_count: int=None, base64_encoded_cassandra_yaml_fragment: str=None, **kwargs) -> None: + def __init__( + self, + *, + provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None, + data_center_location: Optional[str] = None, + delegated_subnet_id: Optional[str] = None, + node_count: Optional[int] = None, + base64_encoded_cassandra_yaml_fragment: Optional[str] = None, + **kwargs + ): super(DataCenterResourceProperties, self).__init__(**kwargs) self.provisioning_state = provisioning_state self.data_center_location = data_center_location @@ -2153,79 +2581,287 @@ def __init__(self, *, provisioning_state=None, data_center_location: str=None, d self.base64_encoded_cassandra_yaml_fragment = base64_encoded_cassandra_yaml_fragment +class RegionalServiceResource(msrest.serialization.Model): + """Resource for a regional service location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The regional service name. + :vartype name: str + :ivar location: The location name. + :vartype location: str + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegionalServiceResource, self).__init__(**kwargs) + self.name = None + self.location = None + self.status = None + + +class DataTransferRegionalServiceResource(RegionalServiceResource): + """Resource for a regional service location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The regional service name. + :vartype name: str + :ivar location: The location name. + :vartype location: str + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataTransferRegionalServiceResource, self).__init__(**kwargs) + + +class DataTransferServiceResource(msrest.serialization.Model): + """Describes the service response property. + + :param properties: Properties for DataTransferServiceResource. + :type properties: ~azure.mgmt.cosmosdb.models.DataTransferServiceResourceProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DataTransferServiceResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["DataTransferServiceResourceProperties"] = None, + **kwargs + ): + super(DataTransferServiceResource, self).__init__(**kwargs) + self.properties = properties + + +class ServiceResourceProperties(msrest.serialization.Model): + """Services response resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataTransferServiceResourceProperties, SqlDedicatedGatewayServiceResourceProperties. + + Variables are only 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 to this + collection. + :type additional_properties: dict[str, object] + :ivar creation_time: Time of the last state change (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :param instance_count: Instance count for the service. + :type instance_count: int + :param service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer". + :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'instance_count': {'minimum': 0}, + 'service_type': {'required': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'instance_size': {'key': 'instanceSize', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + 'service_type': {'key': 'serviceType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + _subtype_map = { + 'service_type': {'DataTransferServiceResourceProperties': 'DataTransferServiceResourceProperties', 'SqlDedicatedGatewayServiceResourceProperties': 'SqlDedicatedGatewayServiceResourceProperties'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + instance_size: Optional[Union[str, "ServiceSize"]] = None, + instance_count: Optional[int] = None, + **kwargs + ): + super(ServiceResourceProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.creation_time = None + self.instance_size = instance_size + self.instance_count = instance_count + self.service_type = 'ServiceResourceProperties' # type: str + self.status = None + + +class DataTransferServiceResourceProperties(ServiceResourceProperties): + """Properties for DataTransferServiceResource. + + Variables are only 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 to this + collection. + :type additional_properties: dict[str, object] + :ivar creation_time: Time of the last state change (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :param instance_count: Instance count for the service. + :type instance_count: int + :param service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer". + :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + :ivar locations: An array that contains all of the locations for the service. + :vartype locations: list[~azure.mgmt.cosmosdb.models.DataTransferRegionalServiceResource] + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'instance_count': {'minimum': 0}, + 'service_type': {'required': True}, + 'status': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'instance_size': {'key': 'instanceSize', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + 'service_type': {'key': 'serviceType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[DataTransferRegionalServiceResource]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + instance_size: Optional[Union[str, "ServiceSize"]] = None, + instance_count: Optional[int] = None, + **kwargs + ): + super(DataTransferServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs) + self.service_type = 'DataTransferServiceResourceProperties' # type: str + self.locations = None + + class DefaultRequestDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateUpdateProperties): """Properties for non-restore Azure Cosmos DB database account requests. - 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. - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication - locations enabled for the Cosmos DB account. + :param locations: Required. An array that contains the georeplication locations enabled for the + Cosmos DB account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: Required. The offer type for the - database. Default value: "Standard" . + :ivar database_account_offer_type: Required. The offer type for the database. Default value: + "Standard". :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by + server. Possible values include: "Default", "Restore". Default value: "Default". + :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param create_mode: Required. Constant filled by server. - :type create_mode: str """ _validation = { @@ -2248,23 +2884,51 @@ class DefaultRequestDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateU 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, + 'create_mode': {'key': 'createMode', 'type': 'str'}, 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, } - def __init__(self, *, locations, consistency_policy=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, backup_policy=None, cors=None, network_acl_bypass=None, network_acl_bypass_resource_ids=None, **kwargs) -> None: - super(DefaultRequestDatabaseAccountCreateUpdateProperties, self).__init__(consistency_policy=consistency_policy, locations=locations, ip_rules=ip_rules, is_virtual_network_filter_enabled=is_virtual_network_filter_enabled, enable_automatic_failover=enable_automatic_failover, capabilities=capabilities, virtual_network_rules=virtual_network_rules, enable_multiple_write_locations=enable_multiple_write_locations, enable_cassandra_connector=enable_cassandra_connector, connector_offer=connector_offer, disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, key_vault_key_uri=key_vault_key_uri, public_network_access=public_network_access, enable_free_tier=enable_free_tier, api_properties=api_properties, enable_analytical_storage=enable_analytical_storage, backup_policy=backup_policy, cors=cors, network_acl_bypass=network_acl_bypass, network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, **kwargs) - self.create_mode = 'Default' - + database_account_offer_type = "Standard" -class ErrorResponse(Model): + def __init__( + self, + *, + locations: List["Location"], + consistency_policy: Optional["ConsistencyPolicy"] = None, + ip_rules: Optional[List["IpAddressOrRange"]] = None, + is_virtual_network_filter_enabled: Optional[bool] = None, + enable_automatic_failover: Optional[bool] = None, + capabilities: Optional[List["Capability"]] = None, + virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, + enable_multiple_write_locations: Optional[bool] = None, + enable_cassandra_connector: Optional[bool] = None, + connector_offer: Optional[Union[str, "ConnectorOffer"]] = None, + disable_key_based_metadata_write_access: Optional[bool] = None, + key_vault_key_uri: Optional[str] = None, + default_identity: Optional[str] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + enable_free_tier: Optional[bool] = None, + api_properties: Optional["ApiProperties"] = None, + enable_analytical_storage: Optional[bool] = None, + backup_policy: Optional["BackupPolicy"] = None, + cors: Optional[List["CorsPolicy"]] = None, + network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, + network_acl_bypass_resource_ids: Optional[List[str]] = None, + **kwargs + ): + super(DefaultRequestDatabaseAccountCreateUpdateProperties, self).__init__(consistency_policy=consistency_policy, locations=locations, ip_rules=ip_rules, is_virtual_network_filter_enabled=is_virtual_network_filter_enabled, enable_automatic_failover=enable_automatic_failover, capabilities=capabilities, virtual_network_rules=virtual_network_rules, enable_multiple_write_locations=enable_multiple_write_locations, enable_cassandra_connector=enable_cassandra_connector, connector_offer=connector_offer, disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, key_vault_key_uri=key_vault_key_uri, default_identity=default_identity, public_network_access=public_network_access, enable_free_tier=enable_free_tier, api_properties=api_properties, enable_analytical_storage=enable_analytical_storage, backup_policy=backup_policy, cors=cors, network_acl_bypass=network_acl_bypass, network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, **kwargs) + self.create_mode = 'Default' # type: str + + +class ErrorResponse(msrest.serialization.Model): """Error Response. :param code: Error code. @@ -2278,29 +2942,23 @@ class ErrorResponse(Model): 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + **kwargs + ): 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 ExcludedPath(Model): +class ExcludedPath(msrest.serialization.Model): """ExcludedPath. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str """ @@ -2308,48 +2966,17 @@ class ExcludedPath(Model): 'path': {'key': 'path', 'type': 'str'}, } - def __init__(self, *, path: str=None, **kwargs) -> None: + def __init__( + self, + *, + path: Optional[str] = None, + **kwargs + ): super(ExcludedPath, self).__init__(**kwargs) self.path = path -class ExtendedResourceProperties(Model): - """The system generated resource properties associated with SQL databases, SQL - containers, Gremlin databases and Gremlin graphs. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - """ - - _validation = { - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, - } - - _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ExtendedResourceProperties, self).__init__(**kwargs) - self._rid = None - self._ts = None - self._etag = None - - -class FailoverPolicies(Model): +class FailoverPolicies(msrest.serialization.Model): """The list of new failover policies for the failover priority change. All required parameters must be populated in order to send to Azure. @@ -2366,27 +2993,30 @@ class FailoverPolicies(Model): 'failover_policies': {'key': 'failoverPolicies', 'type': '[FailoverPolicy]'}, } - def __init__(self, *, failover_policies, **kwargs) -> None: + def __init__( + self, + *, + failover_policies: List["FailoverPolicy"], + **kwargs + ): super(FailoverPolicies, self).__init__(**kwargs) self.failover_policies = failover_policies -class FailoverPolicy(Model): +class FailoverPolicy(msrest.serialization.Model): """The failover policy for a given region of a database account. - 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 id: The unique identifier of the region in which the database - account replicates to. Example: <accountName>-<locationName>. + :ivar id: The unique identifier of the region in which the database account replicates to. + Example: <accountName>-<locationName>. :vartype id: str - :param location_name: The name of the region in which the database account - exists. + :param location_name: The name of the region in which the database account exists. :type location_name: str - :param failover_priority: The failover priority of the region. A failover - priority of 0 indicates a write region. The maximum value for a failover - priority = (total number of regions - 1). Failover priority values must be - unique for each of the regions in which the database account exists. + :param failover_priority: The failover priority of the region. A failover priority of 0 + indicates a write region. The maximum value for a failover priority = (total number of regions + - 1). Failover priority values must be unique for each of the regions in which the database + account exists. :type failover_priority: int """ @@ -2401,7 +3031,13 @@ class FailoverPolicy(Model): 'failover_priority': {'key': 'failoverPriority', 'type': 'int'}, } - def __init__(self, *, location_name: str=None, failover_priority: int=None, **kwargs) -> None: + def __init__( + self, + *, + location_name: Optional[str] = None, + failover_priority: Optional[int] = None, + **kwargs + ): super(FailoverPolicy, self).__init__(**kwargs) self.id = None self.location_name = location_name @@ -2411,8 +3047,7 @@ def __init__(self, *, location_name: str=None, failover_priority: int=None, **kw class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Gremlin database. - 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. @@ -2422,17 +3057,21 @@ class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Gremlin database + :param resource: Required. The standard JSON format of a Gremlin database. :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -2454,7 +3093,16 @@ class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "GremlinDatabaseResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(GremlinDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -2463,9 +3111,8 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class GremlinDatabaseGetPropertiesOptions(OptionsResource): """GremlinDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -2476,57 +3123,92 @@ class GremlinDatabaseGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(GremlinDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class GremlinDatabaseGetPropertiesResource(Model): - """GremlinDatabaseGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class GremlinDatabaseResource(msrest.serialization.Model): + """Cosmos DB Gremlin database resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Gremlin database + :param id: Required. Name of the Cosmos DB Gremlin database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(GremlinDatabaseGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + **kwargs + ): + super(GremlinDatabaseResource, self).__init__(**kwargs) + self.id = id + + +class GremlinDatabaseGetPropertiesResource(ExtendedResourceProperties, GremlinDatabaseResource): + """GremlinDatabaseGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB Gremlin database. + :type id: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + **kwargs + ): + super(GremlinDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class GremlinDatabaseGetResults(ARMResourceProperties): """An Azure Cosmos DB Gremlin database. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -2534,19 +3216,21 @@ class GremlinDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions """ _validation = { @@ -2566,39 +3250,50 @@ class GremlinDatabaseGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'GremlinDatabaseGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["GremlinDatabaseGetPropertiesResource"] = None, + options: Optional["GremlinDatabaseGetPropertiesOptions"] = None, + **kwargs + ): super(GremlinDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class GremlinDatabaseResource(Model): - """Cosmos DB Gremlin database resource object. +class GremlinDatabaseListResult(msrest.serialization.Model): + """The List operation response, that contains the Gremlin databases and their properties. - 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. Name of the Cosmos DB Gremlin database - :type id: str + :ivar value: List of Gremlin databases and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[GremlinDatabaseGetResults]'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(GremlinDatabaseResource, self).__init__(**kwargs) - self.id = id + def __init__( + self, + **kwargs + ): + super(GremlinDatabaseListResult, self).__init__(**kwargs) + self.value = None class GremlinGraphCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Gremlin graph. - 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. @@ -2608,17 +3303,21 @@ class GremlinGraphCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Gremlin graph + :param resource: Required. The standard JSON format of a Gremlin graph. :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -2640,7 +3339,16 @@ class GremlinGraphCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "GremlinGraphResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(GremlinGraphCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -2649,9 +3357,8 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class GremlinGraphGetPropertiesOptions(OptionsResource): """GremlinGraphGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -2662,51 +3369,40 @@ class GremlinGraphGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(GremlinGraphGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class GremlinGraphGetPropertiesResource(Model): - """GremlinGraphGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class GremlinGraphResource(msrest.serialization.Model): + """Cosmos DB Gremlin graph resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Gremlin graph + :param id: Required. Name of the Cosmos DB Gremlin graph. :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the graph + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the graph. :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live + :param default_ttl: Default time to live. :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - graph. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :param conflict_resolution_policy: The conflict resolution policy for the graph. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { @@ -2716,29 +3412,105 @@ class GremlinGraphGetPropertiesResource(Model): 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, **kwargs) -> None: - super(GremlinGraphGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + indexing_policy: Optional["IndexingPolicy"] = None, + partition_key: Optional["ContainerPartitionKey"] = None, + default_ttl: Optional[int] = None, + unique_key_policy: Optional["UniqueKeyPolicy"] = None, + conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None, + **kwargs + ): + super(GremlinGraphResource, self).__init__(**kwargs) self.id = id self.indexing_policy = indexing_policy self.partition_key = partition_key self.default_ttl = default_ttl self.unique_key_policy = unique_key_policy self.conflict_resolution_policy = conflict_resolution_policy - self._rid = None - self._ts = None - self._etag = None + + +class GremlinGraphGetPropertiesResource(ExtendedResourceProperties, GremlinGraphResource): + """GremlinGraphGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB Gremlin graph. + :type id: str + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the graph. + :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :param default_ttl: Default time to live. + :type default_ttl: int + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :param conflict_resolution_policy: The conflict resolution policy for the graph. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, + 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, + 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, + 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, + 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + indexing_policy: Optional["IndexingPolicy"] = None, + partition_key: Optional["ContainerPartitionKey"] = None, + default_ttl: Optional[int] = None, + unique_key_policy: Optional["UniqueKeyPolicy"] = None, + conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None, + **kwargs + ): + super(GremlinGraphGetPropertiesResource, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, **kwargs) + self.id = id + self.indexing_policy = indexing_policy + self.partition_key = partition_key + self.default_ttl = default_ttl + self.unique_key_policy = unique_key_policy + self.conflict_resolution_policy = conflict_resolution_policy + self.rid = None + self.ts = None + self.etag = None class GremlinGraphGetResults(ARMResourceProperties): """An Azure Cosmos DB Gremlin graph. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -2746,19 +3518,21 @@ class GremlinGraphGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions """ _validation = { @@ -2778,67 +3552,53 @@ class GremlinGraphGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'GremlinGraphGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["GremlinGraphGetPropertiesResource"] = None, + options: Optional["GremlinGraphGetPropertiesOptions"] = None, + **kwargs + ): super(GremlinGraphGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class GremlinGraphResource(Model): - """Cosmos DB Gremlin graph resource object. +class GremlinGraphListResult(msrest.serialization.Model): + """The List operation response, that contains the graphs and their properties. - 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. Name of the Cosmos DB Gremlin graph - :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the graph - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - graph. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :ivar value: List of graphs and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, + 'value': {'key': 'value', 'type': '[GremlinGraphGetResults]'}, } - def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, **kwargs) -> None: - super(GremlinGraphResource, self).__init__(**kwargs) - self.id = id - self.indexing_policy = indexing_policy - self.partition_key = partition_key - self.default_ttl = default_ttl - self.unique_key_policy = unique_key_policy - self.conflict_resolution_policy = conflict_resolution_policy + def __init__( + self, + **kwargs + ): + super(GremlinGraphListResult, self).__init__(**kwargs) + self.value = None -class IncludedPath(Model): +class IncludedPath(msrest.serialization.Model): """The paths that are included in indexing. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str - :param indexes: List of indexes for this path + :param indexes: List of indexes for this path. :type indexes: list[~azure.mgmt.cosmosdb.models.Indexes] """ @@ -2847,23 +3607,29 @@ class IncludedPath(Model): 'indexes': {'key': 'indexes', 'type': '[Indexes]'}, } - def __init__(self, *, path: str=None, indexes=None, **kwargs) -> None: + def __init__( + self, + *, + path: Optional[str] = None, + indexes: Optional[List["Indexes"]] = None, + **kwargs + ): super(IncludedPath, self).__init__(**kwargs) self.path = path self.indexes = indexes -class Indexes(Model): +class Indexes(msrest.serialization.Model): """The indexes for the path. - :param data_type: The datatype for which the indexing behavior is applied - to. Possible values include: 'String', 'Number', 'Point', 'Polygon', - 'LineString', 'MultiPolygon'. Default value: "String" . + :param data_type: The datatype for which the indexing behavior is applied to. Possible values + include: "String", "Number", "Point", "Polygon", "LineString", "MultiPolygon". Default value: + "String". :type data_type: str or ~azure.mgmt.cosmosdb.models.DataType :param precision: The precision of the index. -1 is maximum precision. :type precision: int - :param kind: Indicates the type of index. Possible values include: 'Hash', - 'Range', 'Spatial'. Default value: "Hash" . + :param kind: Indicates the type of index. Possible values include: "Hash", "Range", "Spatial". + Default value: "Hash". :type kind: str or ~azure.mgmt.cosmosdb.models.IndexKind """ @@ -2873,29 +3639,35 @@ class Indexes(Model): 'kind': {'key': 'kind', 'type': 'str'}, } - def __init__(self, *, data_type="String", precision: int=None, kind="Hash", **kwargs) -> None: + def __init__( + self, + *, + data_type: Optional[Union[str, "DataType"]] = "String", + precision: Optional[int] = None, + kind: Optional[Union[str, "IndexKind"]] = "Hash", + **kwargs + ): super(Indexes, self).__init__(**kwargs) self.data_type = data_type self.precision = precision self.kind = kind -class IndexingPolicy(Model): +class IndexingPolicy(msrest.serialization.Model): """Cosmos DB indexing policy. - :param automatic: Indicates if the indexing policy is automatic + :param automatic: Indicates if the indexing policy is automatic. :type automatic: bool - :param indexing_mode: Indicates the indexing mode. Possible values - include: 'consistent', 'lazy', 'none'. Default value: "consistent" . + :param indexing_mode: Indicates the indexing mode. Possible values include: "consistent", + "lazy", "none". Default value: "consistent". :type indexing_mode: str or ~azure.mgmt.cosmosdb.models.IndexingMode - :param included_paths: List of paths to include in the indexing + :param included_paths: List of paths to include in the indexing. :type included_paths: list[~azure.mgmt.cosmosdb.models.IncludedPath] - :param excluded_paths: List of paths to exclude from indexing + :param excluded_paths: List of paths to exclude from indexing. :type excluded_paths: list[~azure.mgmt.cosmosdb.models.ExcludedPath] - :param composite_indexes: List of composite path list - :type composite_indexes: - list[list[~azure.mgmt.cosmosdb.models.CompositePath]] - :param spatial_indexes: List of spatial specifics + :param composite_indexes: List of composite path list. + :type composite_indexes: list[list[~azure.mgmt.cosmosdb.models.CompositePath]] + :param spatial_indexes: List of spatial specifics. :type spatial_indexes: list[~azure.mgmt.cosmosdb.models.SpatialSpec] """ @@ -2908,7 +3680,17 @@ class IndexingPolicy(Model): 'spatial_indexes': {'key': 'spatialIndexes', 'type': '[SpatialSpec]'}, } - def __init__(self, *, automatic: bool=None, indexing_mode="consistent", included_paths=None, excluded_paths=None, composite_indexes=None, spatial_indexes=None, **kwargs) -> None: + def __init__( + self, + *, + automatic: Optional[bool] = None, + indexing_mode: Optional[Union[str, "IndexingMode"]] = "consistent", + included_paths: Optional[List["IncludedPath"]] = None, + excluded_paths: Optional[List["ExcludedPath"]] = None, + composite_indexes: Optional[List[List["CompositePath"]]] = None, + spatial_indexes: Optional[List["SpatialSpec"]] = None, + **kwargs + ): super(IndexingPolicy, self).__init__(**kwargs) self.automatic = automatic self.indexing_mode = indexing_mode @@ -2918,14 +3700,13 @@ def __init__(self, *, automatic: bool=None, indexing_mode="consistent", included self.spatial_indexes = spatial_indexes -class IpAddressOrRange(Model): +class IpAddressOrRange(msrest.serialization.Model): """IpAddressOrRange object. - :param ip_address_or_range: A single IPv4 address or a single IPv4 address - range in CIDR format. Provided IPs must be well-formatted and cannot be - contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, - 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP - address filter. Example of valid inputs: “23.40.210.245” or + :param ip_address_or_range: A single IPv4 address or a single IPv4 address range in CIDR + format. Provided IPs must be well-formatted and cannot be contained in one of the following + ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not + enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”. :type ip_address_or_range: str """ @@ -2934,41 +3715,122 @@ class IpAddressOrRange(Model): 'ip_address_or_range': {'key': 'ipAddressOrRange', 'type': 'str'}, } - def __init__(self, *, ip_address_or_range: str=None, **kwargs) -> None: + def __init__( + self, + *, + ip_address_or_range: Optional[str] = None, + **kwargs + ): super(IpAddressOrRange, self).__init__(**kwargs) self.ip_address_or_range = ip_address_or_range -class Location(Model): +class ListBackups(msrest.serialization.Model): + """List of restorable backups for a Cassandra cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Container for array of backups. + :vartype value: list[~azure.mgmt.cosmosdb.models.BackupResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BackupResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListBackups, self).__init__(**kwargs) + self.value = None + + +class ListClusters(msrest.serialization.Model): + """List of managed Cassandra clusters. + + :param value: Container for the array of clusters. + :type value: list[~azure.mgmt.cosmosdb.models.ClusterResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ClusterResource]'}, + } + + def __init__( + self, + *, + value: Optional[List["ClusterResource"]] = None, + **kwargs + ): + super(ListClusters, self).__init__(**kwargs) + self.value = value + + +class ListDataCenters(msrest.serialization.Model): + """List of managed Cassandra data centers and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Container for array of data centers. + :vartype value: list[~azure.mgmt.cosmosdb.models.DataCenterResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataCenterResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListDataCenters, self).__init__(**kwargs) + self.value = None + + +class Location(msrest.serialization.Model): """A region in which the Azure Cosmos DB database account is deployed. - 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 id: The unique identifier of the region within the database account. - Example: <accountName>-<locationName>. + :ivar id: The unique identifier of the region within the database account. Example: + <accountName>-<locationName>. :vartype id: str :param location_name: The name of the region. :type location_name: str - :ivar document_endpoint: The connection endpoint for the specific region. - Example: - https://<accountName>-<locationName>.documents.azure.com:443/ + :ivar document_endpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/. :vartype document_endpoint: str - :param provisioning_state: - :type provisioning_state: str - :param failover_priority: The failover priority of the region. A failover - priority of 0 indicates a write region. The maximum value for a failover - priority = (total number of regions - 1). Failover priority values must be - unique for each of the regions in which the database account exists. + :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was + called. The status can be one of following. 'Creating' – the Cosmos DB account is being + created. When an account is in Creating state, only properties that are specified as input for + the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is + active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB + account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – + the Cosmos DB account deletion failed. + :vartype provisioning_state: str + :param failover_priority: The failover priority of the region. A failover priority of 0 + indicates a write region. The maximum value for a failover priority = (total number of regions + - 1). Failover priority values must be unique for each of the regions in which the database + account exists. :type failover_priority: int - :param is_zone_redundant: Flag to indicate whether or not this region is - an AvailabilityZone region + :param is_zone_redundant: Flag to indicate whether or not this region is an AvailabilityZone + region. :type is_zone_redundant: bool """ _validation = { 'id': {'readonly': True}, 'document_endpoint': {'readonly': True}, + 'provisioning_state': {'readonly': True}, 'failover_priority': {'minimum': 0}, } @@ -2981,111 +3843,194 @@ class Location(Model): 'is_zone_redundant': {'key': 'isZoneRedundant', 'type': 'bool'}, } - def __init__(self, *, location_name: str=None, provisioning_state: str=None, failover_priority: int=None, is_zone_redundant: bool=None, **kwargs) -> None: + def __init__( + self, + *, + location_name: Optional[str] = None, + failover_priority: Optional[int] = None, + is_zone_redundant: Optional[bool] = None, + **kwargs + ): super(Location, self).__init__(**kwargs) self.id = None self.location_name = location_name self.document_endpoint = None - self.provisioning_state = provisioning_state + self.provisioning_state = None self.failover_priority = failover_priority self.is_zone_redundant = is_zone_redundant -class ManagedServiceIdentity(Model): - """Identity for the resource. +class LocationGetResult(ARMProxyResource): + """Cosmos DB location get result. - 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 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 service. Possible values include: 'SystemAssigned', - 'UserAssigned', 'SystemAssigned,UserAssigned', 'None' - :type type: str or ~azure.mgmt.cosmosdb.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.cosmosdb.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + :ivar id: The unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :param properties: Cosmos DB location metadata. + :type properties: ~azure.mgmt.cosmosdb.models.LocationProperties """ _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'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}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'LocationProperties'}, } - 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 + def __init__( + self, + *, + properties: Optional["LocationProperties"] = None, + **kwargs + ): + super(LocationGetResult, self).__init__(**kwargs) + self.properties = properties -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. +class LocationListResult(msrest.serialization.Model): + """The List operation response, that contains Cosmos DB locations and their properties. - 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 principal_id: The principal id of user assigned identity. + :ivar value: List of Cosmos DB locations and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.LocationGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LocationGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocationListResult, self).__init__(**kwargs) + self.value = None + + +class LocationProperties(msrest.serialization.Model): + """Cosmos DB location metadata. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: The current status of location in Azure. + :vartype status: str + :ivar supports_availability_zone: Flag indicating whether the location supports availability + zones or not. + :vartype supports_availability_zone: bool + :ivar is_residency_restricted: Flag indicating whether the location is residency sensitive. + :vartype is_residency_restricted: bool + :ivar backup_storage_redundancies: The properties of available backup storage redundancies. + :vartype backup_storage_redundancies: list[str or + ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy] + """ + + _validation = { + 'status': {'readonly': True}, + 'supports_availability_zone': {'readonly': True}, + 'is_residency_restricted': {'readonly': True}, + 'backup_storage_redundancies': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'}, + 'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'}, + 'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocationProperties, self).__init__(**kwargs) + self.status = None + self.supports_availability_zone = None + self.is_residency_restricted = None + self.backup_storage_redundancies = None + + +class ManagedServiceIdentity(msrest.serialization.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 client_id: The client id of user assigned identity. - :vartype client_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 service. Possible values include: "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned", "None". + :type type: str or ~azure.mgmt.cosmosdb.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.cosmosdb.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties] """ _validation = { 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, } _attribute_map = { 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties}'}, } - def __init__(self, **kwargs) -> None: - super(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ): + super(ManagedServiceIdentity, self).__init__(**kwargs) self.principal_id = None - self.client_id = None + self.tenant_id = None + self.type = type + self.user_assigned_identities = user_assigned_identities -class Metric(Model): +class Metric(msrest.serialization.Model): """Metric data. - 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 start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: datetime + :vartype start_time: ~datetime.datetime :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: datetime - :ivar time_grain: The time grain to be used to summarize the metric - values. + :vartype end_time: ~datetime.datetime + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The metric values for the specified time window and - timestep. + :ivar metric_values: The metric values for the specified time window and timestep. :vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue] """ @@ -3093,6 +4038,7 @@ class Metric(Model): 'start_time': {'readonly': True}, 'end_time': {'readonly': True}, 'time_grain': {'readonly': True}, + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'metric_values': {'readonly': True}, } @@ -3106,24 +4052,25 @@ class Metric(Model): 'metric_values': {'key': 'metricValues', 'type': '[MetricValue]'}, } - def __init__(self, *, unit=None, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(Metric, self).__init__(**kwargs) self.start_time = None self.end_time = None self.time_grain = None - self.unit = unit + self.unit = None self.name = None self.metric_values = None -class MetricAvailability(Model): +class MetricAvailability(msrest.serialization.Model): """The availability of the metric. - 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 time_grain: The time grain to be used to summarize the metric - values. + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str :ivar retention: The retention for the metric values. :vartype retention: str @@ -3139,31 +4086,28 @@ class MetricAvailability(Model): 'retention': {'key': 'retention', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(MetricAvailability, self).__init__(**kwargs) self.time_grain = None self.retention = None -class MetricDefinition(Model): +class MetricDefinition(msrest.serialization.Model): """The definition of a metric. - 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 metric_availabilities: The list of metric availabilities for the - account. - :vartype metric_availabilities: - list[~azure.mgmt.cosmosdb.models.MetricAvailability] - :ivar primary_aggregation_type: The primary aggregation type of the - metric. Possible values include: 'None', 'Average', 'Total', 'Minimum', - 'Maximum', 'Last' - :vartype primary_aggregation_type: str or - ~azure.mgmt.cosmosdb.models.PrimaryAggregationType - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar metric_availabilities: The list of metric availabilities for the account. + :vartype metric_availabilities: list[~azure.mgmt.cosmosdb.models.MetricAvailability] + :ivar primary_aggregation_type: The primary aggregation type of the metric. Possible values + include: "None", "Average", "Total", "Minimum", "Maximum", "Last". + :vartype primary_aggregation_type: str or ~azure.mgmt.cosmosdb.models.PrimaryAggregationType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar resource_uri: The resource uri of the database. :vartype resource_uri: str :ivar name: The name information for the metric. @@ -3173,6 +4117,7 @@ class MetricDefinition(Model): _validation = { 'metric_availabilities': {'readonly': True}, 'primary_aggregation_type': {'readonly': True}, + 'unit': {'readonly': True}, 'resource_uri': {'readonly': True}, 'name': {'readonly': True}, } @@ -3185,20 +4130,72 @@ class MetricDefinition(Model): 'name': {'key': 'name', 'type': 'MetricName'}, } - def __init__(self, *, unit=None, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(MetricDefinition, self).__init__(**kwargs) self.metric_availabilities = None self.primary_aggregation_type = None - self.unit = unit + self.unit = None self.resource_uri = None self.name = None -class MetricName(Model): +class MetricDefinitionsListResult(msrest.serialization.Model): + """The response to a list metric definitions request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of metric definitions for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.MetricDefinition] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MetricDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(MetricDefinitionsListResult, self).__init__(**kwargs) + self.value = None + + +class MetricListResult(msrest.serialization.Model): + """The response to a list metrics request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of metrics for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.Metric] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Metric]'}, + } + + def __init__( + self, + **kwargs + ): + super(MetricListResult, self).__init__(**kwargs) + self.value = None + + +class MetricName(msrest.serialization.Model): """A metric name. - 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 value: The name of the metric. :vartype value: str @@ -3216,20 +4213,22 @@ class MetricName(Model): 'localized_value': {'key': 'localizedValue', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(MetricName, self).__init__(**kwargs) self.value = None self.localized_value = None -class MetricValue(Model): +class MetricValue(msrest.serialization.Model): """Represents metrics values. - 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 _count: The number of values for the metric. - :vartype _count: float + :ivar count: The number of values for the metric. + :vartype count: int :ivar average: The average value of the metric. :vartype average: float :ivar maximum: The max value of the metric. @@ -3237,13 +4236,13 @@ class MetricValue(Model): :ivar minimum: The min value of the metric. :vartype minimum: float :ivar timestamp: The metric timestamp (ISO-8601 format). - :vartype timestamp: datetime + :vartype timestamp: ~datetime.datetime :ivar total: The total value of the metric. :vartype total: float """ _validation = { - '_count': {'readonly': True}, + 'count': {'readonly': True}, 'average': {'readonly': True}, 'maximum': {'readonly': True}, 'minimum': {'readonly': True}, @@ -3252,7 +4251,7 @@ class MetricValue(Model): } _attribute_map = { - '_count': {'key': '_count', 'type': 'float'}, + 'count': {'key': '_count', 'type': 'int'}, 'average': {'key': 'average', 'type': 'float'}, 'maximum': {'key': 'maximum', 'type': 'float'}, 'minimum': {'key': 'minimum', 'type': 'float'}, @@ -3260,9 +4259,12 @@ class MetricValue(Model): 'total': {'key': 'total', 'type': 'float'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(MetricValue, self).__init__(**kwargs) - self._count = None + self.count = None self.average = None self.maximum = None self.minimum = None @@ -3273,8 +4275,7 @@ def __init__(self, **kwargs) -> None: class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB MongoDB collection. - 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. @@ -3284,18 +4285,21 @@ class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a MongoDB - collection + :param resource: Required. The standard JSON format of a MongoDB collection. :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -3317,7 +4321,16 @@ class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "MongoDBCollectionResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(MongoDBCollectionCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -3326,9 +4339,8 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class MongoDBCollectionGetPropertiesOptions(OptionsResource): """MongoDBCollectionGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -3339,42 +4351,33 @@ class MongoDBCollectionGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(MongoDBCollectionGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class MongoDBCollectionGetPropertiesResource(Model): - """MongoDBCollectionGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class MongoDBCollectionResource(msrest.serialization.Model): + """Cosmos DB MongoDB collection resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB MongoDB collection + :param id: Required. Name of the Cosmos DB MongoDB collection. :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the - request. + :param shard_key: A key-value pair of shard keys to be applied for the request. :type shard_key: dict[str, str] - :param indexes: List of index keys + :param indexes: List of index keys. :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: int - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { @@ -3382,27 +4385,88 @@ class MongoDBCollectionGetPropertiesResource(Model): 'shard_key': {'key': 'shardKey', 'type': '{str}'}, 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, shard_key=None, indexes=None, analytical_storage_ttl: int=None, **kwargs) -> None: - super(MongoDBCollectionGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + shard_key: Optional[Dict[str, str]] = None, + indexes: Optional[List["MongoIndex"]] = None, + analytical_storage_ttl: Optional[int] = None, + **kwargs + ): + super(MongoDBCollectionResource, self).__init__(**kwargs) self.id = id self.shard_key = shard_key self.indexes = indexes self.analytical_storage_ttl = analytical_storage_ttl - self._rid = None - self._ts = None - self._etag = None + + +class MongoDBCollectionGetPropertiesResource(ExtendedResourceProperties, MongoDBCollectionResource): + """MongoDBCollectionGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB MongoDB collection. + :type id: str + :param shard_key: A key-value pair of shard keys to be applied for the request. + :type shard_key: dict[str, str] + :param indexes: List of index keys. + :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] + :param analytical_storage_ttl: Analytical TTL. + :type analytical_storage_ttl: int + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'shard_key': {'key': 'shardKey', 'type': '{str}'}, + 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, + 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + shard_key: Optional[Dict[str, str]] = None, + indexes: Optional[List["MongoIndex"]] = None, + analytical_storage_ttl: Optional[int] = None, + **kwargs + ): + super(MongoDBCollectionGetPropertiesResource, self).__init__(id=id, shard_key=shard_key, indexes=indexes, analytical_storage_ttl=analytical_storage_ttl, **kwargs) + self.id = id + self.shard_key = shard_key + self.indexes = indexes + self.analytical_storage_ttl = analytical_storage_ttl + self.rid = None + self.ts = None + self.etag = None class MongoDBCollectionGetResults(ARMResourceProperties): """An Azure Cosmos DB MongoDB collection. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -3410,19 +4474,21 @@ class MongoDBCollectionGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions """ _validation = { @@ -3442,52 +4508,50 @@ class MongoDBCollectionGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'MongoDBCollectionGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["MongoDBCollectionGetPropertiesResource"] = None, + options: Optional["MongoDBCollectionGetPropertiesOptions"] = None, + **kwargs + ): super(MongoDBCollectionGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class MongoDBCollectionResource(Model): - """Cosmos DB MongoDB collection resource object. +class MongoDBCollectionListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB collections and their properties. - 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. Name of the Cosmos DB MongoDB collection - :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the - request. - :type shard_key: dict[str, str] - :param indexes: List of index keys - :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar value: List of MongoDB collections and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'shard_key': {'key': 'shardKey', 'type': '{str}'}, - 'indexes': {'key': 'indexes', 'type': '[MongoIndex]'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'int'}, + 'value': {'key': 'value', 'type': '[MongoDBCollectionGetResults]'}, } - def __init__(self, *, id: str, shard_key=None, indexes=None, analytical_storage_ttl: int=None, **kwargs) -> None: - super(MongoDBCollectionResource, self).__init__(**kwargs) - self.id = id - self.shard_key = shard_key - self.indexes = indexes - self.analytical_storage_ttl = analytical_storage_ttl + def __init__( + self, + **kwargs + ): + super(MongoDBCollectionListResult, self).__init__(**kwargs) + self.value = None class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB MongoDB database. - 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. @@ -3497,17 +4561,21 @@ class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a MongoDB database + :param resource: Required. The standard JSON format of a MongoDB database. :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -3529,7 +4597,16 @@ class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "MongoDBDatabaseResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(MongoDBDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -3538,70 +4615,104 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class MongoDBDatabaseGetPropertiesOptions(OptionsResource): """MongoDBDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, + 'throughput': {'key': 'throughput', 'type': 'int'}, + 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, + } + + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): + super(MongoDBDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) + + +class MongoDBDatabaseResource(msrest.serialization.Model): + """Cosmos DB MongoDB database resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB MongoDB database. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: - super(MongoDBDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) + def __init__( + self, + *, + id: str, + **kwargs + ): + super(MongoDBDatabaseResource, self).__init__(**kwargs) + self.id = id -class MongoDBDatabaseGetPropertiesResource(Model): +class MongoDBDatabaseGetPropertiesResource(ExtendedResourceProperties, MongoDBDatabaseResource): """MongoDBDatabaseGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB MongoDB database + :param id: Required. Name of the Cosmos DB MongoDB database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__(self, *, id: str, **kwargs) -> None: - super(MongoDBDatabaseGetPropertiesResource, self).__init__(**kwargs) + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + **kwargs + ): + super(MongoDBDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class MongoDBDatabaseGetResults(ARMResourceProperties): """An Azure Cosmos DB MongoDB database. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -3609,19 +4720,21 @@ class MongoDBDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions """ _validation = { @@ -3641,40 +4754,52 @@ class MongoDBDatabaseGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'MongoDBDatabaseGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["MongoDBDatabaseGetPropertiesResource"] = None, + options: Optional["MongoDBDatabaseGetPropertiesOptions"] = None, + **kwargs + ): super(MongoDBDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class MongoDBDatabaseResource(Model): - """Cosmos DB MongoDB database resource object. +class MongoDBDatabaseListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB databases and their properties. - 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. Name of the Cosmos DB MongoDB database - :type id: str + :ivar value: List of MongoDB databases and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[MongoDBDatabaseGetResults]'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(MongoDBDatabaseResource, self).__init__(**kwargs) - self.id = id + def __init__( + self, + **kwargs + ): + super(MongoDBDatabaseListResult, self).__init__(**kwargs) + self.value = None -class MongoIndex(Model): +class MongoIndex(msrest.serialization.Model): """Cosmos DB MongoDB collection index key. - :param key: Cosmos DB MongoDB collection index keys + :param key: Cosmos DB MongoDB collection index keys. :type key: ~azure.mgmt.cosmosdb.models.MongoIndexKeys - :param options: Cosmos DB MongoDB collection index key options + :param options: Cosmos DB MongoDB collection index key options. :type options: ~azure.mgmt.cosmosdb.models.MongoIndexOptions """ @@ -3683,17 +4808,22 @@ class MongoIndex(Model): 'options': {'key': 'options', 'type': 'MongoIndexOptions'}, } - def __init__(self, *, key=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + key: Optional["MongoIndexKeys"] = None, + options: Optional["MongoIndexOptions"] = None, + **kwargs + ): super(MongoIndex, self).__init__(**kwargs) self.key = key self.options = options -class MongoIndexKeys(Model): +class MongoIndexKeys(msrest.serialization.Model): """Cosmos DB MongoDB collection resource object. - :param keys: List of keys for each MongoDB collection in the Azure Cosmos - DB service + :param keys: List of keys for each MongoDB collection in the Azure Cosmos DB service. :type keys: list[str] """ @@ -3701,17 +4831,22 @@ class MongoIndexKeys(Model): 'keys': {'key': 'keys', 'type': '[str]'}, } - def __init__(self, *, keys=None, **kwargs) -> None: + def __init__( + self, + *, + keys: Optional[List[str]] = None, + **kwargs + ): super(MongoIndexKeys, self).__init__(**kwargs) self.keys = keys -class MongoIndexOptions(Model): +class MongoIndexOptions(msrest.serialization.Model): """Cosmos DB MongoDB collection index options. - :param expire_after_seconds: Expire after seconds + :param expire_after_seconds: Expire after seconds. :type expire_after_seconds: int - :param unique: Is unique or not + :param unique: Is unique or not. :type unique: bool """ @@ -3720,7 +4855,13 @@ class MongoIndexOptions(Model): 'unique': {'key': 'unique', 'type': 'bool'}, } - def __init__(self, *, expire_after_seconds: int=None, unique: bool=None, **kwargs) -> None: + def __init__( + self, + *, + expire_after_seconds: Optional[int] = None, + unique: Optional[bool] = None, + **kwargs + ): super(MongoIndexOptions, self).__init__(**kwargs) self.expire_after_seconds = expire_after_seconds self.unique = unique @@ -3729,8 +4870,7 @@ def __init__(self, *, expire_after_seconds: int=None, unique: bool=None, **kwarg class NotebookWorkspace(ARMProxyResource): """A notebook workspace resource. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -3740,8 +4880,8 @@ class NotebookWorkspace(ARMProxyResource): :vartype type: str :ivar notebook_server_endpoint: Specifies the endpoint of Notebook server. :vartype notebook_server_endpoint: str - :ivar status: Status of the notebook workspace. Possible values are: - Creating, Online, Deleting, Failed, Updating. + :ivar status: Status of the notebook workspace. Possible values are: Creating, Online, + Deleting, Failed, Updating. :vartype status: str """ @@ -3761,20 +4901,22 @@ class NotebookWorkspace(ARMProxyResource): 'status': {'key': 'properties.status', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(NotebookWorkspace, self).__init__(**kwargs) self.notebook_server_endpoint = None self.status = None -class NotebookWorkspaceConnectionInfoResult(Model): +class NotebookWorkspaceConnectionInfoResult(msrest.serialization.Model): """The connection info for the given notebook workspace. - 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 auth_token: Specifies auth token used for connecting to Notebook - server (uses token-based auth). + :ivar auth_token: Specifies auth token used for connecting to Notebook server (uses token-based + auth). :vartype auth_token: str :ivar notebook_server_endpoint: Specifies the endpoint of Notebook server. :vartype notebook_server_endpoint: str @@ -3790,7 +4932,10 @@ class NotebookWorkspaceConnectionInfoResult(Model): 'notebook_server_endpoint': {'key': 'notebookServerEndpoint', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(NotebookWorkspaceConnectionInfoResult, self).__init__(**kwargs) self.auth_token = None self.notebook_server_endpoint = None @@ -3799,8 +4944,7 @@ def __init__(self, **kwargs) -> None: class NotebookWorkspaceCreateUpdateParameters(ARMProxyResource): """Parameters to create a notebook workspace resource. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -3822,14 +4966,38 @@ class NotebookWorkspaceCreateUpdateParameters(ARMProxyResource): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(NotebookWorkspaceCreateUpdateParameters, self).__init__(**kwargs) -class Operation(Model): +class NotebookWorkspaceListResult(msrest.serialization.Model): + """A list of notebook workspace resources. + + :param value: Array of notebook workspace resources. + :type value: list[~azure.mgmt.cosmosdb.models.NotebookWorkspace] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[NotebookWorkspace]'}, + } + + def __init__( + self, + *, + value: Optional[List["NotebookWorkspace"]] = None, + **kwargs + ): + super(NotebookWorkspaceListResult, self).__init__(**kwargs) + self.value = value + + +class Operation(msrest.serialization.Model): """REST API operation. - :param name: Operation name: {provider}/{resource}/{operation} + :param name: Operation name: {provider}/{resource}/{operation}. :type name: str :param display: The object that represents the operation. :type display: ~azure.mgmt.cosmosdb.models.OperationDisplay @@ -3840,23 +5008,28 @@ class Operation(Model): 'display': {'key': 'display', 'type': 'OperationDisplay'}, } - def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["OperationDisplay"] = None, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = name self.display = display -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """The object that represents the operation. - :param provider: Service provider: Microsoft.ResourceProvider + :param provider: Service provider: Microsoft.ResourceProvider. :type provider: str - :param resource: Resource on which the operation is performed: Profile, - endpoint, etc. + :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: Description of operation + :param description: Description of operation. :type description: str """ @@ -3867,7 +5040,15 @@ class OperationDisplay(Model): 'description': {'key': 'Description', 'type': 'str'}, } - def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + 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 @@ -3875,33 +5056,54 @@ def __init__(self, *, provider: str=None, resource: str=None, operation: str=Non self.description = description +class OperationListResult(msrest.serialization.Model): + """Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results. + + :param value: List of operations supported by the Resource Provider. + :type value: list[~azure.mgmt.cosmosdb.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 PartitionMetric(Metric): """The metric values for a single partition. - 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 start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: datetime + :vartype start_time: ~datetime.datetime :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: datetime - :ivar time_grain: The time grain to be used to summarize the metric - values. + :vartype end_time: ~datetime.datetime + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The metric values for the specified time window and - timestep. + :ivar metric_values: The metric values for the specified time window and timestep. :vartype metric_values: list[~azure.mgmt.cosmosdb.models.MetricValue] - :ivar partition_id: The partition id (GUID identifier) of the metric - values. + :ivar partition_id: The partition id (GUID identifier) of the metric values. :vartype partition_id: str - :ivar partition_key_range_id: The partition key range id (integer - identifier) of the metric values. + :ivar partition_key_range_id: The partition key range id (integer identifier) of the metric + values. :vartype partition_key_range_id: str """ @@ -3909,6 +5111,7 @@ class PartitionMetric(Metric): 'start_time': {'readonly': True}, 'end_time': {'readonly': True}, 'time_grain': {'readonly': True}, + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'metric_values': {'readonly': True}, 'partition_id': {'readonly': True}, @@ -3926,33 +5129,60 @@ class PartitionMetric(Metric): 'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'}, } - def __init__(self, *, unit=None, **kwargs) -> None: - super(PartitionMetric, self).__init__(unit=unit, **kwargs) + def __init__( + self, + **kwargs + ): + super(PartitionMetric, self).__init__(**kwargs) self.partition_id = None self.partition_key_range_id = None -class Usage(Model): +class PartitionMetricListResult(msrest.serialization.Model): + """The response to a list partition metrics request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of partition-level metrics for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.PartitionMetric] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PartitionMetric]'}, + } + + def __init__( + self, + **kwargs + ): + super(PartitionMetricListResult, self).__init__(**kwargs) + self.value = None + + +class Usage(msrest.serialization.Model): """The usage data for a usage request. - 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 unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName :ivar quota_period: The quota period used to summarize the usage values. :vartype quota_period: str - :ivar limit: Maximum value for this metric + :ivar limit: Maximum value for this metric. :vartype limit: long - :ivar current_value: Current value for this metric + :ivar current_value: Current value for this metric. :vartype current_value: long """ _validation = { + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'quota_period': {'readonly': True}, 'limit': {'readonly': True}, @@ -3967,9 +5197,12 @@ class Usage(Model): 'current_value': {'key': 'currentValue', 'type': 'long'}, } - def __init__(self, *, unit=None, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(Usage, self).__init__(**kwargs) - self.unit = unit + self.unit = None self.name = None self.quota_period = None self.limit = None @@ -3979,29 +5212,27 @@ def __init__(self, *, unit=None, **kwargs) -> None: class PartitionUsage(Usage): """The partition level usage data for a usage request. - 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 unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName :ivar quota_period: The quota period used to summarize the usage values. :vartype quota_period: str - :ivar limit: Maximum value for this metric + :ivar limit: Maximum value for this metric. :vartype limit: long - :ivar current_value: Current value for this metric + :ivar current_value: Current value for this metric. :vartype current_value: long :ivar partition_id: The partition id (GUID identifier) of the usages. :vartype partition_id: str - :ivar partition_key_range_id: The partition key range id (integer - identifier) of the usages. + :ivar partition_key_range_id: The partition key range id (integer identifier) of the usages. :vartype partition_key_range_id: str """ _validation = { + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'quota_period': {'readonly': True}, 'limit': {'readonly': True}, @@ -4020,41 +5251,66 @@ class PartitionUsage(Usage): 'partition_key_range_id': {'key': 'partitionKeyRangeId', 'type': 'str'}, } - def __init__(self, *, unit=None, **kwargs) -> None: - super(PartitionUsage, self).__init__(unit=unit, **kwargs) + def __init__( + self, + **kwargs + ): + super(PartitionUsage, self).__init__(**kwargs) self.partition_id = None self.partition_key_range_id = None -class PercentileMetric(Model): +class PartitionUsagesResult(msrest.serialization.Model): + """The response to a list partition level usage request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of partition-level usages for the database. A usage is a point in time + metric. + :vartype value: list[~azure.mgmt.cosmosdb.models.PartitionUsage] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PartitionUsage]'}, + } + + def __init__( + self, + **kwargs + ): + super(PartitionUsagesResult, self).__init__(**kwargs) + self.value = None + + +class PercentileMetric(msrest.serialization.Model): """Percentile Metric data. - 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 start_time: The start time for the metric (ISO-8601 format). - :vartype start_time: datetime + :vartype start_time: ~datetime.datetime :ivar end_time: The end time for the metric (ISO-8601 format). - :vartype end_time: datetime - :ivar time_grain: The time grain to be used to summarize the metric - values. + :vartype end_time: ~datetime.datetime + :ivar time_grain: The time grain to be used to summarize the metric values. :vartype time_grain: str - :param unit: The unit of the metric. Possible values include: 'Count', - 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', - 'Milliseconds' - :type unit: str or ~azure.mgmt.cosmosdb.models.UnitType + :ivar unit: The unit of the metric. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountPerSecond", "BytesPerSecond", "Milliseconds". + :vartype unit: str or ~azure.mgmt.cosmosdb.models.UnitType :ivar name: The name information for the metric. :vartype name: ~azure.mgmt.cosmosdb.models.MetricName - :ivar metric_values: The percentile metric values for the specified time - window and timestep. - :vartype metric_values: - list[~azure.mgmt.cosmosdb.models.PercentileMetricValue] + :ivar metric_values: The percentile metric values for the specified time window and timestep. + :vartype metric_values: list[~azure.mgmt.cosmosdb.models.PercentileMetricValue] """ _validation = { 'start_time': {'readonly': True}, 'end_time': {'readonly': True}, 'time_grain': {'readonly': True}, + 'unit': {'readonly': True}, 'name': {'readonly': True}, 'metric_values': {'readonly': True}, } @@ -4068,24 +5324,51 @@ class PercentileMetric(Model): 'metric_values': {'key': 'metricValues', 'type': '[PercentileMetricValue]'}, } - def __init__(self, *, unit=None, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(PercentileMetric, self).__init__(**kwargs) self.start_time = None self.end_time = None self.time_grain = None - self.unit = unit + self.unit = None self.name = None self.metric_values = None +class PercentileMetricListResult(msrest.serialization.Model): + """The response to a list percentile metrics request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of percentile metrics for the account. + :vartype value: list[~azure.mgmt.cosmosdb.models.PercentileMetric] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PercentileMetric]'}, + } + + def __init__( + self, + **kwargs + ): + super(PercentileMetricListResult, self).__init__(**kwargs) + self.value = None + + class PercentileMetricValue(MetricValue): """Represents percentile metrics values. - 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 _count: The number of values for the metric. - :vartype _count: float + :ivar count: The number of values for the metric. + :vartype count: int :ivar average: The average value of the metric. :vartype average: float :ivar maximum: The max value of the metric. @@ -4093,7 +5376,7 @@ class PercentileMetricValue(MetricValue): :ivar minimum: The min value of the metric. :vartype minimum: float :ivar timestamp: The metric timestamp (ISO-8601 format). - :vartype timestamp: datetime + :vartype timestamp: ~datetime.datetime :ivar total: The total value of the metric. :vartype total: float :ivar p10: The 10th percentile value for the metric. @@ -4113,7 +5396,7 @@ class PercentileMetricValue(MetricValue): """ _validation = { - '_count': {'readonly': True}, + 'count': {'readonly': True}, 'average': {'readonly': True}, 'maximum': {'readonly': True}, 'minimum': {'readonly': True}, @@ -4129,7 +5412,7 @@ class PercentileMetricValue(MetricValue): } _attribute_map = { - '_count': {'key': '_count', 'type': 'float'}, + 'count': {'key': '_count', 'type': 'int'}, 'average': {'key': 'average', 'type': 'float'}, 'maximum': {'key': 'maximum', 'type': 'float'}, 'minimum': {'key': 'minimum', 'type': 'float'}, @@ -4144,7 +5427,10 @@ class PercentileMetricValue(MetricValue): 'p99': {'key': 'P99', 'type': 'float'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(PercentileMetricValue, self).__init__(**kwargs) self.p10 = None self.p25 = None @@ -4160,12 +5446,11 @@ class PeriodicModeBackupPolicy(BackupPolicy): All required parameters must be populated in order to send to Azure. - :param type: Required. Constant filled by server. - :type type: str - :param periodic_mode_properties: Configuration values for periodic mode - backup - :type periodic_mode_properties: - ~azure.mgmt.cosmosdb.models.PeriodicModeProperties + :param type: Required. Describes the mode of backups.Constant filled by server. Possible + values include: "Periodic", "Continuous". + :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType + :param periodic_mode_properties: Configuration values for periodic mode backup. + :type periodic_mode_properties: ~azure.mgmt.cosmosdb.models.PeriodicModeProperties """ _validation = { @@ -4177,25 +5462,29 @@ class PeriodicModeBackupPolicy(BackupPolicy): 'periodic_mode_properties': {'key': 'periodicModeProperties', 'type': 'PeriodicModeProperties'}, } - def __init__(self, *, periodic_mode_properties=None, **kwargs) -> None: + def __init__( + self, + *, + periodic_mode_properties: Optional["PeriodicModeProperties"] = None, + **kwargs + ): super(PeriodicModeBackupPolicy, self).__init__(**kwargs) + self.type = 'Periodic' # type: str self.periodic_mode_properties = periodic_mode_properties - self.type = 'Periodic' -class PeriodicModeProperties(Model): +class PeriodicModeProperties(msrest.serialization.Model): """Configuration values for periodic mode backup. - :param backup_interval_in_minutes: An integer representing the interval in - minutes between two backups + :param backup_interval_in_minutes: An integer representing the interval in minutes between two + backups. :type backup_interval_in_minutes: int - :param backup_retention_interval_in_hours: An integer representing the - time (in hours) that each backup is retained + :param backup_retention_interval_in_hours: An integer representing the time (in hours) that + each backup is retained. :type backup_retention_interval_in_hours: int - :param backup_storage_redundancy: Enum to indicate type of backup - residency. Possible values include: 'Geo', 'Local', 'Zone' - :type backup_storage_redundancy: str or - ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy + :param backup_storage_redundancy: Enum to indicate type of backup residency. Possible values + include: "Geo", "Local", "Zone". + :type backup_storage_redundancy: str or ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy """ _validation = { @@ -4209,14 +5498,21 @@ class PeriodicModeProperties(Model): 'backup_storage_redundancy': {'key': 'backupStorageRedundancy', 'type': 'str'}, } - def __init__(self, *, backup_interval_in_minutes: int=None, backup_retention_interval_in_hours: int=None, backup_storage_redundancy=None, **kwargs) -> None: + def __init__( + self, + *, + backup_interval_in_minutes: Optional[int] = None, + backup_retention_interval_in_hours: Optional[int] = None, + backup_storage_redundancy: Optional[Union[str, "BackupStorageRedundancy"]] = None, + **kwargs + ): super(PeriodicModeProperties, self).__init__(**kwargs) self.backup_interval_in_minutes = backup_interval_in_minutes self.backup_retention_interval_in_hours = backup_retention_interval_in_hours self.backup_storage_redundancy = backup_storage_redundancy -class Permission(Model): +class Permission(msrest.serialization.Model): """The set of data plane operations permitted through this Role Definition. :param data_actions: An array of data actions that are allowed. @@ -4230,28 +5526,67 @@ class Permission(Model): 'not_data_actions': {'key': 'notDataActions', 'type': '[str]'}, } - def __init__(self, *, data_actions=None, not_data_actions=None, **kwargs) -> None: + def __init__( + self, + *, + data_actions: Optional[List[str]] = None, + not_data_actions: Optional[List[str]] = None, + **kwargs + ): super(Permission, self).__init__(**kwargs) self.data_actions = data_actions self.not_data_actions = not_data_actions -class ProxyResource(Resource): - """Proxy Resource. +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. E.g. "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 - The resource model definition for a Azure Resource Manager proxy resource. - It will not have tags and a location. - Variables are only populated by the server, and will be ignored when - sending a request. +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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} + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str - :ivar name: The name of the resource + :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str """ @@ -4267,29 +5602,30 @@ class ProxyResource(Resource): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ProxyResource, self).__init__(**kwargs) class PrivateEndpointConnection(ProxyResource): """A private endpoint 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. :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str - :ivar name: The name of the resource + :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param private_endpoint: Private endpoint which the connection belongs to. - :type private_endpoint: - ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty - :param private_link_service_connection_state: Connection State of the - Private Endpoint Connection. + :type private_endpoint: ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty + :param private_link_service_connection_state: Connection State of the Private Endpoint + Connection. :type private_link_service_connection_state: ~azure.mgmt.cosmosdb.models.PrivateLinkServiceConnectionStateProperty :param group_id: Group id of the private endpoint. @@ -4314,7 +5650,15 @@ class PrivateEndpointConnection(ProxyResource): 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } - def __init__(self, *, private_endpoint=None, private_link_service_connection_state=None, group_id: str=None, provisioning_state: str=None, **kwargs) -> None: + def __init__( + self, + *, + private_endpoint: Optional["PrivateEndpointProperty"] = None, + private_link_service_connection_state: Optional["PrivateLinkServiceConnectionStateProperty"] = None, + group_id: Optional[str] = None, + provisioning_state: Optional[str] = None, + **kwargs + ): super(PrivateEndpointConnection, self).__init__(**kwargs) self.private_endpoint = private_endpoint self.private_link_service_connection_state = private_link_service_connection_state @@ -4322,7 +5666,28 @@ def __init__(self, *, private_endpoint=None, private_link_service_connection_sta self.provisioning_state = provisioning_state -class PrivateEndpointProperty(Model): +class PrivateEndpointConnectionListResult(msrest.serialization.Model): + """A list of private endpoint connections. + + :param value: Array of private endpoint connections. + :type value: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__( + self, + *, + value: Optional[List["PrivateEndpointConnection"]] = None, + **kwargs + ): + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateEndpointProperty(msrest.serialization.Model): """Private endpoint which the connection belongs to. :param id: Resource id of the private endpoint. @@ -4333,7 +5698,12 @@ class PrivateEndpointProperty(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, *, id: str=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): super(PrivateEndpointProperty, self).__init__(**kwargs) self.id = id @@ -4341,8 +5711,7 @@ def __init__(self, *, id: str=None, **kwargs) -> None: class PrivateLinkResource(ARMProxyResource): """A private link resource. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -4376,25 +5745,48 @@ class PrivateLinkResource(ARMProxyResource): 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(PrivateLinkResource, self).__init__(**kwargs) self.group_id = None self.required_members = None self.required_zone_names = None -class PrivateLinkServiceConnectionStateProperty(Model): +class PrivateLinkResourceListResult(msrest.serialization.Model): + """A list of private link resources. + + :param value: Array of private link resources. + :type value: list[~azure.mgmt.cosmosdb.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__( + self, + *, + value: Optional[List["PrivateLinkResource"]] = None, + **kwargs + ): + super(PrivateLinkResourceListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): """Connection State of the Private Endpoint 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 status: The private link service connection status. :type status: str :param description: The private link service connection description. :type description: str - :ivar actions_required: Any action that is required beyond basic workflow - (approve/ reject/ disconnect) + :ivar actions_required: Any action that is required beyond basic workflow (approve/ reject/ + disconnect). :vartype actions_required: str """ @@ -4408,20 +5800,25 @@ class PrivateLinkServiceConnectionStateProperty(Model): 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, } - def __init__(self, *, status: str=None, description: str=None, **kwargs) -> None: + def __init__( + self, + *, + status: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) self.status = status self.description = description self.actions_required = None -class RegionForOnlineOffline(Model): +class RegionForOnlineOffline(msrest.serialization.Model): """Cosmos DB region to online or offline. All required parameters must be populated in order to send to Azure. - :param region: Required. Cosmos DB region, with spaces between words and - each word capitalized. + :param region: Required. Cosmos DB region, with spaces between words and each word capitalized. :type region: str """ @@ -4433,21 +5830,25 @@ class RegionForOnlineOffline(Model): 'region': {'key': 'region', 'type': 'str'}, } - def __init__(self, *, region: str, **kwargs) -> None: + def __init__( + self, + *, + region: str, + **kwargs + ): super(RegionForOnlineOffline, self).__init__(**kwargs) self.region = region -class RepairPostBody(Model): +class RepairPostBody(msrest.serialization.Model): """Specification of the keyspaces and tables to run repair on. All required parameters must be populated in order to send to Azure. - :param keyspace: Required. The name of the keyspace that repair should be - run on. + :param keyspace: Required. The name of the keyspace that repair should be run on. :type keyspace: str - :param tables: List of tables in the keyspace to repair. If omitted, - repair all tables in the keyspace. + :param tables: List of tables in the keyspace to repair. If omitted, repair all tables in the + keyspace. :type tables: list[str] """ @@ -4460,95 +5861,128 @@ class RepairPostBody(Model): 'tables': {'key': 'tables', 'type': '[str]'}, } - def __init__(self, *, keyspace: str, tables=None, **kwargs) -> None: + def __init__( + self, + *, + keyspace: str, + tables: Optional[List[str]] = None, + **kwargs + ): super(RepairPostBody, self).__init__(**kwargs) self.keyspace = keyspace self.tables = tables -class RestorableDatabaseAccountGetResult(Model): +class RestorableDatabaseAccountGetResult(msrest.serialization.Model): """A Azure Cosmos DB restorable database account. - 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 account_name: The name of the global database account - :type account_name: str - :param creation_time: The creation time of the restorable database account - (ISO-8601 format). - :type creation_time: datetime - :param deletion_time: The time at which the restorable database account - has been deleted (ISO-8601 format). - :type deletion_time: datetime - :ivar api_type: The API type of the restorable database account. Possible - values include: 'MongoDB', 'Gremlin', 'Cassandra', 'Table', 'Sql', - 'GremlinV2' - :vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType - :ivar restorable_locations: List of regions where the of the database - account can be restored from. - :vartype restorable_locations: - list[~azure.mgmt.cosmosdb.models.RestorableLocationResource] :ivar id: The unique resource identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str + :param account_name: The name of the global database account. + :type account_name: str + :param creation_time: The creation time of the restorable database account (ISO-8601 format). + :type creation_time: ~datetime.datetime + :param deletion_time: The time at which the restorable database account has been deleted + (ISO-8601 format). + :type deletion_time: ~datetime.datetime + :ivar api_type: The API type of the restorable database account. Possible values include: + "MongoDB", "Gremlin", "Cassandra", "Table", "Sql", "GremlinV2". + :vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType + :ivar restorable_locations: List of regions where the of the database account can be restored + from. + :vartype restorable_locations: list[~azure.mgmt.cosmosdb.models.RestorableLocationResource] """ _validation = { - 'api_type': {'readonly': True}, - 'restorable_locations': {'readonly': True}, 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'api_type': {'readonly': True}, + 'restorable_locations': {'readonly': True}, } _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, 'account_name': {'key': 'properties.accountName', 'type': 'str'}, 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 'deletion_time': {'key': 'properties.deletionTime', 'type': 'iso-8601'}, 'api_type': {'key': 'properties.apiType', 'type': 'str'}, 'restorable_locations': {'key': 'properties.restorableLocations', 'type': '[RestorableLocationResource]'}, - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, *, account_name: str=None, creation_time=None, deletion_time=None, location: str=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + account_name: Optional[str] = None, + creation_time: Optional[datetime.datetime] = None, + deletion_time: Optional[datetime.datetime] = None, + **kwargs + ): super(RestorableDatabaseAccountGetResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location self.account_name = account_name self.creation_time = creation_time self.deletion_time = deletion_time self.api_type = None self.restorable_locations = None - self.id = None - self.name = None - self.type = None - self.location = location -class RestorableLocationResource(Model): +class RestorableDatabaseAccountsListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable database accounts and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable database accounts and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableDatabaseAccountGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableDatabaseAccountsListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableLocationResource(msrest.serialization.Model): """Properties of the regional restorable account. - 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 location_name: The location of the regional restorable account. :vartype location_name: str - :ivar regional_database_account_instance_id: The instance id of the - regional restorable account. + :ivar regional_database_account_instance_id: The instance id of the regional restorable + account. :vartype regional_database_account_instance_id: str - :ivar creation_time: The creation time of the regional restorable database - account (ISO-8601 format). - :vartype creation_time: datetime - :ivar deletion_time: The time at which the regional restorable database - account has been deleted (ISO-8601 format). - :vartype deletion_time: datetime + :ivar creation_time: The creation time of the regional restorable database account (ISO-8601 + format). + :vartype creation_time: ~datetime.datetime + :ivar deletion_time: The time at which the regional restorable database account has been + deleted (ISO-8601 format). + :vartype deletion_time: ~datetime.datetime """ _validation = { @@ -4565,7 +5999,10 @@ class RestorableLocationResource(Model): 'deletion_time': {'key': 'deletionTime', 'type': 'iso-8601'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(RestorableLocationResource, self).__init__(**kwargs) self.location_name = None self.regional_database_account_instance_id = None @@ -4573,22 +6010,19 @@ def __init__(self, **kwargs) -> None: self.deletion_time = None -class RestorableMongodbCollectionGetResult(Model): +class RestorableMongodbCollectionGetResult(msrest.serialization.Model): """An Azure Cosmos DB MongoDB collection event. - 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 resource: The resource of an Azure Cosmos DB MongoDB collection - event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB MongoDB collection event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource """ _validation = { @@ -4598,30 +6032,34 @@ class RestorableMongodbCollectionGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbCollectionPropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbCollectionPropertiesResource'}, } - def __init__(self, *, resource=None, **kwargs) -> None: + def __init__( + self, + *, + resource: Optional["RestorableMongodbCollectionPropertiesResource"] = None, + **kwargs + ): super(RestorableMongodbCollectionGetResult, self).__init__(**kwargs) - self.resource = resource self.id = None self.name = None self.type = None + self.resource = resource -class RestorableMongodbCollectionPropertiesResource(Model): +class RestorableMongodbCollectionPropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB MongoDB collection event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this collection event. - Possible values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this collection event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The time when this collection event happened. :vartype event_timestamp: str @@ -4632,7 +6070,7 @@ class RestorableMongodbCollectionPropertiesResource(Model): """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4640,37 +6078,63 @@ class RestorableMongodbCollectionPropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(RestorableMongodbCollectionPropertiesResource, self).__init__(**kwargs) - self._rid = None + self.rid = None self.operation_type = None self.event_timestamp = None self.owner_id = None self.owner_resource_id = None -class RestorableMongodbDatabaseGetResult(Model): +class RestorableMongodbCollectionsListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB collection events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of MongoDB collection events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableMongodbCollectionGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableMongodbCollectionsListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableMongodbDatabaseGetResult(msrest.serialization.Model): """An Azure Cosmos DB MongoDB database event. - 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 resource: The resource of an Azure Cosmos DB MongoDB database event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB MongoDB database event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource """ _validation = { @@ -4680,30 +6144,34 @@ class RestorableMongodbDatabaseGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbDatabasePropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableMongodbDatabasePropertiesResource'}, } - def __init__(self, *, resource=None, **kwargs) -> None: + def __init__( + self, + *, + resource: Optional["RestorableMongodbDatabasePropertiesResource"] = None, + **kwargs + ): super(RestorableMongodbDatabaseGetResult, self).__init__(**kwargs) - self.resource = resource self.id = None self.name = None self.type = None + self.resource = resource -class RestorableMongodbDatabasePropertiesResource(Model): +class RestorableMongodbDatabasePropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB MongoDB database event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this database event. Possible - values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this database event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The time when this database event happened. :vartype event_timestamp: str @@ -4714,7 +6182,7 @@ class RestorableMongodbDatabasePropertiesResource(Model): """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4722,37 +6190,88 @@ class RestorableMongodbDatabasePropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(RestorableMongodbDatabasePropertiesResource, self).__init__(**kwargs) - self._rid = None + self.rid = None self.operation_type = None self.event_timestamp = None self.owner_id = None self.owner_resource_id = None -class RestorableSqlContainerGetResult(Model): +class RestorableMongodbDatabasesListResult(msrest.serialization.Model): + """The List operation response, that contains the MongoDB database events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of MongoDB database events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabaseGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableMongodbDatabaseGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableMongodbDatabasesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableMongodbResourcesListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable MongoDB resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable MongoDB resources, including the database and collection names. + :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableMongodbResourcesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableSqlContainerGetResult(msrest.serialization.Model): """An Azure Cosmos DB SQL container event. - 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 resource: The resource of an Azure Cosmos DB SQL container event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB SQL container event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource """ _validation = { @@ -4762,30 +6281,34 @@ class RestorableSqlContainerGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlContainerPropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlContainerPropertiesResource'}, } - def __init__(self, *, resource=None, **kwargs) -> None: + def __init__( + self, + *, + resource: Optional["RestorableSqlContainerPropertiesResource"] = None, + **kwargs + ): super(RestorableSqlContainerGetResult, self).__init__(**kwargs) - self.resource = resource self.id = None self.name = None self.type = None + self.resource = resource -class RestorableSqlContainerPropertiesResource(Model): +class RestorableSqlContainerPropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB SQL container event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this container event. Possible - values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this container event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The when this container event happened. :vartype event_timestamp: str @@ -4793,13 +6316,12 @@ class RestorableSqlContainerPropertiesResource(Model): :vartype owner_id: str :ivar owner_resource_id: The resource ID of this SQL container. :vartype owner_resource_id: str - :param container: Cosmos DB SQL container resource object - :type container: - ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer + :param container: Cosmos DB SQL container resource object. + :type container: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4807,7 +6329,7 @@ class RestorableSqlContainerPropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, @@ -4815,64 +6337,123 @@ class RestorableSqlContainerPropertiesResource(Model): 'container': {'key': 'container', 'type': 'RestorableSqlContainerPropertiesResourceContainer'}, } - def __init__(self, *, container=None, **kwargs) -> None: - super(RestorableSqlContainerPropertiesResource, self).__init__(**kwargs) - self._rid = None - self.operation_type = None - self.event_timestamp = None - self.owner_id = None - self.owner_resource_id = None - self.container = container + def __init__( + self, + *, + container: Optional["RestorableSqlContainerPropertiesResourceContainer"] = None, + **kwargs + ): + super(RestorableSqlContainerPropertiesResource, self).__init__(**kwargs) + self.rid = None + self.operation_type = None + self.event_timestamp = None + self.owner_id = None + self.owner_resource_id = None + self.container = container + + +class SqlContainerResource(msrest.serialization.Model): + """Cosmos DB SQL container resource object. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Name of the Cosmos DB SQL container. + :type id: str + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. + :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :param default_ttl: Default time to live. + :type default_ttl: int + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :param conflict_resolution_policy: The conflict resolution policy for the container. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :param analytical_storage_ttl: Analytical TTL. + :type analytical_storage_ttl: long + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, + 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, + 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, + 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, + 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, + 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, + } + + def __init__( + self, + *, + id: str, + indexing_policy: Optional["IndexingPolicy"] = None, + partition_key: Optional["ContainerPartitionKey"] = None, + default_ttl: Optional[int] = None, + unique_key_policy: Optional["UniqueKeyPolicy"] = None, + conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None, + analytical_storage_ttl: Optional[int] = None, + **kwargs + ): + super(SqlContainerResource, self).__init__(**kwargs) + self.id = id + self.indexing_policy = indexing_policy + self.partition_key = partition_key + self.default_ttl = default_ttl + self.unique_key_policy = unique_key_policy + self.conflict_resolution_policy = conflict_resolution_policy + self.analytical_storage_ttl = analytical_storage_ttl -class RestorableSqlContainerPropertiesResourceContainer(Model): +class RestorableSqlContainerPropertiesResourceContainer(ExtendedResourceProperties, SqlContainerResource): """Cosmos DB SQL container resource object. - 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. - :param id: Required. Name of the Cosmos DB SQL container + :param id: Required. Name of the Cosmos DB SQL container. :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the - container + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live + :param default_ttl: Default time to live. :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - container. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :param conflict_resolution_policy: The conflict resolution policy for the container. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: long - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - :ivar _self: A system generated property that specifies the addressable - path of the container resource. - :vartype _self: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + :ivar self_property: A system generated property that specifies the addressable path of the + container resource. + :vartype self_property: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, - '_self': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + 'self_property': {'readonly': True}, } _attribute_map = { @@ -4883,14 +6464,25 @@ class RestorableSqlContainerPropertiesResourceContainer(Model): 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - '_self': {'key': '_self', 'type': 'str'}, - } - - def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, analytical_storage_ttl: int=None, **kwargs) -> None: - super(RestorableSqlContainerPropertiesResourceContainer, self).__init__(**kwargs) + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + 'self_property': {'key': '_self', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + indexing_policy: Optional["IndexingPolicy"] = None, + partition_key: Optional["ContainerPartitionKey"] = None, + default_ttl: Optional[int] = None, + unique_key_policy: Optional["UniqueKeyPolicy"] = None, + conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None, + analytical_storage_ttl: Optional[int] = None, + **kwargs + ): + super(RestorableSqlContainerPropertiesResourceContainer, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, analytical_storage_ttl=analytical_storage_ttl, **kwargs) self.id = id self.indexing_policy = indexing_policy self.partition_key = partition_key @@ -4898,27 +6490,51 @@ def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default self.unique_key_policy = unique_key_policy self.conflict_resolution_policy = conflict_resolution_policy self.analytical_storage_ttl = analytical_storage_ttl - self._rid = None - self._ts = None - self._etag = None - self._self = None + self.self_property = None + self.rid = None + self.ts = None + self.etag = None + self.self_property = None + + +class RestorableSqlContainersListResult(msrest.serialization.Model): + """The List operation response, that contains the SQL container events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of SQL container events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlContainerGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableSqlContainerGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableSqlContainersListResult, self).__init__(**kwargs) + self.value = None -class RestorableSqlDatabaseGetResult(Model): + +class RestorableSqlDatabaseGetResult(msrest.serialization.Model): """An Azure Cosmos DB SQL database event. - 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 resource: The resource of an Azure Cosmos DB SQL database event - :type resource: - ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource :ivar id: The unique resource Identifier of the ARM resource. :vartype id: str :ivar name: The name of the ARM resource. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str + :param resource: The resource of an Azure Cosmos DB SQL database event. + :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource """ _validation = { @@ -4928,30 +6544,34 @@ class RestorableSqlDatabaseGetResult(Model): } _attribute_map = { - 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlDatabasePropertiesResource'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableSqlDatabasePropertiesResource'}, } - def __init__(self, *, resource=None, **kwargs) -> None: + def __init__( + self, + *, + resource: Optional["RestorableSqlDatabasePropertiesResource"] = None, + **kwargs + ): super(RestorableSqlDatabaseGetResult, self).__init__(**kwargs) - self.resource = resource self.id = None self.name = None self.type = None + self.resource = resource -class RestorableSqlDatabasePropertiesResource(Model): +class RestorableSqlDatabasePropertiesResource(msrest.serialization.Model): """The resource of an Azure Cosmos DB SQL database event. - 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 _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar operation_type: The operation type of this database event. Possible - values include: 'Create', 'Replace', 'Delete', 'SystemOperation' + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this database event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType :ivar event_timestamp: The time when this database event happened. :vartype event_timestamp: str @@ -4959,13 +6579,12 @@ class RestorableSqlDatabasePropertiesResource(Model): :vartype owner_id: str :ivar owner_resource_id: The resource ID of the SQL database. :vartype owner_resource_id: str - :param database: Cosmos DB SQL database resource object - :type database: - ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase + :param database: Cosmos DB SQL database resource object. + :type database: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase """ _validation = { - '_rid': {'readonly': True}, + 'rid': {'readonly': True}, 'operation_type': {'readonly': True}, 'event_timestamp': {'readonly': True}, 'owner_id': {'readonly': True}, @@ -4973,7 +6592,7 @@ class RestorableSqlDatabasePropertiesResource(Model): } _attribute_map = { - '_rid': {'key': '_rid', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, 'operation_type': {'key': 'operationType', 'type': 'str'}, 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, 'owner_id': {'key': 'ownerId', 'type': 'str'}, @@ -4981,9 +6600,14 @@ class RestorableSqlDatabasePropertiesResource(Model): 'database': {'key': 'database', 'type': 'RestorableSqlDatabasePropertiesResourceDatabase'}, } - def __init__(self, *, database=None, **kwargs) -> None: + def __init__( + self, + *, + database: Optional["RestorableSqlDatabasePropertiesResourceDatabase"] = None, + **kwargs + ): super(RestorableSqlDatabasePropertiesResource, self).__init__(**kwargs) - self._rid = None + self.rid = None self.operation_type = None self.event_timestamp = None self.owner_id = None @@ -4991,83 +6615,163 @@ def __init__(self, *, database=None, **kwargs) -> None: self.database = database -class RestorableSqlDatabasePropertiesResourceDatabase(Model): +class SqlDatabaseResource(msrest.serialization.Model): """Cosmos DB SQL database 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. - :param id: Required. Name of the Cosmos DB SQL database + :param id: Required. Name of the Cosmos DB SQL database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - :ivar _colls: A system generated property that specified the addressable - path of the collections resource. - :vartype _colls: str - :ivar _users: A system generated property that specifies the addressable - path of the users resource. - :vartype _users: str - :ivar _self: A system generated property that specifies the addressable - path of the database resource. - :vartype _self: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, - '_colls': {'readonly': True}, - '_users': {'readonly': True}, - '_self': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - '_colls': {'key': '_colls', 'type': 'str'}, - '_users': {'key': '_users', 'type': 'str'}, - '_self': {'key': '_self', 'type': 'str'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(RestorableSqlDatabasePropertiesResourceDatabase, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + **kwargs + ): + super(SqlDatabaseResource, self).__init__(**kwargs) + self.id = id + + +class RestorableSqlDatabasePropertiesResourceDatabase(SqlDatabaseResource, ExtendedResourceProperties): + """Cosmos DB SQL database 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 rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + :param id: Required. Name of the Cosmos DB SQL database. + :type id: str + :ivar colls: A system generated property that specified the addressable path of the collections + resource. + :vartype colls: str + :ivar users: A system generated property that specifies the addressable path of the users + resource. + :vartype users: str + :ivar self_property: A system generated property that specifies the addressable path of the + database resource. + :vartype self_property: str + """ + + _validation = { + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + 'id': {'required': True}, + 'colls': {'readonly': True}, + 'users': {'readonly': True}, + 'self_property': {'readonly': True}, + } + + _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'colls': {'key': '_colls', 'type': 'str'}, + 'users': {'key': '_users', 'type': 'str'}, + 'self_property': {'key': '_self', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + **kwargs + ): + super(RestorableSqlDatabasePropertiesResourceDatabase, self).__init__(id=id, **kwargs) + self.rid = None + self.ts = None + self.etag = None + self.colls = None + self.users = None + self.self_property = None self.id = id - self._rid = None - self._ts = None - self._etag = None - self._colls = None - self._users = None - self._self = None + self.colls = None + self.users = None + self.self_property = None + +class RestorableSqlDatabasesListResult(msrest.serialization.Model): + """The List operation response, that contains the SQL database events and their properties. -class RestoreParameters(Model): + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of SQL database events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableSqlDatabaseGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableSqlDatabaseGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableSqlDatabasesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableSqlResourcesListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable SQL resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable SQL resources, including the database and collection names. + :vartype value: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseRestoreResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(RestorableSqlResourcesListResult, self).__init__(**kwargs) + self.value = None + + +class RestoreParameters(msrest.serialization.Model): """Parameters to indicate the information about the restore. - :param restore_mode: Describes the mode of the restore. Possible values - include: 'PointInTime' + :param restore_mode: Describes the mode of the restore. Possible values include: "PointInTime". :type restore_mode: str or ~azure.mgmt.cosmosdb.models.RestoreMode - :param restore_source: The id of the restorable database account from - which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + :param restore_source: The id of the restorable database account from which the restore has to + be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}. :type restore_source: str - :param restore_timestamp_in_utc: Time to which the account has to be - restored (ISO-8601 format). - :type restore_timestamp_in_utc: datetime - :param databases_to_restore: List of specific databases available for - restore. - :type databases_to_restore: - list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + :param restore_timestamp_in_utc: Time to which the account has to be restored (ISO-8601 + format). + :type restore_timestamp_in_utc: ~datetime.datetime + :param databases_to_restore: List of specific databases available for restore. + :type databases_to_restore: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] """ _attribute_map = { @@ -5077,7 +6781,15 @@ class RestoreParameters(Model): 'databases_to_restore': {'key': 'databasesToRestore', 'type': '[DatabaseRestoreResource]'}, } - def __init__(self, *, restore_mode=None, restore_source: str=None, restore_timestamp_in_utc=None, databases_to_restore=None, **kwargs) -> None: + def __init__( + self, + *, + restore_mode: Optional[Union[str, "RestoreMode"]] = None, + restore_source: Optional[str] = None, + restore_timestamp_in_utc: Optional[datetime.datetime] = None, + databases_to_restore: Optional[List["DatabaseRestoreResource"]] = None, + **kwargs + ): super(RestoreParameters, self).__init__(**kwargs) self.restore_mode = restore_mode self.restore_source = restore_source @@ -5088,78 +6800,72 @@ def __init__(self, *, restore_mode=None, restore_source: str=None, restore_times class RestoreReqeustDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateUpdateProperties): """Properties to restore Azure Cosmos DB database account. - 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. - :param consistency_policy: The consistency policy for the Cosmos DB - account. + :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication - locations enabled for the Cosmos DB account. + :param locations: Required. An array that contains the georeplication locations enabled for the + Cosmos DB account. :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: Required. The offer type for the - database. Default value: "Standard" . + :ivar database_account_offer_type: Required. The offer type for the database. Default value: + "Standard". :vartype database_account_offer_type: str :param ip_rules: List of IpRules. :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to - enable/disable Virtual Network ACL rules. + :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write - region in the rare event that the region is unavailable due to an outage. - Automatic failover will result in a new write region for the account and - is chosen based on the failover priorities configured for the account. + :param enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account + :param capabilities: List of Cosmos DB capabilities for the account. :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured - for the Cosmos DB account. - :type virtual_network_rules: - list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in - multiple locations + :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :param enable_multiple_write_locations: Enables the account to write in multiple locations. :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the - Cosmos DB C* account + :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos - DB database C* account. Possible values include: 'Small' + :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations - on metadata resources (databases, containers, throughput) via account keys + :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + (databases, containers, throughput) via account keys. :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault + :param key_vault_key_uri: The URI of the key vault. :type key_vault_key_uri: str - :param public_network_access: Whether requests from Public Network are - allowed. Possible values include: 'Enabled', 'Disabled' - :type public_network_access: str or - ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :param default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :type default_identity: str + :param public_network_access: Whether requests from Public Network are allowed. Possible values + include: "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess :param enable_free_tier: Flag to indicate whether Free Tier is enabled. :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only - for MongoDB API. + :param api_properties: API specific properties. Currently, supported only for MongoDB API. :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable - storage analytics. + :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. :type enable_analytical_storage: bool - :param backup_policy: The object representing the policy for taking - backups on an account. + :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by + server. Possible values include: "Default", "Restore". Default value: "Default". + :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy :param cors: The CORS policy for the Cosmos DB database account. :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass - firewall checks. Possible values include: 'None', 'AzureServices' - :type network_acl_bypass: str or - ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the - Resource Ids for Network Acl Bypass for the Cosmos DB account. + :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param create_mode: Required. Constant filled by server. - :type create_mode: str - :param restore_parameters: Parameters to indicate the information about - the restore. + :param restore_parameters: Parameters to indicate the information about the restore. :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters """ @@ -5183,25 +6889,54 @@ class RestoreReqeustDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateU 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, + 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, + 'create_mode': {'key': 'createMode', 'type': 'str'}, 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'NetworkAclBypass'}, + 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, 'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'}, } - def __init__(self, *, locations, consistency_policy=None, ip_rules=None, is_virtual_network_filter_enabled: bool=None, enable_automatic_failover: bool=None, capabilities=None, virtual_network_rules=None, enable_multiple_write_locations: bool=None, enable_cassandra_connector: bool=None, connector_offer=None, disable_key_based_metadata_write_access: bool=None, key_vault_key_uri: str=None, public_network_access=None, enable_free_tier: bool=None, api_properties=None, enable_analytical_storage: bool=None, backup_policy=None, cors=None, network_acl_bypass=None, network_acl_bypass_resource_ids=None, restore_parameters=None, **kwargs) -> None: - super(RestoreReqeustDatabaseAccountCreateUpdateProperties, self).__init__(consistency_policy=consistency_policy, locations=locations, ip_rules=ip_rules, is_virtual_network_filter_enabled=is_virtual_network_filter_enabled, enable_automatic_failover=enable_automatic_failover, capabilities=capabilities, virtual_network_rules=virtual_network_rules, enable_multiple_write_locations=enable_multiple_write_locations, enable_cassandra_connector=enable_cassandra_connector, connector_offer=connector_offer, disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, key_vault_key_uri=key_vault_key_uri, public_network_access=public_network_access, enable_free_tier=enable_free_tier, api_properties=api_properties, enable_analytical_storage=enable_analytical_storage, backup_policy=backup_policy, cors=cors, network_acl_bypass=network_acl_bypass, network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, **kwargs) + database_account_offer_type = "Standard" + + def __init__( + self, + *, + locations: List["Location"], + consistency_policy: Optional["ConsistencyPolicy"] = None, + ip_rules: Optional[List["IpAddressOrRange"]] = None, + is_virtual_network_filter_enabled: Optional[bool] = None, + enable_automatic_failover: Optional[bool] = None, + capabilities: Optional[List["Capability"]] = None, + virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, + enable_multiple_write_locations: Optional[bool] = None, + enable_cassandra_connector: Optional[bool] = None, + connector_offer: Optional[Union[str, "ConnectorOffer"]] = None, + disable_key_based_metadata_write_access: Optional[bool] = None, + key_vault_key_uri: Optional[str] = None, + default_identity: Optional[str] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + enable_free_tier: Optional[bool] = None, + api_properties: Optional["ApiProperties"] = None, + enable_analytical_storage: Optional[bool] = None, + backup_policy: Optional["BackupPolicy"] = None, + cors: Optional[List["CorsPolicy"]] = None, + network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, + network_acl_bypass_resource_ids: Optional[List[str]] = None, + restore_parameters: Optional["RestoreParameters"] = None, + **kwargs + ): + super(RestoreReqeustDatabaseAccountCreateUpdateProperties, self).__init__(consistency_policy=consistency_policy, locations=locations, ip_rules=ip_rules, is_virtual_network_filter_enabled=is_virtual_network_filter_enabled, enable_automatic_failover=enable_automatic_failover, capabilities=capabilities, virtual_network_rules=virtual_network_rules, enable_multiple_write_locations=enable_multiple_write_locations, enable_cassandra_connector=enable_cassandra_connector, connector_offer=connector_offer, disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, key_vault_key_uri=key_vault_key_uri, default_identity=default_identity, public_network_access=public_network_access, enable_free_tier=enable_free_tier, api_properties=api_properties, enable_analytical_storage=enable_analytical_storage, backup_policy=backup_policy, cors=cors, network_acl_bypass=network_acl_bypass, network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, **kwargs) + self.create_mode = 'Restore' # type: str self.restore_parameters = restore_parameters - self.create_mode = 'Restore' -class SeedNode(Model): +class SeedNode(msrest.serialization.Model): """SeedNode. :param ip_address: IP address of this seed node. @@ -5212,18 +6947,86 @@ class SeedNode(Model): 'ip_address': {'key': 'ipAddress', 'type': 'str'}, } - def __init__(self, *, ip_address: str=None, **kwargs) -> None: + def __init__( + self, + *, + ip_address: Optional[str] = None, + **kwargs + ): super(SeedNode, self).__init__(**kwargs) self.ip_address = ip_address -class SpatialSpec(Model): +class ServiceResource(ARMProxyResource): + """Properties for the database account. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :param properties: Services response resource. + :type properties: ~azure.mgmt.cosmosdb.models.ServiceResourceProperties + """ + + _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': 'ServiceResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["ServiceResourceProperties"] = None, + **kwargs + ): + super(ServiceResource, self).__init__(**kwargs) + self.properties = properties + + +class ServiceResourceListResult(msrest.serialization.Model): + """The List operation response, that contains the Service Resource and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Service Resource and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.ServiceResource] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceResourceListResult, self).__init__(**kwargs) + self.value = None + + +class SpatialSpec(msrest.serialization.Model): """SpatialSpec. - :param path: The path for which the indexing behavior applies to. Index - paths typically start with root and end with wildcard (/path/*) + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). :type path: str - :param types: List of path's spatial type + :param types: List of path's spatial type. :type types: list[str or ~azure.mgmt.cosmosdb.models.SpatialType] """ @@ -5232,7 +7035,13 @@ class SpatialSpec(Model): 'types': {'key': 'types', 'type': '[str]'}, } - def __init__(self, *, path: str=None, types=None, **kwargs) -> None: + def __init__( + self, + *, + path: Optional[str] = None, + types: Optional[List[Union[str, "SpatialType"]]] = None, + **kwargs + ): super(SpatialSpec, self).__init__(**kwargs) self.path = path self.types = types @@ -5241,8 +7050,7 @@ def __init__(self, *, path: str=None, types=None, **kwargs) -> None: class SqlContainerCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB container. - 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. @@ -5252,17 +7060,21 @@ class SqlContainerCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a container + :param resource: Required. The standard JSON format of a container. :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -5284,7 +7096,16 @@ class SqlContainerCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "SqlContainerResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(SqlContainerCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -5293,9 +7114,8 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class SqlContainerGetPropertiesOptions(OptionsResource): """SqlContainerGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -5306,54 +7126,54 @@ class SqlContainerGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(SqlContainerGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class SqlContainerGetPropertiesResource(Model): +class SqlContainerGetPropertiesResource(ExtendedResourceProperties, SqlContainerResource): """SqlContainerGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB SQL container + :param id: Required. Name of the Cosmos DB SQL container. :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the - container + :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions + :param partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live + :param default_ttl: Default time to live. :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. + :param unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - container. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :param conflict_resolution_policy: The conflict resolution policy for the container. + :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy :param analytical_storage_ttl: Analytical TTL. :type analytical_storage_ttl: long - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -5364,13 +7184,24 @@ class SqlContainerGetPropertiesResource(Model): 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - } - - def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, analytical_storage_ttl: int=None, **kwargs) -> None: - super(SqlContainerGetPropertiesResource, self).__init__(**kwargs) + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + indexing_policy: Optional["IndexingPolicy"] = None, + partition_key: Optional["ContainerPartitionKey"] = None, + default_ttl: Optional[int] = None, + unique_key_policy: Optional["UniqueKeyPolicy"] = None, + conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None, + analytical_storage_ttl: Optional[int] = None, + **kwargs + ): + super(SqlContainerGetPropertiesResource, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, analytical_storage_ttl=analytical_storage_ttl, **kwargs) self.id = id self.indexing_policy = indexing_policy self.partition_key = partition_key @@ -5378,16 +7209,15 @@ def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default self.unique_key_policy = unique_key_policy self.conflict_resolution_policy = conflict_resolution_policy self.analytical_storage_ttl = analytical_storage_ttl - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlContainerGetResults(ARMResourceProperties): """An Azure Cosmos DB container. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -5395,19 +7225,21 @@ class SqlContainerGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource :param options: - :type options: - ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions + :type options: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions """ _validation = { @@ -5427,70 +7259,50 @@ class SqlContainerGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'SqlContainerGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["SqlContainerGetPropertiesResource"] = None, + options: Optional["SqlContainerGetPropertiesOptions"] = None, + **kwargs + ): super(SqlContainerGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class SqlContainerResource(Model): - """Cosmos DB SQL container resource object. +class SqlContainerListResult(msrest.serialization.Model): + """The List operation response, that contains the containers and their properties. - 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. Name of the Cosmos DB SQL container - :type id: str - :param indexing_policy: The configuration of the indexing policy. By - default, the indexing is automatic for all document paths within the - container - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used - for partitioning data into multiple partitions - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for - specifying uniqueness constraints on documents in the collection in the - Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the - container. - :type conflict_resolution_policy: - ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long + :ivar value: List of containers and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'indexing_policy': {'key': 'indexingPolicy', 'type': 'IndexingPolicy'}, - 'partition_key': {'key': 'partitionKey', 'type': 'ContainerPartitionKey'}, - 'default_ttl': {'key': 'defaultTtl', 'type': 'int'}, - 'unique_key_policy': {'key': 'uniqueKeyPolicy', 'type': 'UniqueKeyPolicy'}, - 'conflict_resolution_policy': {'key': 'conflictResolutionPolicy', 'type': 'ConflictResolutionPolicy'}, - 'analytical_storage_ttl': {'key': 'analyticalStorageTtl', 'type': 'long'}, + 'value': {'key': 'value', 'type': '[SqlContainerGetResults]'}, } - def __init__(self, *, id: str, indexing_policy=None, partition_key=None, default_ttl: int=None, unique_key_policy=None, conflict_resolution_policy=None, analytical_storage_ttl: int=None, **kwargs) -> None: - super(SqlContainerResource, self).__init__(**kwargs) - self.id = id - self.indexing_policy = indexing_policy - self.partition_key = partition_key - self.default_ttl = default_ttl - self.unique_key_policy = unique_key_policy - self.conflict_resolution_policy = conflict_resolution_policy - self.analytical_storage_ttl = analytical_storage_ttl + def __init__( + self, + **kwargs + ): + super(SqlContainerListResult, self).__init__(**kwargs) + self.value = None class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB SQL database. - 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. @@ -5500,17 +7312,21 @@ class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a SQL database + :param resource: Required. The standard JSON format of a SQL database. :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -5532,7 +7348,16 @@ class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "SqlDatabaseResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(SqlDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -5541,9 +7366,8 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class SqlDatabaseGetPropertiesOptions(OptionsResource): """SqlDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -5554,67 +7378,79 @@ class SqlDatabaseGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(SqlDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class SqlDatabaseGetPropertiesResource(Model): +class SqlDatabaseGetPropertiesResource(SqlDatabaseResource, ExtendedResourceProperties): """SqlDatabaseGetPropertiesResource. - 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. - :param id: Required. Name of the Cosmos DB SQL database + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + :param id: Required. Name of the Cosmos DB SQL database. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str - :param _colls: A system generated property that specified the addressable - path of the collections resource. - :type _colls: str - :param _users: A system generated property that specifies the addressable - path of the users resource. - :type _users: str + :param colls: A system generated property that specified the addressable path of the + collections resource. + :type colls: str + :param users: A system generated property that specifies the addressable path of the users + resource. + :type users: str """ _validation = { + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, - '_colls': {'key': '_colls', 'type': 'str'}, - '_users': {'key': '_users', 'type': 'str'}, - } - - def __init__(self, *, id: str, _colls: str=None, _users: str=None, **kwargs) -> None: - super(SqlDatabaseGetPropertiesResource, self).__init__(**kwargs) + 'colls': {'key': '_colls', 'type': 'str'}, + 'users': {'key': '_users', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + colls: Optional[str] = None, + users: Optional[str] = None, + **kwargs + ): + super(SqlDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs) + self.rid = None + self.ts = None + self.etag = None + self.colls = colls + self.users = users self.id = id - self._rid = None - self._ts = None - self._etag = None - self._colls = _colls - self._users = _users + self.colls = colls + self.users = users class SqlDatabaseGetResults(ARMResourceProperties): """An Azure Cosmos DB SQL database. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -5622,16 +7458,19 @@ class SqlDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource :param options: :type options: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesOptions """ @@ -5653,47 +7492,180 @@ class SqlDatabaseGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'SqlDatabaseGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["SqlDatabaseGetPropertiesResource"] = None, + options: Optional["SqlDatabaseGetPropertiesOptions"] = None, + **kwargs + ): super(SqlDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class SqlDatabaseResource(Model): - """Cosmos DB SQL database resource object. +class SqlDatabaseListResult(msrest.serialization.Model): + """The List operation response, that contains the SQL databases and their properties. - 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. Name of the Cosmos DB SQL database - :type id: str + :ivar value: List of SQL databases and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SqlDatabaseGetResults]'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(SqlDatabaseResource, self).__init__(**kwargs) - self.id = id + def __init__( + self, + **kwargs + ): + super(SqlDatabaseListResult, self).__init__(**kwargs) + self.value = None + + +class SqlDedicatedGatewayRegionalServiceResource(RegionalServiceResource): + """Resource for a regional service location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The regional service name. + :vartype name: str + :ivar location: The location name. + :vartype location: str + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + :ivar sql_dedicated_gateway_endpoint: The regional endpoint for SqlDedicatedGateway. + :vartype sql_dedicated_gateway_endpoint: str + """ + + _validation = { + 'name': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + 'sql_dedicated_gateway_endpoint': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlDedicatedGatewayRegionalServiceResource, self).__init__(**kwargs) + self.sql_dedicated_gateway_endpoint = None + + +class SqlDedicatedGatewayServiceResource(msrest.serialization.Model): + """Describes the service response property for SqlDedicatedGateway. + + :param properties: Properties for SqlDedicatedGatewayServiceResource. + :type properties: ~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayServiceResourceProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'SqlDedicatedGatewayServiceResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["SqlDedicatedGatewayServiceResourceProperties"] = None, + **kwargs + ): + super(SqlDedicatedGatewayServiceResource, self).__init__(**kwargs) + self.properties = properties + + +class SqlDedicatedGatewayServiceResourceProperties(ServiceResourceProperties): + """Properties for SqlDedicatedGatewayServiceResource. + + Variables are only 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 to this + collection. + :type additional_properties: dict[str, object] + :ivar creation_time: Time of the last state change (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :param instance_count: Instance count for the service. + :type instance_count: int + :param service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer". + :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + :param sql_dedicated_gateway_endpoint: SqlDedicatedGateway endpoint for the service. + :type sql_dedicated_gateway_endpoint: str + :ivar locations: An array that contains all of the locations for the service. + :vartype locations: + list[~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayRegionalServiceResource] + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'instance_count': {'minimum': 0}, + 'service_type': {'required': True}, + 'status': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'instance_size': {'key': 'instanceSize', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + 'service_type': {'key': 'serviceType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[SqlDedicatedGatewayRegionalServiceResource]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + instance_size: Optional[Union[str, "ServiceSize"]] = None, + instance_count: Optional[int] = None, + sql_dedicated_gateway_endpoint: Optional[str] = None, + **kwargs + ): + super(SqlDedicatedGatewayServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs) + self.service_type = 'SqlDedicatedGatewayServiceResourceProperties' # type: str + self.sql_dedicated_gateway_endpoint = sql_dedicated_gateway_endpoint + self.locations = None -class SqlRoleAssignmentCreateUpdateParameters(Model): +class SqlRoleAssignmentCreateUpdateParameters(msrest.serialization.Model): """Parameters to create and update an Azure Cosmos DB SQL Role Assignment. - :param role_definition_id: The unique identifier for the associated Role - Definition. + :param role_definition_id: The unique identifier for the associated Role Definition. :type role_definition_id: str - :param scope: The data plane resource path for which access is being - granted through this Role Assignment. + :param scope: The data plane resource path for which access is being granted through this Role + Assignment. :type scope: str - :param principal_id: The unique identifier for the associated AAD - principal in the AAD graph to which access is being granted through this - Role Assignment. Tenant ID for the principal is inferred using the tenant - associated with the subscription. + :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to + which access is being granted through this Role Assignment. Tenant ID for the principal is + inferred using the tenant associated with the subscription. :type principal_id: str """ @@ -5703,7 +7675,14 @@ class SqlRoleAssignmentCreateUpdateParameters(Model): 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, } - def __init__(self, *, role_definition_id: str=None, scope: str=None, principal_id: str=None, **kwargs) -> None: + def __init__( + self, + *, + role_definition_id: Optional[str] = None, + scope: Optional[str] = None, + principal_id: Optional[str] = None, + **kwargs + ): super(SqlRoleAssignmentCreateUpdateParameters, self).__init__(**kwargs) self.role_definition_id = role_definition_id self.scope = scope @@ -5713,8 +7692,7 @@ def __init__(self, *, role_definition_id: str=None, scope: str=None, principal_i class SqlRoleAssignmentGetResults(ARMProxyResource): """An Azure Cosmos DB Role Assignment. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -5722,16 +7700,14 @@ class SqlRoleAssignmentGetResults(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param role_definition_id: The unique identifier for the associated Role - Definition. + :param role_definition_id: The unique identifier for the associated Role Definition. :type role_definition_id: str - :param scope: The data plane resource path for which access is being - granted through this Role Assignment. + :param scope: The data plane resource path for which access is being granted through this Role + Assignment. :type scope: str - :param principal_id: The unique identifier for the associated AAD - principal in the AAD graph to which access is being granted through this - Role Assignment. Tenant ID for the principal is inferred using the tenant - associated with the subscription. + :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to + which access is being granted through this Role Assignment. Tenant ID for the principal is + inferred using the tenant associated with the subscription. :type principal_id: str """ @@ -5750,43 +7726,80 @@ class SqlRoleAssignmentGetResults(ARMProxyResource): 'principal_id': {'key': 'properties.principalId', 'type': 'str'}, } - def __init__(self, *, role_definition_id: str=None, scope: str=None, principal_id: str=None, **kwargs) -> None: + def __init__( + self, + *, + role_definition_id: Optional[str] = None, + scope: Optional[str] = None, + principal_id: Optional[str] = None, + **kwargs + ): super(SqlRoleAssignmentGetResults, self).__init__(**kwargs) self.role_definition_id = role_definition_id self.scope = scope self.principal_id = principal_id -class SqlRoleDefinitionCreateUpdateParameters(Model): +class SqlRoleAssignmentListResult(msrest.serialization.Model): + """The relevant Role Assignments. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Role Assignments and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SqlRoleAssignmentGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlRoleAssignmentListResult, self).__init__(**kwargs) + self.value = None + + +class SqlRoleDefinitionCreateUpdateParameters(msrest.serialization.Model): """Parameters to create and update an Azure Cosmos DB SQL Role Definition. - :param role_name: A user-friendly name for the Role Definition. Must be - unique for the database account. + :param role_name: A user-friendly name for the Role Definition. Must be unique for the database + account. :type role_name: str - :param type: Indicates whether the Role Definition was built-in or user - created. Possible values include: 'BuiltInRole', 'CustomRole' + :param type: Indicates whether the Role Definition was built-in or user created. Possible + values include: "BuiltInRole", "CustomRole". :type type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below - which Role Assignments may be created using this Role Definition. This - will allow application of this Role Definition on the entire database - account or any underlying Database / Collection. Must have at least one - element. Scopes higher than Database account are not enforceable as - assignable Scopes. Note that resources referenced in assignable Scopes - need not exist. + :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments + may be created using this Role Definition. This will allow application of this Role Definition + on the entire database account or any underlying Database / Collection. Must have at least one + element. Scopes higher than Database account are not enforceable as assignable Scopes. Note + that resources referenced in assignable Scopes need not exist. :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role - Definition. + :param permissions: The set of operations allowed through this Role Definition. :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] """ _attribute_map = { 'role_name': {'key': 'properties.roleName', 'type': 'str'}, - 'type': {'key': 'properties.type', 'type': 'RoleDefinitionType'}, + 'type': {'key': 'properties.type', 'type': 'str'}, 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, } - def __init__(self, *, role_name: str=None, type=None, assignable_scopes=None, permissions=None, **kwargs) -> None: + def __init__( + self, + *, + role_name: Optional[str] = None, + type: Optional[Union[str, "RoleDefinitionType"]] = None, + assignable_scopes: Optional[List[str]] = None, + permissions: Optional[List["Permission"]] = None, + **kwargs + ): super(SqlRoleDefinitionCreateUpdateParameters, self).__init__(**kwargs) self.role_name = role_name self.type = type @@ -5797,8 +7810,7 @@ def __init__(self, *, role_name: str=None, type=None, assignable_scopes=None, pe class SqlRoleDefinitionGetResults(ARMProxyResource): """An Azure Cosmos DB SQL Role Definition. - 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 id: The unique resource identifier of the database account. :vartype id: str @@ -5806,24 +7818,19 @@ class SqlRoleDefinitionGetResults(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param role_name: A user-friendly name for the Role Definition. Must be - unique for the database account. + :param role_name: A user-friendly name for the Role Definition. Must be unique for the database + account. :type role_name: str - :param sql_role_definition_get_results_type: Indicates whether the Role - Definition was built-in or user created. Possible values include: - 'BuiltInRole', 'CustomRole' - :type sql_role_definition_get_results_type: str or - ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below - which Role Assignments may be created using this Role Definition. This - will allow application of this Role Definition on the entire database - account or any underlying Database / Collection. Must have at least one - element. Scopes higher than Database account are not enforceable as - assignable Scopes. Note that resources referenced in assignable Scopes - need not exist. + :param type_properties_type: Indicates whether the Role Definition was built-in or user + created. Possible values include: "BuiltInRole", "CustomRole". + :type type_properties_type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType + :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments + may be created using this Role Definition. This will allow application of this Role Definition + on the entire database account or any underlying Database / Collection. Must have at least one + element. Scopes higher than Database account are not enforceable as assignable Scopes. Note + that resources referenced in assignable Scopes need not exist. :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role - Definition. + :param permissions: The set of operations allowed through this Role Definition. :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] """ @@ -5838,24 +7845,56 @@ class SqlRoleDefinitionGetResults(ARMProxyResource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'role_name': {'key': 'properties.roleName', 'type': 'str'}, - 'sql_role_definition_get_results_type': {'key': 'properties.type', 'type': 'RoleDefinitionType'}, + 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 'assignable_scopes': {'key': 'properties.assignableScopes', 'type': '[str]'}, 'permissions': {'key': 'properties.permissions', 'type': '[Permission]'}, } - def __init__(self, *, role_name: str=None, sql_role_definition_get_results_type=None, assignable_scopes=None, permissions=None, **kwargs) -> None: + def __init__( + self, + *, + role_name: Optional[str] = None, + type_properties_type: Optional[Union[str, "RoleDefinitionType"]] = None, + assignable_scopes: Optional[List[str]] = None, + permissions: Optional[List["Permission"]] = None, + **kwargs + ): super(SqlRoleDefinitionGetResults, self).__init__(**kwargs) self.role_name = role_name - self.sql_role_definition_get_results_type = sql_role_definition_get_results_type + self.type_properties_type = type_properties_type self.assignable_scopes = assignable_scopes self.permissions = permissions +class SqlRoleDefinitionListResult(msrest.serialization.Model): + """The relevant Role Definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Role Definitions and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SqlRoleDefinitionGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlRoleDefinitionListResult, self).__init__(**kwargs) + self.value = None + + class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB storedProcedure. - 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. @@ -5865,17 +7904,21 @@ class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a storedProcedure + :param resource: Required. The standard JSON format of a storedProcedure. :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -5897,63 +7940,107 @@ class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "SqlStoredProcedureResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(SqlStoredProcedureCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class SqlStoredProcedureGetPropertiesResource(Model): - """SqlStoredProcedureGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class SqlStoredProcedureResource(msrest.serialization.Model): + """Cosmos DB SQL storedProcedure resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL storedProcedure + :param id: Required. Name of the Cosmos DB SQL storedProcedure. :type id: str - :param body: Body of the Stored Procedure + :param body: Body of the Stored Procedure. :type body: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'body': {'key': 'body', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, body: str=None, **kwargs) -> None: - super(SqlStoredProcedureGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + body: Optional[str] = None, + **kwargs + ): + super(SqlStoredProcedureResource, self).__init__(**kwargs) + self.id = id + self.body = body + + +class SqlStoredProcedureGetPropertiesResource(ExtendedResourceProperties, SqlStoredProcedureResource): + """SqlStoredProcedureGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB SQL storedProcedure. + :type id: str + :param body: Body of the Stored Procedure. + :type body: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'body': {'key': 'body', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + body: Optional[str] = None, + **kwargs + ): + super(SqlStoredProcedureGetPropertiesResource, self).__init__(id=id, body=body, **kwargs) self.id = id self.body = body - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlStoredProcedureGetResults(ARMResourceProperties): """An Azure Cosmos DB storedProcedure. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -5961,16 +8048,19 @@ class SqlStoredProcedureGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource """ _validation = { @@ -5989,42 +8079,48 @@ class SqlStoredProcedureGetResults(ARMResourceProperties): 'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureGetPropertiesResource'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["SqlStoredProcedureGetPropertiesResource"] = None, + **kwargs + ): super(SqlStoredProcedureGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource -class SqlStoredProcedureResource(Model): - """Cosmos DB SQL storedProcedure resource object. +class SqlStoredProcedureListResult(msrest.serialization.Model): + """The List operation response, that contains the storedProcedures and their properties. - 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. Name of the Cosmos DB SQL storedProcedure - :type id: str - :param body: Body of the Stored Procedure - :type body: str + :ivar value: List of storedProcedures and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SqlStoredProcedureGetResults]'}, } - def __init__(self, *, id: str, body: str=None, **kwargs) -> None: - super(SqlStoredProcedureResource, self).__init__(**kwargs) - self.id = id - self.body = body + def __init__( + self, + **kwargs + ): + super(SqlStoredProcedureListResult, self).__init__(**kwargs) + self.value = None class SqlTriggerCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB trigger. - 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. @@ -6034,17 +8130,21 @@ class SqlTriggerCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a trigger + :param resource: Required. The standard JSON format of a trigger. :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -6066,46 +8166,39 @@ class SqlTriggerCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "SqlTriggerResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(SqlTriggerCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class SqlTriggerGetPropertiesResource(Model): - """SqlTriggerGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class SqlTriggerResource(msrest.serialization.Model): + """Cosmos DB SQL trigger resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL trigger + :param id: Required. Name of the Cosmos DB SQL trigger. :type id: str - :param body: Body of the Trigger + :param body: Body of the Trigger. :type body: str - :param trigger_type: Type of the Trigger. Possible values include: 'Pre', - 'Post' + :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. - Possible values include: 'All', 'Create', 'Update', 'Delete', 'Replace' - :type trigger_operation: str or - ~azure.mgmt.cosmosdb.models.TriggerOperation - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str + :param trigger_operation: The operation the trigger is associated with. Possible values + include: "All", "Create", "Update", "Delete", "Replace". + :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { @@ -6113,27 +8206,89 @@ class SqlTriggerGetPropertiesResource(Model): 'body': {'key': 'body', 'type': 'str'}, 'trigger_type': {'key': 'triggerType', 'type': 'str'}, 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, body: str=None, trigger_type=None, trigger_operation=None, **kwargs) -> None: - super(SqlTriggerGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + body: Optional[str] = None, + trigger_type: Optional[Union[str, "TriggerType"]] = None, + trigger_operation: Optional[Union[str, "TriggerOperation"]] = None, + **kwargs + ): + super(SqlTriggerResource, self).__init__(**kwargs) + self.id = id + self.body = body + self.trigger_type = trigger_type + self.trigger_operation = trigger_operation + + +class SqlTriggerGetPropertiesResource(ExtendedResourceProperties, SqlTriggerResource): + """SqlTriggerGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB SQL trigger. + :type id: str + :param body: Body of the Trigger. + :type body: str + :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". + :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType + :param trigger_operation: The operation the trigger is associated with. Possible values + include: "All", "Create", "Update", "Delete", "Replace". + :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'body': {'key': 'body', 'type': 'str'}, + 'trigger_type': {'key': 'triggerType', 'type': 'str'}, + 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + body: Optional[str] = None, + trigger_type: Optional[Union[str, "TriggerType"]] = None, + trigger_operation: Optional[Union[str, "TriggerOperation"]] = None, + **kwargs + ): + super(SqlTriggerGetPropertiesResource, self).__init__(id=id, body=body, trigger_type=trigger_type, trigger_operation=trigger_operation, **kwargs) self.id = id self.body = body self.trigger_type = trigger_type self.trigger_operation = trigger_operation - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlTriggerGetResults(ARMResourceProperties): """An Azure Cosmos DB trigger. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6141,16 +8296,19 @@ class SqlTriggerGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource """ _validation = { @@ -6169,53 +8327,48 @@ class SqlTriggerGetResults(ARMResourceProperties): 'resource': {'key': 'properties.resource', 'type': 'SqlTriggerGetPropertiesResource'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["SqlTriggerGetPropertiesResource"] = None, + **kwargs + ): super(SqlTriggerGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource -class SqlTriggerResource(Model): - """Cosmos DB SQL trigger resource object. +class SqlTriggerListResult(msrest.serialization.Model): + """The List operation response, that contains the triggers and their properties. - 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. Name of the Cosmos DB SQL trigger - :type id: str - :param body: Body of the Trigger - :type body: str - :param trigger_type: Type of the Trigger. Possible values include: 'Pre', - 'Post' - :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. - Possible values include: 'All', 'Create', 'Update', 'Delete', 'Replace' - :type trigger_operation: str or - ~azure.mgmt.cosmosdb.models.TriggerOperation + :ivar value: List of triggers and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, - 'trigger_type': {'key': 'triggerType', 'type': 'str'}, - 'trigger_operation': {'key': 'triggerOperation', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SqlTriggerGetResults]'}, } - def __init__(self, *, id: str, body: str=None, trigger_type=None, trigger_operation=None, **kwargs) -> None: - super(SqlTriggerResource, self).__init__(**kwargs) - self.id = id - self.body = body - self.trigger_type = trigger_type - self.trigger_operation = trigger_operation + def __init__( + self, + **kwargs + ): + super(SqlTriggerListResult, self).__init__(**kwargs) + self.value = None class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB userDefinedFunction. - 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. @@ -6225,18 +8378,21 @@ class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a - userDefinedFunction + :param resource: Required. The standard JSON format of a userDefinedFunction. :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -6258,63 +8414,107 @@ class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "SqlUserDefinedFunctionResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(SqlUserDefinedFunctionCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class SqlUserDefinedFunctionGetPropertiesResource(Model): - """SqlUserDefinedFunctionGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class SqlUserDefinedFunctionResource(msrest.serialization.Model): + """Cosmos DB SQL userDefinedFunction resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL userDefinedFunction + :param id: Required. Name of the Cosmos DB SQL userDefinedFunction. :type id: str - :param body: Body of the User Defined Function + :param body: Body of the User Defined Function. :type body: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'body': {'key': 'body', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, body: str=None, **kwargs) -> None: - super(SqlUserDefinedFunctionGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + body: Optional[str] = None, + **kwargs + ): + super(SqlUserDefinedFunctionResource, self).__init__(**kwargs) + self.id = id + self.body = body + + +class SqlUserDefinedFunctionGetPropertiesResource(ExtendedResourceProperties, SqlUserDefinedFunctionResource): + """SqlUserDefinedFunctionGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB SQL userDefinedFunction. + :type id: str + :param body: Body of the User Defined Function. + :type body: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'body': {'key': 'body', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + body: Optional[str] = None, + **kwargs + ): + super(SqlUserDefinedFunctionGetPropertiesResource, self).__init__(id=id, body=body, **kwargs) self.id = id self.body = body - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class SqlUserDefinedFunctionGetResults(ARMResourceProperties): """An Azure Cosmos DB userDefinedFunction. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6322,16 +8522,19 @@ class SqlUserDefinedFunctionGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource + :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource """ _validation = { @@ -6350,56 +8553,61 @@ class SqlUserDefinedFunctionGetResults(ARMResourceProperties): 'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionGetPropertiesResource'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["SqlUserDefinedFunctionGetPropertiesResource"] = None, + **kwargs + ): super(SqlUserDefinedFunctionGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource -class SqlUserDefinedFunctionResource(Model): - """Cosmos DB SQL userDefinedFunction resource object. +class SqlUserDefinedFunctionListResult(msrest.serialization.Model): + """The List operation response, that contains the userDefinedFunctions and their properties. - 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. Name of the Cosmos DB SQL userDefinedFunction - :type id: str - :param body: Body of the User Defined Function - :type body: str + :ivar value: List of userDefinedFunctions and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'body': {'key': 'body', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SqlUserDefinedFunctionGetResults]'}, } - def __init__(self, *, id: str, body: str=None, **kwargs) -> None: - super(SqlUserDefinedFunctionResource, self).__init__(**kwargs) - self.id = id - self.body = body + def __init__( + self, + **kwargs + ): + super(SqlUserDefinedFunctionListResult, self).__init__(**kwargs) + self.value = None -class SystemData(Model): +class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. :param created_by: The identity that created the resource. :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". :type created_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime + :type created_at: ~datetime.datetime :param last_modified_by: The identity that last modified the resource. :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or - ~azure.mgmt.cosmosdb.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC) - :type last_modified_at: datetime + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -6411,7 +8619,17 @@ class SystemData(Model): 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type @@ -6424,8 +8642,7 @@ def __init__(self, *, created_by: str=None, created_by_type=None, created_at=Non class TableCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Table. - 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. @@ -6435,17 +8652,21 @@ class TableCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Table + :param resource: Required. The standard JSON format of a Table. :type resource: ~azure.mgmt.cosmosdb.models.TableResource - :param options: A key-value pair of options to be applied for the request. - This corresponds to the headers sent with the request. + :param options: A key-value pair of options to be applied for the request. This corresponds to + the headers sent with the request. :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ @@ -6467,7 +8688,16 @@ class TableCreateUpdateParameters(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + resource: "TableResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + options: Optional["CreateUpdateOptions"] = None, + **kwargs + ): super(TableCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -6476,9 +8706,8 @@ def __init__(self, *, resource, location: str=None, tags=None, identity=None, op class TableGetPropertiesOptions(OptionsResource): """TableGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or - autoscaleSettings. Use the ThroughputSetting resource when retrieving - offer details. + :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. :type throughput: int :param autoscale_settings: Specifies the Autoscale settings. :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings @@ -6489,57 +8718,92 @@ class TableGetPropertiesOptions(OptionsResource): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettings"] = None, + **kwargs + ): super(TableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class TableGetPropertiesResource(Model): - """TableGetPropertiesResource. - - Variables are only populated by the server, and will be ignored when - sending a request. +class TableResource(msrest.serialization.Model): + """Cosmos DB table resource object. All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB table + :param id: Required. Name of the Cosmos DB table. :type id: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'id': {'required': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(TableGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + id: str, + **kwargs + ): + super(TableResource, self).__init__(**kwargs) + self.id = id + + +class TableGetPropertiesResource(ExtendedResourceProperties, TableResource): + """TableGetPropertiesResource. + + Variables are only 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: Required. Name of the Cosmos DB table. + :type id: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'id': {'required': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + **kwargs + ): + super(TableGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id - self._rid = None - self._ts = None - self._etag = None + self.rid = None + self.ts = None + self.etag = None class TableGetResults(ARMResourceProperties): """An Azure Cosmos DB Table. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6547,12 +8811,16 @@ class TableGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.TableGetPropertiesResource @@ -6577,42 +8845,53 @@ class TableGetResults(ARMResourceProperties): 'options': {'key': 'properties.options', 'type': 'TableGetPropertiesOptions'}, } - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, options=None, **kwargs) -> None: + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["TableGetPropertiesResource"] = None, + options: Optional["TableGetPropertiesOptions"] = None, + **kwargs + ): super(TableGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options -class TableResource(Model): - """Cosmos DB table resource object. +class TableListResult(msrest.serialization.Model): + """The List operation response, that contains the Table and their properties. - 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. Name of the Cosmos DB table - :type id: str + :ivar value: List of Table and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.TableGetResults] """ _validation = { - 'id': {'required': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[TableGetResults]'}, } - def __init__(self, *, id: str, **kwargs) -> None: - super(TableResource, self).__init__(**kwargs) - self.id = id + def __init__( + self, + **kwargs + ): + super(TableListResult, self).__init__(**kwargs) + self.value = None -class ThroughputPolicyResource(Model): +class ThroughputPolicyResource(msrest.serialization.Model): """Cosmos DB resource throughput policy. - :param is_enabled: Determines whether the ThroughputPolicy is active or - not + :param is_enabled: Determines whether the ThroughputPolicy is active or not. :type is_enabled: bool - :param increment_percent: Represents the percentage by which throughput - can increase every time throughput policy kicks in. + :param increment_percent: Represents the percentage by which throughput can increase every time + throughput policy kicks in. :type increment_percent: int """ @@ -6621,46 +8900,38 @@ class ThroughputPolicyResource(Model): 'increment_percent': {'key': 'incrementPercent', 'type': 'int'}, } - def __init__(self, *, is_enabled: bool=None, increment_percent: int=None, **kwargs) -> None: + def __init__( + self, + *, + is_enabled: Optional[bool] = None, + increment_percent: Optional[int] = None, + **kwargs + ): super(ThroughputPolicyResource, self).__init__(**kwargs) self.is_enabled = is_enabled self.increment_percent = increment_percent -class ThroughputSettingsGetPropertiesResource(Model): - """ThroughputSettingsGetPropertiesResource. +class ThroughputSettingsResource(msrest.serialization.Model): + """Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. - 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 throughput: Value of the Cosmos DB resource throughput. Either - throughput is required or autoscaleSettings is required, but not both. + :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or + autoscaleSettings is required, but not both. :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. - Either throughput is required or autoscaleSettings is required, but not - both. - :type autoscale_settings: - ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource - :ivar minimum_throughput: The minimum throughput of the resource + :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + required or autoscaleSettings is required, but not both. + :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + :ivar minimum_throughput: The minimum throughput of the resource. :vartype minimum_throughput: str - :ivar offer_replace_pending: The throughput replace is pending + :ivar offer_replace_pending: The throughput replace is pending. :vartype offer_replace_pending: str - :ivar _rid: A system generated property. A unique identifier. - :vartype _rid: str - :ivar _ts: A system generated property that denotes the last updated - timestamp of the resource. - :vartype _ts: float - :ivar _etag: A system generated property representing the resource etag - required for optimistic concurrency control. - :vartype _etag: str """ _validation = { 'minimum_throughput': {'readonly': True}, 'offer_replace_pending': {'readonly': True}, - '_rid': {'readonly': True}, - '_ts': {'readonly': True}, - '_etag': {'readonly': True}, } _attribute_map = { @@ -6668,91 +8939,52 @@ class ThroughputSettingsGetPropertiesResource(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'}, 'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'}, 'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'}, - '_rid': {'key': '_rid', 'type': 'str'}, - '_ts': {'key': '_ts', 'type': 'float'}, - '_etag': {'key': '_etag', 'type': 'str'}, } - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: - super(ThroughputSettingsGetPropertiesResource, self).__init__(**kwargs) + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettingsResource"] = None, + **kwargs + ): + super(ThroughputSettingsResource, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings self.minimum_throughput = None self.offer_replace_pending = None - self._rid = None - self._ts = None - self._etag = None - - -class ThroughputSettingsGetResults(ARMResourceProperties): - """An Azure Cosmos DB resource throughput. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource - belongs. - :type location: str - :param tags: - :type tags: dict[str, str] - :param identity: - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource - """ - - _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}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsGetPropertiesResource'}, - } - - def __init__(self, *, location: str=None, tags=None, identity=None, resource=None, **kwargs) -> None: - super(ThroughputSettingsGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) - self.resource = resource -class ThroughputSettingsResource(Model): - """Cosmos DB resource throughput object. Either throughput is required or - autoscaleSettings is required, but not both. +class ThroughputSettingsGetPropertiesResource(ExtendedResourceProperties, ThroughputSettingsResource): + """ThroughputSettingsGetPropertiesResource. - 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 throughput: Value of the Cosmos DB resource throughput. Either - throughput is required or autoscaleSettings is required, but not both. + :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or + autoscaleSettings is required, but not both. :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. - Either throughput is required or autoscaleSettings is required, but not - both. - :type autoscale_settings: - ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource - :ivar minimum_throughput: The minimum throughput of the resource + :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + required or autoscaleSettings is required, but not both. + :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + :ivar minimum_throughput: The minimum throughput of the resource. :vartype minimum_throughput: str - :ivar offer_replace_pending: The throughput replace is pending + :ivar offer_replace_pending: The throughput replace is pending. :vartype offer_replace_pending: str + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str """ _validation = { 'minimum_throughput': {'readonly': True}, 'offer_replace_pending': {'readonly': True}, + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, } _attribute_map = { @@ -6760,23 +8992,32 @@ class ThroughputSettingsResource(Model): 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettingsResource'}, 'minimum_throughput': {'key': 'minimumThroughput', 'type': 'str'}, 'offer_replace_pending': {'key': 'offerReplacePending', 'type': 'str'}, - } - - def __init__(self, *, throughput: int=None, autoscale_settings=None, **kwargs) -> None: - super(ThroughputSettingsResource, self).__init__(**kwargs) + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, + } + + def __init__( + self, + *, + throughput: Optional[int] = None, + autoscale_settings: Optional["AutoscaleSettingsResource"] = None, + **kwargs + ): + super(ThroughputSettingsGetPropertiesResource, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings self.minimum_throughput = None self.offer_replace_pending = None + self.rid = None + self.ts = None + self.etag = None -class ThroughputSettingsUpdateParameters(ARMResourceProperties): - """Parameters to update Cosmos DB resource throughput. - - Variables are only populated by the server, and will be ignored when - sending a request. +class ThroughputSettingsGetResults(ARMResourceProperties): + """An Azure Cosmos DB resource throughput. - 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 id: The unique resource identifier of the ARM resource. :vartype id: str @@ -6784,23 +9025,25 @@ class ThroughputSettingsUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource - belongs. + :param location: The location of the resource group to which the resource belongs. :type location: str - :param tags: + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: + :param identity: Identity for the resource. :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a resource - throughput - :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource + :param resource: + :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'resource': {'required': True}, } _attribute_map = { @@ -6810,66 +9053,84 @@ class ThroughputSettingsUpdateParameters(ARMResourceProperties): 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsResource'}, + 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsGetPropertiesResource'}, } - def __init__(self, *, resource, location: str=None, tags=None, identity=None, **kwargs) -> None: - super(ThroughputSettingsUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + resource: Optional["ThroughputSettingsGetPropertiesResource"] = None, + **kwargs + ): + super(ThroughputSettingsGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource -class TrackedResource(Resource): - """Tracked Resource. - - The resource model definition for an Azure Resource Manager tracked top - level resource which has 'tags' and a 'location'. +class ThroughputSettingsUpdateParameters(ARMResourceProperties): + """Parameters to update Cosmos DB resource throughput. - 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. - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :ivar id: The unique resource identifier of the ARM resource. :vartype id: str - :ivar name: The name of the resource + :ivar name: The name of the ARM resource. :vartype name: str - :ivar type: The type of the resource. E.g. - "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :ivar type: The type of Azure resource. :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives + :param location: The location of the resource group to which the resource belongs. :type location: str + :param tags: A set of tags. Tags are 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 than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :type tags: dict[str, str] + :param identity: Identity for the resource. + :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :param resource: Required. The standard JSON format of a resource throughput. + :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'resource': {'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'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsResource'}, } - def __init__(self, *, location: str, tags=None, **kwargs) -> None: - super(TrackedResource, self).__init__(**kwargs) - self.tags = tags - self.location = location + def __init__( + self, + *, + resource: "ThroughputSettingsResource", + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedServiceIdentity"] = None, + **kwargs + ): + super(ThroughputSettingsUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) + self.resource = resource -class UniqueKey(Model): - """The unique key on that enforces uniqueness constraint on documents in the - collection in the Azure Cosmos DB service. +class UniqueKey(msrest.serialization.Model): + """The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - :param paths: List of paths must be unique for each document in the Azure - Cosmos DB service + :param paths: List of paths must be unique for each document in the Azure Cosmos DB service. :type paths: list[str] """ @@ -6877,17 +9138,21 @@ class UniqueKey(Model): 'paths': {'key': 'paths', 'type': '[str]'}, } - def __init__(self, *, paths=None, **kwargs) -> None: + def __init__( + self, + *, + paths: Optional[List[str]] = None, + **kwargs + ): super(UniqueKey, self).__init__(**kwargs) self.paths = paths -class UniqueKeyPolicy(Model): - """The unique key policy configuration for specifying uniqueness constraints - on documents in the collection in the Azure Cosmos DB service. +class UniqueKeyPolicy(msrest.serialization.Model): + """The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :param unique_keys: List of unique keys on that enforces uniqueness - constraint on documents in the collection in the Azure Cosmos DB service. + :param unique_keys: List of unique keys on that enforces uniqueness constraint on documents in + the collection in the Azure Cosmos DB service. :type unique_keys: list[~azure.mgmt.cosmosdb.models.UniqueKey] """ @@ -6895,28 +9160,64 @@ class UniqueKeyPolicy(Model): 'unique_keys': {'key': 'uniqueKeys', 'type': '[UniqueKey]'}, } - def __init__(self, *, unique_keys=None, **kwargs) -> None: + def __init__( + self, + *, + unique_keys: Optional[List["UniqueKey"]] = None, + **kwargs + ): super(UniqueKeyPolicy, self).__init__(**kwargs) self.unique_keys = unique_keys -class VirtualNetworkRule(Model): +class UsagesResult(msrest.serialization.Model): + """The response to a list usage request. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of usages for the database. A usage is a point in time metric. + :vartype value: list[~azure.mgmt.cosmosdb.models.Usage] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Usage]'}, + } + + def __init__( + self, + **kwargs + ): + super(UsagesResult, self).__init__(**kwargs) + self.value = None + + +class VirtualNetworkRule(msrest.serialization.Model): """Virtual Network ACL Rule object. :param id: Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. :type id: str - :param ignore_missing_vnet_service_endpoint: Create firewall rule before - the virtual network has vnet service endpoint enabled. - :type ignore_missing_vnet_service_endpoint: bool + :param ignore_missing_v_net_service_endpoint: Create firewall rule before the virtual network + has vnet service endpoint enabled. + :type ignore_missing_v_net_service_endpoint: bool """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - 'ignore_missing_vnet_service_endpoint': {'key': 'ignoreMissingVNetServiceEndpoint', 'type': 'bool'}, + 'ignore_missing_v_net_service_endpoint': {'key': 'ignoreMissingVNetServiceEndpoint', 'type': 'bool'}, } - def __init__(self, *, id: str=None, ignore_missing_vnet_service_endpoint: bool=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + ignore_missing_v_net_service_endpoint: Optional[bool] = None, + **kwargs + ): super(VirtualNetworkRule, self).__init__(**kwargs) self.id = id - self.ignore_missing_vnet_service_endpoint = ignore_missing_vnet_service_endpoint + self.ignore_missing_v_net_service_endpoint = ignore_missing_v_net_service_endpoint diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_paged_models.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_paged_models.py deleted file mode 100644 index 21c7b14a655..00000000000 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_paged_models.py +++ /dev/null @@ -1,456 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DatabaseAccountGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`DatabaseAccountGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DatabaseAccountGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(DatabaseAccountGetResultsPaged, self).__init__(*args, **kwargs) -class MetricPaged(Paged): - """ - A paging container for iterating over a list of :class:`Metric ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Metric]'} - } - - def __init__(self, *args, **kwargs): - - super(MetricPaged, 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 MetricDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`MetricDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[MetricDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(MetricDefinitionPaged, 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 PercentileMetricPaged(Paged): - """ - A paging container for iterating over a list of :class:`PercentileMetric ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PercentileMetric]'} - } - - def __init__(self, *args, **kwargs): - - super(PercentileMetricPaged, self).__init__(*args, **kwargs) -class PartitionMetricPaged(Paged): - """ - A paging container for iterating over a list of :class:`PartitionMetric ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PartitionMetric]'} - } - - def __init__(self, *args, **kwargs): - - super(PartitionMetricPaged, self).__init__(*args, **kwargs) -class PartitionUsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`PartitionUsage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PartitionUsage]'} - } - - def __init__(self, *args, **kwargs): - - super(PartitionUsagePaged, self).__init__(*args, **kwargs) -class SqlDatabaseGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`SqlDatabaseGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SqlDatabaseGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(SqlDatabaseGetResultsPaged, self).__init__(*args, **kwargs) -class SqlContainerGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`SqlContainerGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SqlContainerGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(SqlContainerGetResultsPaged, self).__init__(*args, **kwargs) -class SqlStoredProcedureGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`SqlStoredProcedureGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SqlStoredProcedureGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(SqlStoredProcedureGetResultsPaged, self).__init__(*args, **kwargs) -class SqlUserDefinedFunctionGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`SqlUserDefinedFunctionGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SqlUserDefinedFunctionGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(SqlUserDefinedFunctionGetResultsPaged, self).__init__(*args, **kwargs) -class SqlTriggerGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`SqlTriggerGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SqlTriggerGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(SqlTriggerGetResultsPaged, self).__init__(*args, **kwargs) -class SqlRoleDefinitionGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`SqlRoleDefinitionGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SqlRoleDefinitionGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(SqlRoleDefinitionGetResultsPaged, self).__init__(*args, **kwargs) -class SqlRoleAssignmentGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`SqlRoleAssignmentGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SqlRoleAssignmentGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(SqlRoleAssignmentGetResultsPaged, self).__init__(*args, **kwargs) -class MongoDBDatabaseGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`MongoDBDatabaseGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[MongoDBDatabaseGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(MongoDBDatabaseGetResultsPaged, self).__init__(*args, **kwargs) -class MongoDBCollectionGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`MongoDBCollectionGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[MongoDBCollectionGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(MongoDBCollectionGetResultsPaged, self).__init__(*args, **kwargs) -class TableGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`TableGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[TableGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(TableGetResultsPaged, self).__init__(*args, **kwargs) -class CassandraKeyspaceGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`CassandraKeyspaceGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[CassandraKeyspaceGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(CassandraKeyspaceGetResultsPaged, self).__init__(*args, **kwargs) -class CassandraTableGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`CassandraTableGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[CassandraTableGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(CassandraTableGetResultsPaged, self).__init__(*args, **kwargs) -class GremlinDatabaseGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`GremlinDatabaseGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[GremlinDatabaseGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(GremlinDatabaseGetResultsPaged, self).__init__(*args, **kwargs) -class GremlinGraphGetResultsPaged(Paged): - """ - A paging container for iterating over a list of :class:`GremlinGraphGetResults ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[GremlinGraphGetResults]'} - } - - def __init__(self, *args, **kwargs): - - super(GremlinGraphGetResultsPaged, self).__init__(*args, **kwargs) -class RestorableDatabaseAccountGetResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`RestorableDatabaseAccountGetResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RestorableDatabaseAccountGetResult]'} - } - - def __init__(self, *args, **kwargs): - - super(RestorableDatabaseAccountGetResultPaged, self).__init__(*args, **kwargs) -class NotebookWorkspacePaged(Paged): - """ - A paging container for iterating over a list of :class:`NotebookWorkspace ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NotebookWorkspace]'} - } - - def __init__(self, *args, **kwargs): - - super(NotebookWorkspacePaged, self).__init__(*args, **kwargs) -class RestorableSqlDatabaseGetResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`RestorableSqlDatabaseGetResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RestorableSqlDatabaseGetResult]'} - } - - def __init__(self, *args, **kwargs): - - super(RestorableSqlDatabaseGetResultPaged, self).__init__(*args, **kwargs) -class RestorableSqlContainerGetResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`RestorableSqlContainerGetResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RestorableSqlContainerGetResult]'} - } - - def __init__(self, *args, **kwargs): - - super(RestorableSqlContainerGetResultPaged, self).__init__(*args, **kwargs) -class DatabaseRestoreResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`DatabaseRestoreResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DatabaseRestoreResource]'} - } - - def __init__(self, *args, **kwargs): - - super(DatabaseRestoreResourcePaged, self).__init__(*args, **kwargs) -class RestorableMongodbDatabaseGetResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`RestorableMongodbDatabaseGetResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RestorableMongodbDatabaseGetResult]'} - } - - def __init__(self, *args, **kwargs): - - super(RestorableMongodbDatabaseGetResultPaged, self).__init__(*args, **kwargs) -class RestorableMongodbCollectionGetResultPaged(Paged): - """ - A paging container for iterating over a list of :class:`RestorableMongodbCollectionGetResult ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[RestorableMongodbCollectionGetResult]'} - } - - def __init__(self, *args, **kwargs): - - super(RestorableMongodbCollectionGetResultPaged, self).__init__(*args, **kwargs) -class ClusterResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`ClusterResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ClusterResource]'} - } - - def __init__(self, *args, **kwargs): - - super(ClusterResourcePaged, self).__init__(*args, **kwargs) -class BackupResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`BackupResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BackupResource]'} - } - - def __init__(self, *args, **kwargs): - - super(BackupResourcePaged, self).__init__(*args, **kwargs) -class DataCenterResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`DataCenterResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DataCenterResource]'} - } - - def __init__(self, *args, **kwargs): - - super(DataCenterResourcePaged, 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/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py index ebd6c66c266..deda0cd3267 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py @@ -1,12 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ._database_accounts_operations import DatabaseAccountsOperations @@ -28,6 +25,7 @@ from ._cassandra_resources_operations import CassandraResourcesOperations from ._gremlin_resources_operations import GremlinResourcesOperations from ._restorable_database_accounts_operations import RestorableDatabaseAccountsOperations +from ._cosmos_db_management_client_operations import CosmosDBManagementClientOperationsMixin from ._notebook_workspaces_operations import NotebookWorkspacesOperations from ._restorable_sql_databases_operations import RestorableSqlDatabasesOperations from ._restorable_sql_containers_operations import RestorableSqlContainersOperations @@ -39,8 +37,7 @@ from ._cassandra_data_centers_operations import CassandraDataCentersOperations from ._private_link_resources_operations import PrivateLinkResourcesOperations from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations -from ._cassandra_clusters_operations import CassandraClustersOperations -from ._cassandra_data_centers_operations import CassandraDataCentersOperations +from ._service_operations import ServiceOperations __all__ = [ 'DatabaseAccountsOperations', @@ -62,6 +59,7 @@ 'CassandraResourcesOperations', 'GremlinResourcesOperations', 'RestorableDatabaseAccountsOperations', + 'CosmosDBManagementClientOperationsMixin', 'NotebookWorkspacesOperations', 'RestorableSqlDatabasesOperations', 'RestorableSqlContainersOperations', @@ -73,6 +71,5 @@ 'CassandraDataCentersOperations', 'PrivateLinkResourcesOperations', 'PrivateEndpointConnectionsOperations', - 'CassandraClustersOperations', - 'CassandraDataCentersOperations' + 'ServiceOperations', ] diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py index 701dfcf091c..2a3f408d8a1 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py @@ -1,858 +1,992 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 CassandraClustersOperations(object): """CassandraClustersOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ListClusters"] """List all managed Cassandra clusters in 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 ClusterResource - :rtype: - ~azure.mgmt.cosmosdb.models.ClusterResourcePaged[~azure.mgmt.cosmosdb.models.ClusterResource] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListClusters or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ListClusters] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListClusters"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_subscription.metadata['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) + '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) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ListClusters', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ClusterResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters'} + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters'} # type: ignore def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ListClusters"] """List all managed Cassandra clusters in this resource group. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :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 ClusterResource - :rtype: - ~azure.mgmt.cosmosdb.models.ClusterResourcePaged[~azure.mgmt.cosmosdb.models.ClusterResource] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListClusters or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ListClusters] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListClusters"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_resource_group.metadata['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\._\(\)]+$') + '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) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ListClusters', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ClusterResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters'} + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters'} # type: ignore def get( - self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ClusterResource" """Get the properties of a managed Cassandra cluster. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :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: ClusterResource or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ClusterResource or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClusterResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ClusterResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get.metadata['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), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ClusterResource', response) + deserialized = self._deserialize('ClusterResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore def _delete_initial( - self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + if cls: + return cls(pipeline_response, None, {}) - def delete( - self, resource_group_name, cluster_name, custom_headers=None, raw=False, polling=True, **operation_config): + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes a managed Cassandra cluster. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :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:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore def _create_update_initial( - self, resource_group_name, cluster_name, body, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + cluster_name, # type: str + body, # type: "_models.ClusterResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.ClusterResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update.metadata['url'] + url = self._create_update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(body, 'ClusterResource') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(body, 'ClusterResource') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('ClusterResource', response) + deserialized = self._deserialize('ClusterResource', pipeline_response) + if response.status_code == 201: - deserialized = self._deserialize('ClusterResource', response) + deserialized = self._deserialize('ClusterResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update( - self, resource_group_name, cluster_name, body, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update a managed Cassandra cluster. When updating, you must - specify all writable properties. To update only some properties, use - PATCH. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + def begin_create_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + body, # type: "_models.ClusterResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ClusterResource"] + """Create or update a managed Cassandra cluster. When updating, you must specify all writable + properties. To update only some properties, use PATCH. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param body: The properties specifying the desired state of the - managed Cassandra cluster. + :param body: The properties specifying the desired state of the managed Cassandra cluster. :type body: ~azure.mgmt.cosmosdb.models.ClusterResource - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ClusterResource or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ClusterResource] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ClusterResource]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ClusterResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - body=body, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ClusterResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore def _update_initial( - self, resource_group_name, cluster_name, body, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + cluster_name, # type: str + body, # type: "_models.ClusterResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.ClusterResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update.metadata['url'] + url = self._update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(body, 'ClusterResource') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.patch(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(body, 'ClusterResource') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('ClusterResource', response) + deserialized = self._deserialize('ClusterResource', pipeline_response) + if response.status_code == 202: - deserialized = self._deserialize('ClusterResource', response) + deserialized = self._deserialize('ClusterResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update( - self, resource_group_name, cluster_name, body, custom_headers=None, raw=False, polling=True, **operation_config): + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + body, # type: "_models.ClusterResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ClusterResource"] """Updates some of the properties of a managed Cassandra cluster. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param body: Parameters to provide for specifying the managed - Cassandra cluster. + :param body: Parameters to provide for specifying the managed Cassandra cluster. :type body: ~azure.mgmt.cosmosdb.models.ClusterResource - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ClusterResource or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ClusterResource] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ClusterResource]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ClusterResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - body=body, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ClusterResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.DocumentDB/cassandraClusters/{clusterName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore def _request_repair_initial( - self, resource_group_name, cluster_name, keyspace, tables=None, custom_headers=None, raw=False, **operation_config): - body = models.RepairPostBody(keyspace=keyspace, tables=tables) + self, + resource_group_name, # type: str + cluster_name, # type: str + body, # type: "_models.RepairPostBody" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.request_repair.metadata['url'] + url = self._request_repair_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(body, 'RepairPostBody') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(body, 'RepairPostBody') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def request_repair( - self, resource_group_name, cluster_name, keyspace, tables=None, custom_headers=None, raw=False, polling=True, **operation_config): + 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, {}) + + _request_repair_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore + + def begin_request_repair( + self, + resource_group_name, # type: str + cluster_name, # type: str + body, # type: "_models.RepairPostBody" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Request that repair begin on this cluster as soon as possible. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param keyspace: The name of the keyspace that repair should be run - on. - :type keyspace: str - :param tables: List of tables in the keyspace to repair. If omitted, - repair all tables in the keyspace. - :type tables: 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` + :param body: Specification of what keyspaces and tables to run repair on. + :type body: ~azure.mgmt.cosmosdb.models.RepairPostBody + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._request_repair_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - keyspace=keyspace, - tables=tables, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._request_repair_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - request_repair.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_request_repair.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore def _fetch_node_status_initial( - self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ClusterNodeStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ClusterNodeStatus"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.fetch_node_status.metadata['url'] + url = self._fetch_node_status_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ClusterNodeStatus', response) + deserialized = self._deserialize('ClusterNodeStatus', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def fetch_node_status( - self, resource_group_name, cluster_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Request the status of all nodes in the cluster (as returned by - 'nodetool status'). - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _fetch_node_status_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore + + def begin_fetch_node_status( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ClusterNodeStatus"] + """Request the status of all nodes in the cluster (as returned by 'nodetool status'). + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :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 ClusterNodeStatus or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ClusterNodeStatus] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ClusterNodeStatus]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ClusterNodeStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ClusterNodeStatus] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._fetch_node_status_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterNodeStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ClusterNodeStatus', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._fetch_node_status_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ClusterNodeStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - fetch_node_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} - - def list_backups_method( - self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_fetch_node_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore + + def list_backups( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ListBackups"] """List the backups of this cluster that are available to restore. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :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 BackupResource - :rtype: - ~azure.mgmt.cosmosdb.models.BackupResourcePaged[~azure.mgmt.cosmosdb.models.BackupResource] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListBackups or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ListBackups] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBackups"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_backups_method.metadata['url'] + url = self.list_backups.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ListBackups', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.BackupResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_backups_method.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups'} + return ItemPaged( + get_next, extract_data + ) + list_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups'} # type: ignore def get_backup( - self, resource_group_name, cluster_name, backup_id, custom_headers=None, raw=False, **operation_config): - """Get the properties of an individual backup of this cluster that is - available to restore. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + cluster_name, # type: str + backup_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.BackupResource" + """Get the properties of an individual backup of this cluster that is available to restore. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str :param backup_id: Id of a restorable backup of a Cassandra cluster. :type backup_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: BackupResource or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.BackupResource or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BackupResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.BackupResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_backup.metadata['url'] + url = self.get_backup.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), - 'backupId': self._serialize.url("backup_id", backup_id, 'str', max_length=15, min_length=1, pattern=r'^[0-9]+$') + 'backupId': self._serialize.url("backup_id", backup_id, 'str', max_length=15, min_length=1, pattern=r'^[0-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('BackupResource', response) + deserialized = self._deserialize('BackupResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}'} + get_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py index 7fc6324b98c..4896dd2ee4a 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py @@ -1,489 +1,578 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 CassandraDataCentersOperations(object): """CassandraDataCentersOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, resource_group_name, cluster_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ListDataCenters"] """List all data centers in a particular managed Cassandra cluster. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :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 DataCenterResource - :rtype: - ~azure.mgmt.cosmosdb.models.DataCenterResourcePaged[~azure.mgmt.cosmosdb.models.DataCenterResource] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListDataCenters or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ListDataCenters] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListDataCenters"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ListDataCenters', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DataCenterResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters'} # type: ignore def get( - self, resource_group_name, cluster_name, data_center_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + cluster_name, # type: str + data_center_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.DataCenterResource" """Get the properties of a managed Cassandra data center. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param data_center_name: Data center name in a managed Cassandra - cluster. + :param data_center_name: Data center name in a managed Cassandra cluster. :type data_center_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: DataCenterResource or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.DataCenterResource or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataCenterResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DataCenterResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get.metadata['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), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('DataCenterResource', response) + deserialized = self._deserialize('DataCenterResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore def _delete_initial( - self, resource_group_name, cluster_name, data_center_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + cluster_name, # type: str + data_center_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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, cluster_name, data_center_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + data_center_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Delete a managed Cassandra data center. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param data_center_name: Data center name in a managed Cassandra - cluster. + :param data_center_name: Data center name in a managed Cassandra cluster. :type data_center_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - data_center_name=data_center_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore def _create_update_initial( - self, resource_group_name, cluster_name, data_center_name, properties=None, custom_headers=None, raw=False, **operation_config): - body = models.DataCenterResource(properties=properties) + self, + resource_group_name, # type: str + cluster_name, # type: str + data_center_name, # type: str + body, # type: "_models.DataCenterResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.DataCenterResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create_update.metadata['url'] + url = self._create_update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(body, 'DataCenterResource') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(body, 'DataCenterResource') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('DataCenterResource', response) + deserialized = self._deserialize('DataCenterResource', pipeline_response) + if response.status_code == 201: - deserialized = self._deserialize('DataCenterResource', response) + deserialized = self._deserialize('DataCenterResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update( - self, resource_group_name, cluster_name, data_center_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update a managed Cassandra data center. When updating, - overwrite all properties. To update only some properties, use PATCH. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + def begin_create_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + data_center_name, # type: str + body, # type: "_models.DataCenterResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.DataCenterResource"] + """Create or update a managed Cassandra data center. When updating, overwrite all properties. To + update only some properties, use PATCH. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param data_center_name: Data center name in a managed Cassandra - cluster. + :param data_center_name: Data center name in a managed Cassandra cluster. :type data_center_name: str - :param properties: Properties of a managed Cassandra data center. - :type properties: - ~azure.mgmt.cosmosdb.models.DataCenterResourceProperties - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DataCenterResource or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.DataCenterResource]] - :raises: :class:`CloudError` + :param body: Parameters specifying the managed Cassandra data center. + :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either DataCenterResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - data_center_name=data_center_name, - properties=properties, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('DataCenterResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore def _update_initial( - self, resource_group_name, cluster_name, data_center_name, properties=None, custom_headers=None, raw=False, **operation_config): - body = models.DataCenterResource(properties=properties) + self, + resource_group_name, # type: str + cluster_name, # type: str + data_center_name, # type: str + body, # type: "_models.DataCenterResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.DataCenterResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.update.metadata['url'] + url = self._update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*') + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(body, 'DataCenterResource') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.patch(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(body, 'DataCenterResource') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('DataCenterResource', response) + deserialized = self._deserialize('DataCenterResource', pipeline_response) + if response.status_code == 202: - deserialized = self._deserialize('DataCenterResource', response) + deserialized = self._deserialize('DataCenterResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update( - self, resource_group_name, cluster_name, data_center_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + data_center_name, # type: str + body, # type: "_models.DataCenterResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.DataCenterResource"] """Update some of the properties of a managed Cassandra data center. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param data_center_name: Data center name in a managed Cassandra - cluster. + :param data_center_name: Data center name in a managed Cassandra cluster. :type data_center_name: str - :param properties: Properties of a managed Cassandra data center. - :type properties: - ~azure.mgmt.cosmosdb.models.DataCenterResourceProperties - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns DataCenterResource or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.DataCenterResource]] - :raises: :class:`CloudError` + :param body: Parameters to provide for specifying the managed Cassandra data center. + :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either DataCenterResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - data_center_name=data_center_name, - properties=properties, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('DataCenterResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataCenterResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py index c75d5ca7df4..0f73d2c0347 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py @@ -1,836 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 CassandraResourcesOperations(object): """CassandraResourcesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_cassandra_keyspaces( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the Cassandra keyspaces under an existing Azure Cosmos DB - database account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.CassandraKeyspaceListResult"] + """Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 CassandraKeyspaceGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResultsPaged[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CassandraKeyspaceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.CassandraKeyspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_cassandra_keyspaces.metadata['url'] + url = self.list_cassandra_keyspaces.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('CassandraKeyspaceListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.CassandraKeyspaceGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_cassandra_keyspaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces'} + return ItemPaged( + get_next, extract_data + ) + list_cassandra_keyspaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces'} # type: ignore def get_cassandra_keyspace( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, **operation_config): - """Gets the Cassandra keyspaces under an existing Azure Cosmos DB database - account with the provided name. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CassandraKeyspaceGetResults" + """Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the + provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: CassandraKeyspaceGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CassandraKeyspaceGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_cassandra_keyspace.metadata['url'] + url = self.get_cassandra_keyspace.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CassandraKeyspaceGetResults', response) + deserialized = self._deserialize('CassandraKeyspaceGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} - + get_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore def _create_update_cassandra_keyspace_initial( - self, resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + create_update_cassandra_keyspace_parameters, # type: "_models.CassandraKeyspaceCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.CassandraKeyspaceGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.CassandraKeyspaceGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_cassandra_keyspace.metadata['url'] + url = self._create_update_cassandra_keyspace_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_cassandra_keyspace_parameters, 'CassandraKeyspaceCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_cassandra_keyspace_parameters, 'CassandraKeyspaceCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CassandraKeyspaceGetResults', response) + deserialized = self._deserialize('CassandraKeyspaceGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_cassandra_keyspace( - self, resource_group_name, account_name, keyspace_name, create_update_cassandra_keyspace_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + def begin_create_update_cassandra_keyspace( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + create_update_cassandra_keyspace_parameters, # type: "_models.CassandraKeyspaceCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.CassandraKeyspaceGetResults"] """Create or update an Azure Cosmos DB Cassandra keyspace. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param create_update_cassandra_keyspace_parameters: The parameters to - provide for the current Cassandra keyspace. - :type create_update_cassandra_keyspace_parameters: - ~azure.mgmt.cosmosdb.models.CassandraKeyspaceCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - CassandraKeyspaceGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults]] - :raises: :class:`CloudError` + :param create_update_cassandra_keyspace_parameters: The parameters to provide for the current + Cassandra keyspace. + :type create_update_cassandra_keyspace_parameters: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either CassandraKeyspaceGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_cassandra_keyspace_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - create_update_cassandra_keyspace_parameters=create_update_cassandra_keyspace_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('CassandraKeyspaceGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_cassandra_keyspace_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + create_update_cassandra_keyspace_parameters=create_update_cassandra_keyspace_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('CassandraKeyspaceGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore def _delete_cassandra_keyspace_initial( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_cassandra_keyspace.metadata['url'] + url = self._delete_cassandra_keyspace_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_cassandra_keyspace( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + def begin_delete_cassandra_keyspace( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB Cassandra keyspace. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_cassandra_keyspace_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_cassandra_keyspace_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore def get_cassandra_keyspace_throughput( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the Cassandra Keyspace under an existing - Azure Cosmos DB database account with the provided name. + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database + account with the provided name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_cassandra_keyspace_throughput.metadata['url'] + url = self.get_cassandra_keyspace_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} - + get_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore def _update_cassandra_keyspace_throughput_initial( - self, resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_cassandra_keyspace_throughput.metadata['url'] + url = self._update_cassandra_keyspace_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_cassandra_keyspace_throughput( - self, resource_group_name, account_name, keyspace_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_cassandra_keyspace_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + + def begin_update_cassandra_keyspace_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of an Azure Cosmos DB Cassandra Keyspace. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param update_throughput_parameters: The RUs per second of the - parameters to provide for the current Cassandra Keyspace. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Cassandra Keyspace. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_cassandra_keyspace_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_cassandra_keyspace_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore def _migrate_cassandra_keyspace_to_autoscale_initial( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_cassandra_keyspace_to_autoscale.metadata['url'] + url = self._migrate_cassandra_keyspace_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_cassandra_keyspace_to_autoscale( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_cassandra_keyspace_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_cassandra_keyspace_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_cassandra_keyspace_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_cassandra_keyspace_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_cassandra_keyspace_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_cassandra_keyspace_to_manual_throughput_initial( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_cassandra_keyspace_to_manual_throughput.metadata['url'] + url = self._migrate_cassandra_keyspace_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_cassandra_keyspace_to_manual_throughput( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_cassandra_keyspace_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_cassandra_keyspace_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_cassandra_keyspace_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_cassandra_keyspace_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_cassandra_keyspace_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore def list_cassandra_tables( - self, resource_group_name, account_name, keyspace_name, custom_headers=None, raw=False, **operation_config): - """Lists the Cassandra table under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.CassandraTableListResult"] + """Lists the Cassandra table under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of CassandraTableGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.CassandraTableGetResultsPaged[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CassandraTableListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.CassandraTableListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_cassandra_tables.metadata['url'] + url = self.list_cassandra_tables.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str') + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('CassandraTableListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.CassandraTableGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_cassandra_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables'} + return ItemPaged( + get_next, extract_data + ) + list_cassandra_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables'} # type: ignore def get_cassandra_table( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, **operation_config): - """Gets the Cassandra table under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CassandraTableGetResults" + """Gets the Cassandra table under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -838,119 +985,127 @@ def get_cassandra_table( :type keyspace_name: str :param table_name: Cosmos DB table name. :type 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: CassandraTableGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.CassandraTableGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CassandraTableGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.CassandraTableGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_cassandra_table.metadata['url'] + url = self.get_cassandra_table.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CassandraTableGetResults', response) + deserialized = self._deserialize('CassandraTableGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} - + get_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore def _create_update_cassandra_table_initial( - self, resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + create_update_cassandra_table_parameters, # type: "_models.CassandraTableCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.CassandraTableGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.CassandraTableGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_cassandra_table.metadata['url'] + url = self._create_update_cassandra_table_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(create_update_cassandra_table_parameters, 'CassandraTableCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_cassandra_table_parameters, 'CassandraTableCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CassandraTableGetResults', response) + deserialized = self._deserialize('CassandraTableGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_cassandra_table( - self, resource_group_name, account_name, keyspace_name, table_name, create_update_cassandra_table_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + def begin_create_update_cassandra_table( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + create_update_cassandra_table_parameters, # type: "_models.CassandraTableCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.CassandraTableGetResults"] """Create or update an Azure Cosmos DB Cassandra Table. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -958,99 +1113,128 @@ def create_update_cassandra_table( :type keyspace_name: str :param table_name: Cosmos DB table name. :type table_name: str - :param create_update_cassandra_table_parameters: The parameters to - provide for the current Cassandra Table. - :type create_update_cassandra_table_parameters: - ~azure.mgmt.cosmosdb.models.CassandraTableCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - CassandraTableGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.CassandraTableGetResults]] - :raises: :class:`CloudError` + :param create_update_cassandra_table_parameters: The parameters to provide for the current + Cassandra Table. + :type create_update_cassandra_table_parameters: ~azure.mgmt.cosmosdb.models.CassandraTableCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either CassandraTableGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_cassandra_table_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - table_name=table_name, - create_update_cassandra_table_parameters=create_update_cassandra_table_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('CassandraTableGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_cassandra_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + create_update_cassandra_table_parameters=create_update_cassandra_table_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('CassandraTableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore def _delete_cassandra_table_initial( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_cassandra_table.metadata['url'] + url = self._delete_cassandra_table_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_cassandra_table( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + def begin_delete_cassandra_table( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB Cassandra table. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1058,48 +1242,75 @@ def delete_cassandra_table( :type keyspace_name: str :param table_name: Cosmos DB table name. :type 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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_cassandra_table_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - table_name=table_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_cassandra_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore def get_cassandra_table_throughput( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the Cassandra table under an existing Azure - Cosmos DB database account with the provided name. + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database + account with the provided name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1107,119 +1318,127 @@ def get_cassandra_table_throughput( :type keyspace_name: str :param table_name: Cosmos DB table name. :type 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: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_cassandra_table_throughput.metadata['url'] + url = self.get_cassandra_table_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} - + get_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore def _update_cassandra_table_throughput_initial( - self, resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_cassandra_table_throughput.metadata['url'] + url = self._update_cassandra_table_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_cassandra_table_throughput( - self, resource_group_name, account_name, keyspace_name, table_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_cassandra_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + def begin_update_cassandra_table_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of an Azure Cosmos DB Cassandra table. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1227,108 +1446,135 @@ def update_cassandra_table_throughput( :type keyspace_name: str :param table_name: Cosmos DB table name. :type table_name: str - :param update_throughput_parameters: The RUs per second of the - parameters to provide for the current Cassandra table. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Cassandra table. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_cassandra_table_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - table_name=table_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_cassandra_table_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore def _migrate_cassandra_table_to_autoscale_initial( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_cassandra_table_to_autoscale.metadata['url'] + url = self._migrate_cassandra_table_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_cassandra_table_to_autoscale( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Cassandra table from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_cassandra_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_cassandra_table_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1336,103 +1582,131 @@ def migrate_cassandra_table_to_autoscale( :type keyspace_name: str :param table_name: Cosmos DB table name. :type 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 - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_cassandra_table_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - table_name=table_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_cassandra_table_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_cassandra_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_cassandra_table_to_manual_throughput_initial( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_cassandra_table_to_manual_throughput.metadata['url'] + url = self._migrate_cassandra_table_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_cassandra_table_to_manual_throughput( - self, resource_group_name, account_name, keyspace_name, table_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Cassandra table from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_cassandra_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_cassandra_table_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + keyspace_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1440,44 +1714,61 @@ def migrate_cassandra_table_to_manual_throughput( :type keyspace_name: str :param table_name: Cosmos DB table name. :type 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 - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_cassandra_table_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - keyspace_name=keyspace_name, - table_name=table_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_cassandra_table_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_cassandra_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py index 40227cd84d0..2e970ca3bd8 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py @@ -1,51 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 CollectionOperations(object): """CollectionOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, database_rid, collection_rid, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - database account and collection. + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + collection_rid, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricListResult"] + """Retrieves the metrics determined by the given filter for the given database account and + collection. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -53,85 +66,88 @@ def list_metrics( :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 Metric - :rtype: - ~azure.mgmt.cosmosdb.models.MetricPaged[~azure.mgmt.cosmosdb.models.Metric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str') + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics'} # type: ignore def list_usages( - self, resource_group_name, account_name, database_rid, collection_rid, filter=None, custom_headers=None, raw=False, **operation_config): - """Retrieves the usages (most recent storage data) for the given - collection. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + collection_rid, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.UsagesResult"] + """Retrieves the usages (most recent storage data) for the given collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -139,84 +155,87 @@ def list_usages( :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param filter: An OData filter expression that describes a subset of - usages to return. The supported parameter is name.value (name of the - metric, can have an or of multiple names). + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). :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 Usage - :rtype: - ~azure.mgmt.cosmosdb.models.UsagePaged[~azure.mgmt.cosmosdb.models.Usage] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UsagesResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.UsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_usages.metadata['url'] + url = self.list_usages.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str') + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), } url = self._client.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 = {} # 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('UsagesResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages'} + return ItemPaged( + get_next, extract_data + ) + list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages'} # type: ignore def list_metric_definitions( - self, resource_group_name, account_name, database_rid, collection_rid, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + collection_rid, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricDefinitionsListResult"] """Retrieves metric definitions for the given collection. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -224,68 +243,66 @@ def list_metric_definitions( :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of MetricDefinition - :rtype: - ~azure.mgmt.cosmosdb.models.MetricDefinitionPaged[~azure.mgmt.cosmosdb.models.MetricDefinition] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metric_definitions.metadata['url'] + url = self.list_metric_definitions.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str') + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricDefinitionsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions'} + return ItemPaged( + get_next, extract_data + ) + list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py index 23c5e18c737..b211b374cdc 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py @@ -1,51 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 CollectionPartitionOperations(object): """CollectionPartitionOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, database_rid, collection_rid, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - collection, split by partition. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + collection_rid, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PartitionMetricListResult"] + """Retrieves the metrics determined by the given filter for the given collection, split by + partition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -53,85 +66,88 @@ def list_metrics( :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 PartitionMetric - :rtype: - ~azure.mgmt.cosmosdb.models.PartitionMetricPaged[~azure.mgmt.cosmosdb.models.PartitionMetric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str') + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PartitionMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} # type: ignore def list_usages( - self, resource_group_name, account_name, database_rid, collection_rid, filter=None, custom_headers=None, raw=False, **operation_config): - """Retrieves the usages (most recent storage data) for the given - collection, split by partition. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + collection_rid, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PartitionUsagesResult"] + """Retrieves the usages (most recent storage data) for the given collection, split by partition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -139,74 +155,71 @@ def list_usages( :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param filter: An OData filter expression that describes a subset of - usages to return. The supported parameter is name.value (name of the - metric, can have an or of multiple names). + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). :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 PartitionUsage - :rtype: - ~azure.mgmt.cosmosdb.models.PartitionUsagePaged[~azure.mgmt.cosmosdb.models.PartitionUsage] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PartitionUsagesResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionUsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionUsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_usages.metadata['url'] + url = self.list_usages.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str') + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), } url = self._client.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 = {} # 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionUsagesResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PartitionUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages'} + return ItemPaged( + get_next, extract_data + ) + list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py index 6f35e35f9e4..044df9aa535 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py @@ -1,130 +1,140 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 CollectionPartitionRegionOperations(object): """CollectionPartitionRegionOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, region, database_rid, collection_rid, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - collection and region, split by partition. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + region, # type: str + database_rid, # type: str + collection_rid, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PartitionMetricListResult"] + """Retrieves the metrics determined by the given filter for the given collection and region, split + by partition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param region: Cosmos DB region, with spaces between words and each - word capitalized. + :param region: Cosmos DB region, with spaces between words and each word capitalized. :type region: str :param database_rid: Cosmos DB database rid. :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 PartitionMetric - :rtype: - ~azure.mgmt.cosmosdb.models.PartitionMetricPaged[~azure.mgmt.cosmosdb.models.PartitionMetric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'region': self._serialize.url("region", region, 'str'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str') + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PartitionMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py index 6301be33211..e9d9cf97fb0 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py @@ -1,130 +1,140 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 CollectionRegionOperations(object): """CollectionRegionOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, region, database_rid, collection_rid, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - database account, collection and region. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + region, # type: str + database_rid, # type: str + collection_rid, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricListResult"] + """Retrieves the metrics determined by the given filter for the given database account, collection + and region. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param region: Cosmos DB region, with spaces between words and each - word capitalized. + :param region: Cosmos DB region, with spaces between words and each word capitalized. :type region: str :param database_rid: Cosmos DB database rid. :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 Metric - :rtype: - ~azure.mgmt.cosmosdb.models.MetricPaged[~azure.mgmt.cosmosdb.models.Metric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'region': self._serialize.url("region", region, 'str'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str') + 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cosmos_db_management_client_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cosmos_db_management_client_operations.py new file mode 100644 index 00000000000..3d245251db0 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cosmos_db_management_client_operations.py @@ -0,0 +1,148 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 CosmosDBManagementClientOperationsMixin(object): + + def location_list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.LocationListResult"] + """List Cosmos DB locations and their properties. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LocationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.LocationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.location_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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('LocationListResult', 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 + ) + location_list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations'} # type: ignore + + def location_get( + self, + location, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.LocationGetResult" + """Get the properties of an existing Cosmos DB location. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocationGetResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.LocationGetResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationGetResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.location_get.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('LocationGetResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + location_get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py index f75a4a05045..72381396e02 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py @@ -1,124 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 DatabaseAccountRegionOperations(object): """DatabaseAccountRegionOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, region, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - database account and region. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + region, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricListResult"] + """Retrieves the metrics determined by the given filter for the given database account and region. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param region: Cosmos DB region, with spaces between words and each - word capitalized. + :param region: Cosmos DB region, with spaces between words and each word capitalized. :type region: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 Metric - :rtype: - ~azure.mgmt.cosmosdb.models.MetricPaged[~azure.mgmt.cosmosdb.models.Metric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, 'str') + 'region': self._serialize.url("region", region, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py index 3a1c76a5e29..7a603954b19 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py @@ -1,1442 +1,1612 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 DatabaseAccountsOperations(object): """DatabaseAccountsOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def get( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the properties of an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.DatabaseAccountGetResults" + """Retrieves the properties of an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: DatabaseAccountGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get.metadata['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), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('DatabaseAccountGetResults', response) + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore def _update_initial( - self, resource_group_name, account_name, update_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + update_parameters, # type: "_models.DatabaseAccountUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> "_models.DatabaseAccountGetResults" + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update.metadata['url'] + url = self._update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(update_parameters, 'DatabaseAccountUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.patch(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(update_parameters, 'DatabaseAccountUpdateParameters') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if response.status_code == 200: - deserialized = self._deserialize('DatabaseAccountGetResults', response) + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update( - self, resource_group_name, account_name, update_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + account_name, # type: str + update_parameters, # type: "_models.DatabaseAccountUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.DatabaseAccountGetResults"] """Updates the properties of an existing Azure Cosmos DB database account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param update_parameters: The parameters to provide for the current - database account. - :type update_parameters: - ~azure.mgmt.cosmosdb.models.DatabaseAccountUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - DatabaseAccountGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults]] - :raises: :class:`CloudError` + :param update_parameters: The parameters to provide for the current database account. + :type update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either DatabaseAccountGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - account_name=account_name, - update_parameters=update_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('DatabaseAccountGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + update_parameters=update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.DocumentDB/databaseAccounts/{accountName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore def _create_or_update_initial( - self, resource_group_name, account_name, create_update_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + create_update_parameters, # type: "_models.DatabaseAccountCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> "_models.DatabaseAccountGetResults" + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_or_update.metadata['url'] + url = self._create_or_update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(create_update_parameters, 'DatabaseAccountCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_parameters, 'DatabaseAccountCreateUpdateParameters') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if response.status_code == 200: - deserialized = self._deserialize('DatabaseAccountGetResults', response) + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_or_update( - self, resource_group_name, account_name, create_update_parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates an Azure Cosmos DB database account. The "Update" - method is preferred when performing updates on an account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + account_name, # type: str + create_update_parameters, # type: "_models.DatabaseAccountCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.DatabaseAccountGetResults"] + """Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when + performing updates on an account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param create_update_parameters: The parameters to provide for the - current database account. - :type create_update_parameters: - ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - DatabaseAccountGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults]] - :raises: :class:`CloudError` + :param create_update_parameters: The parameters to provide for the current database account. + :type create_update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either DatabaseAccountGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - account_name=account_name, - create_update_parameters=create_update_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('DatabaseAccountGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + create_update_parameters=create_update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatabaseAccountGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore def _delete_initial( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + if cls: + return cls(pipeline_response, None, {}) - def delete( - self, resource_group_name, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB database account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore def _failover_priority_change_initial( - self, resource_group_name, account_name, failover_policies, custom_headers=None, raw=False, **operation_config): - failover_parameters = models.FailoverPolicies(failover_policies=failover_policies) + self, + resource_group_name, # type: str + account_name, # type: str + failover_parameters, # type: "_models.FailoverPolicies" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") # Construct URL - url = self.failover_priority_change.metadata['url'] + url = self._failover_priority_change_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(failover_parameters, 'FailoverPolicies') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # 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(failover_parameters, 'FailoverPolicies') + 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 [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 failover_priority_change( - self, resource_group_name, account_name, failover_policies, custom_headers=None, raw=False, polling=True, **operation_config): - """Changes the failover priority for the Azure Cosmos DB database account. - A failover priority of 0 indicates a write region. The maximum value - for a failover priority = (total number of regions - 1). Failover - priority values must be unique for each of the regions in which the + 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, {}) + + _failover_priority_change_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore + + def begin_failover_priority_change( + self, + resource_group_name, # type: str + account_name, # type: str + failover_parameters, # type: "_models.FailoverPolicies" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Changes the failover priority for the Azure Cosmos DB database account. A failover priority of + 0 indicates a write region. The maximum value for a failover priority = (total number of + regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param failover_policies: List of failover policies. - :type failover_policies: - list[~azure.mgmt.cosmosdb.models.FailoverPolicy] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :param failover_parameters: The new failover policies for the database account. + :type failover_parameters: ~azure.mgmt.cosmosdb.models.FailoverPolicies + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._failover_priority_change_initial( - resource_group_name=resource_group_name, - account_name=account_name, - failover_policies=failover_policies, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._failover_priority_change_initial( + resource_group_name=resource_group_name, + account_name=account_name, + failover_parameters=failover_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - failover_priority_change.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_failover_priority_change.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the Azure Cosmos DB database accounts available under the - 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 DatabaseAccountGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.DatabaseAccountGetResultsPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - :raises: :class:`CloudError` + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.DatabaseAccountsListResult"] + """Lists all the Azure Cosmos DB database accounts available under the subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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) + '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) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('DatabaseAccountsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DatabaseAccountGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts'} # type: ignore def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Lists all the Azure Cosmos DB database accounts available under the - given resource group. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.DatabaseAccountsListResult"] + """Lists all the Azure Cosmos DB database accounts available under the given 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 DatabaseAccountGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.DatabaseAccountGetResultsPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_resource_group.metadata['url'] + url = self.list_by_resource_group.metadata['url'] # type: ignore 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) + '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) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('DatabaseAccountsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DatabaseAccountGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts'} + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts'} # type: ignore def list_keys( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the access keys for the specified Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.DatabaseAccountListKeysResult" + """Lists the access keys for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: DatabaseAccountListKeysResult or ClientRawResponse if - raw=true - :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListKeysResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListKeysResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.list_keys.metadata['url'] + url = self.list_keys.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('DatabaseAccountListKeysResult', response) + deserialized = self._deserialize('DatabaseAccountListKeysResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys'} + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys'} # type: ignore def list_connection_strings( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the connection strings for the specified Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.DatabaseAccountListConnectionStringsResult" + """Lists the connection strings for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: DatabaseAccountListConnectionStringsResult or - ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.cosmosdb.models.DatabaseAccountListConnectionStringsResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListConnectionStringsResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListConnectionStringsResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListConnectionStringsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.list_connection_strings.metadata['url'] + url = self.list_connection_strings.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('DatabaseAccountListConnectionStringsResult', response) + deserialized = self._deserialize('DatabaseAccountListConnectionStringsResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_connection_strings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings'} - + list_connection_strings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings'} # type: ignore def _offline_region_initial( - self, resource_group_name, account_name, region, custom_headers=None, raw=False, **operation_config): - region_parameter_for_offline = models.RegionForOnlineOffline(region=region) + self, + resource_group_name, # type: str + account_name, # type: str + region_parameter_for_offline, # type: "_models.RegionForOnlineOffline" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.offline_region.metadata['url'] + url = self._offline_region_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(region_parameter_for_offline, 'RegionForOnlineOffline') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(region_parameter_for_offline, 'RegionForOnlineOffline') + 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]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def offline_region( - self, resource_group_name, account_name, region, custom_headers=None, raw=False, polling=True, **operation_config): - """Offline the specified region for the specified Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _offline_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore + + def begin_offline_region( + self, + resource_group_name, # type: str + account_name, # type: str + region_parameter_for_offline, # type: "_models.RegionForOnlineOffline" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Offline the specified region for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param region: Cosmos DB region, with spaces between words and each - word capitalized. - :type region: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that 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` + :param region_parameter_for_offline: Cosmos DB region to offline for the database account. + :type region_parameter_for_offline: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._offline_region_initial( - resource_group_name=resource_group_name, - account_name=account_name, - region=region, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._offline_region_initial( + resource_group_name=resource_group_name, + account_name=account_name, + region_parameter_for_offline=region_parameter_for_offline, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - offline_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_offline_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore def _online_region_initial( - self, resource_group_name, account_name, region, custom_headers=None, raw=False, **operation_config): - region_parameter_for_online = models.RegionForOnlineOffline(region=region) + self, + resource_group_name, # type: str + account_name, # type: str + region_parameter_for_online, # type: "_models.RegionForOnlineOffline" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.online_region.metadata['url'] + url = self._online_region_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(region_parameter_for_online, 'RegionForOnlineOffline') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(region_parameter_for_online, 'RegionForOnlineOffline') + 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]: - raise models.ErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def online_region( - self, resource_group_name, account_name, region, custom_headers=None, raw=False, polling=True, **operation_config): - """Online the specified region for the specified Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _online_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore + + def begin_online_region( + self, + resource_group_name, # type: str + account_name, # type: str + region_parameter_for_online, # type: "_models.RegionForOnlineOffline" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Online the specified region for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param region: Cosmos DB region, with spaces between words and each - word capitalized. - :type region: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that 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` + :param region_parameter_for_online: Cosmos DB region to online for the database account. + :type region_parameter_for_online: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._online_region_initial( - resource_group_name=resource_group_name, - account_name=account_name, - region=region, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._online_region_initial( + resource_group_name=resource_group_name, + account_name=account_name, + region_parameter_for_online=region_parameter_for_online, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - online_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_online_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore def get_read_only_keys( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the read-only access keys for the specified Azure Cosmos DB - database account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.DatabaseAccountListReadOnlyKeysResult" + """Lists the read-only access keys for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: DatabaseAccountListReadOnlyKeysResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.cosmosdb.models.DatabaseAccountListReadOnlyKeysResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListReadOnlyKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListReadOnlyKeysResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListReadOnlyKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_read_only_keys.metadata['url'] + url = self.get_read_only_keys.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('DatabaseAccountListReadOnlyKeysResult', response) + deserialized = self._deserialize('DatabaseAccountListReadOnlyKeysResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} + get_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore def list_read_only_keys( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the read-only access keys for the specified Azure Cosmos DB - database account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.DatabaseAccountListReadOnlyKeysResult" + """Lists the read-only access keys for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: DatabaseAccountListReadOnlyKeysResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.cosmosdb.models.DatabaseAccountListReadOnlyKeysResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseAccountListReadOnlyKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DatabaseAccountListReadOnlyKeysResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountListReadOnlyKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.list_read_only_keys.metadata['url'] + url = self.list_read_only_keys.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('DatabaseAccountListReadOnlyKeysResult', response) + deserialized = self._deserialize('DatabaseAccountListReadOnlyKeysResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} - + list_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore def _regenerate_key_initial( - self, resource_group_name, account_name, key_kind, custom_headers=None, raw=False, **operation_config): - key_to_regenerate = models.DatabaseAccountRegenerateKeyParameters(key_kind=key_kind) + self, + resource_group_name, # type: str + account_name, # type: str + key_to_regenerate, # type: "_models.DatabaseAccountRegenerateKeyParameters" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") # Construct URL - url = self.regenerate_key.metadata['url'] + url = self._regenerate_key_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(key_to_regenerate, 'DatabaseAccountRegenerateKeyParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - # 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(key_to_regenerate, 'DatabaseAccountRegenerateKeyParameters') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + if cls: + return cls(pipeline_response, None, {}) - def regenerate_key( - self, resource_group_name, account_name, key_kind, custom_headers=None, raw=False, polling=True, **operation_config): - """Regenerates an access key for the specified Azure Cosmos DB database - account. + _regenerate_key_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore - :param resource_group_name: The name of the resource group. The name - is case insensitive. + def begin_regenerate_key( + self, + resource_group_name, # type: str + account_name, # type: str + key_to_regenerate, # type: "_models.DatabaseAccountRegenerateKeyParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Regenerates an access key for the specified Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param key_kind: The access key to regenerate. Possible values - include: 'primary', 'secondary', 'primaryReadonly', - 'secondaryReadonly' - :type key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :param key_to_regenerate: The name of the key to regenerate. + :type key_to_regenerate: ~azure.mgmt.cosmosdb.models.DatabaseAccountRegenerateKeyParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._regenerate_key_initial( - resource_group_name=resource_group_name, - account_name=account_name, - key_kind=key_kind, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._regenerate_key_initial( + resource_group_name=resource_group_name, + account_name=account_name, + key_to_regenerate=key_to_regenerate, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore def check_name_exists( - self, account_name, custom_headers=None, raw=False, **operation_config): - """Checks that the Azure Cosmos DB account name already exists. A valid - account name may contain only lowercase letters, numbers, and the '-' - character, and must be between 3 and 50 characters. + self, + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> bool + """Checks that the Azure Cosmos DB account name already exists. A valid account name may contain + only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 + characters. :param account_name: Cosmos DB database account name. :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: bool or ClientRawResponse if raw=true - :rtype: bool or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: bool, or the result of cls(response) + :rtype: bool + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.check_name_exists.metadata['url'] + url = self.check_name_exists.metadata['url'] # type: ignore path_format_arguments = { - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.head(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 404]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = (response.status_code == 200) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - return deserialized - check_name_exists.metadata = {'url': '/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}'} + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - def list_metrics( - self, resource_group_name, account_name, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - database account. + if cls: + return cls(pipeline_response, None, {}) + + return 200 <= response.status_code <= 299 + check_name_exists.metadata = {'url': '/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}'} # type: ignore - :param resource_group_name: The name of the resource group. The name - is case insensitive. + def list_metrics( + self, + resource_group_name, # type: str + account_name, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricListResult"] + """Retrieves the metrics determined by the given filter for the given database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 Metric - :rtype: - ~azure.mgmt.cosmosdb.models.MetricPaged[~azure.mgmt.cosmosdb.models.Metric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics'} # type: ignore def list_usages( - self, resource_group_name, account_name, filter=None, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.UsagesResult"] """Retrieves the usages (most recent data) for the given database account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param filter: An OData filter expression that describes a subset of - usages to return. The supported parameter is name.value (name of the - metric, can have an or of multiple names). + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). :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 Usage - :rtype: - ~azure.mgmt.cosmosdb.models.UsagePaged[~azure.mgmt.cosmosdb.models.Usage] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UsagesResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.UsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_usages.metadata['url'] + url = self.list_usages.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('UsagesResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages'} + return ItemPaged( + get_next, extract_data + ) + list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages'} # type: ignore def list_metric_definitions( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricDefinitionsListResult"] """Retrieves metric definitions for the given database account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 MetricDefinition - :rtype: - ~azure.mgmt.cosmosdb.models.MetricDefinitionPaged[~azure.mgmt.cosmosdb.models.MetricDefinition] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metric_definitions.metadata['url'] + url = self.list_metric_definitions.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricDefinitionsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions'} + return ItemPaged( + get_next, extract_data + ) + list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py index e089036d294..71fbb745647 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py @@ -1,281 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 DatabaseOperations(object): """DatabaseOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, database_rid, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - database account and database. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricListResult"] + """Retrieves the metrics determined by the given filter for the given database account and + database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_rid: Cosmos DB database rid. :type database_rid: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 Metric - :rtype: - ~azure.mgmt.cosmosdb.models.MetricPaged[~azure.mgmt.cosmosdb.models.Metric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str') + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics'} # type: ignore def list_usages( - self, resource_group_name, account_name, database_rid, filter=None, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.UsagesResult"] """Retrieves the usages (most recent data) for the given database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_rid: Cosmos DB database rid. :type database_rid: str - :param filter: An OData filter expression that describes a subset of - usages to return. The supported parameter is name.value (name of the - metric, can have an or of multiple names). + :param filter: An OData filter expression that describes a subset of usages to return. The + supported parameter is name.value (name of the metric, can have an or of multiple names). :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 Usage - :rtype: - ~azure.mgmt.cosmosdb.models.UsagePaged[~azure.mgmt.cosmosdb.models.Usage] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UsagesResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.UsagesResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsagesResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_usages.metadata['url'] + url = self.list_usages.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str') + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), } url = self._client.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 = {} # 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('UsagesResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages'} + return ItemPaged( + get_next, extract_data + ) + list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages'} # type: ignore def list_metric_definitions( - self, resource_group_name, account_name, database_rid, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MetricDefinitionsListResult"] """Retrieves metric definitions for the given database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_rid: Cosmos DB database rid. :type database_rid: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of MetricDefinition - :rtype: - ~azure.mgmt.cosmosdb.models.MetricDefinitionPaged[~azure.mgmt.cosmosdb.models.MetricDefinition] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metric_definitions.metadata['url'] + url = self.list_metric_definitions.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str') + 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MetricDefinitionsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions'} + return ItemPaged( + get_next, extract_data + ) + list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py index 01479871568..f00e05311f7 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py @@ -1,836 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 GremlinResourcesOperations(object): """GremlinResourcesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_gremlin_databases( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the Gremlin databases under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.GremlinDatabaseListResult"] + """Lists the Gremlin databases under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 GremlinDatabaseGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResultsPaged[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GremlinDatabaseListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.GremlinDatabaseListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_gremlin_databases.metadata['url'] + url = self.list_gremlin_databases.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('GremlinDatabaseListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.GremlinDatabaseGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_gremlin_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases'} + return ItemPaged( + get_next, extract_data + ) + list_gremlin_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases'} # type: ignore def get_gremlin_database( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets the Gremlin databases under an existing Azure Cosmos DB database - account with the provided name. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.GremlinDatabaseGetResults" + """Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided + name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: GremlinDatabaseGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GremlinDatabaseGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_gremlin_database.metadata['url'] + url = self.get_gremlin_database.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('GremlinDatabaseGetResults', response) + deserialized = self._deserialize('GremlinDatabaseGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} - + get_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore def _create_update_gremlin_database_initial( - self, resource_group_name, account_name, database_name, create_update_gremlin_database_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + create_update_gremlin_database_parameters, # type: "_models.GremlinDatabaseCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.GremlinDatabaseGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.GremlinDatabaseGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_gremlin_database.metadata['url'] + url = self._create_update_gremlin_database_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_gremlin_database_parameters, 'GremlinDatabaseCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_gremlin_database_parameters, 'GremlinDatabaseCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('GremlinDatabaseGetResults', response) + deserialized = self._deserialize('GremlinDatabaseGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_gremlin_database( - self, resource_group_name, account_name, database_name, create_update_gremlin_database_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + def begin_create_update_gremlin_database( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + create_update_gremlin_database_parameters, # type: "_models.GremlinDatabaseCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.GremlinDatabaseGetResults"] """Create or update an Azure Cosmos DB Gremlin database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param create_update_gremlin_database_parameters: The parameters to - provide for the current Gremlin database. - :type create_update_gremlin_database_parameters: - ~azure.mgmt.cosmosdb.models.GremlinDatabaseCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - GremlinDatabaseGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults]] - :raises: :class:`CloudError` + :param create_update_gremlin_database_parameters: The parameters to provide for the current + Gremlin database. + :type create_update_gremlin_database_parameters: ~azure.mgmt.cosmosdb.models.GremlinDatabaseCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either GremlinDatabaseGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_gremlin_database_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - create_update_gremlin_database_parameters=create_update_gremlin_database_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('GremlinDatabaseGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_gremlin_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + create_update_gremlin_database_parameters=create_update_gremlin_database_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('GremlinDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore def _delete_gremlin_database_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_gremlin_database.metadata['url'] + url = self._delete_gremlin_database_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_gremlin_database( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + def begin_delete_gremlin_database( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB Gremlin database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_gremlin_database_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_gremlin_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore def get_gremlin_database_throughput( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the Gremlin database under an existing Azure - Cosmos DB database account with the provided name. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database + account with the provided name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_gremlin_database_throughput.metadata['url'] + url = self.get_gremlin_database_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} - + get_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _update_gremlin_database_throughput_initial( - self, resource_group_name, account_name, database_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_gremlin_database_throughput.metadata['url'] + url = self._update_gremlin_database_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_gremlin_database_throughput( - self, resource_group_name, account_name, database_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_gremlin_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + def begin_update_gremlin_database_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of an Azure Cosmos DB Gremlin database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param update_throughput_parameters: The RUs per second of the - parameters to provide for the current Gremlin database. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Gremlin database. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_gremlin_database_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_gremlin_database_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _migrate_gremlin_database_to_autoscale_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_gremlin_database_to_autoscale.metadata['url'] + url = self._migrate_gremlin_database_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_gremlin_database_to_autoscale( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Gremlin database from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_gremlin_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_gremlin_database_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_gremlin_database_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_gremlin_database_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_gremlin_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_gremlin_database_to_manual_throughput_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_gremlin_database_to_manual_throughput.metadata['url'] + url = self._migrate_gremlin_database_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_gremlin_database_to_manual_throughput( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Gremlin database from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_gremlin_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_gremlin_database_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_gremlin_database_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_gremlin_database_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_gremlin_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore def list_gremlin_graphs( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Lists the Gremlin graph under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.GremlinGraphListResult"] + """Lists the Gremlin graph under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of GremlinGraphGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.GremlinGraphGetResultsPaged[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GremlinGraphListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.GremlinGraphListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_gremlin_graphs.metadata['url'] + url = self.list_gremlin_graphs.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('GremlinGraphListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.GremlinGraphGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_gremlin_graphs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs'} + return ItemPaged( + get_next, extract_data + ) + list_gremlin_graphs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs'} # type: ignore def get_gremlin_graph( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, **operation_config): - """Gets the Gremlin graph under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.GremlinGraphGetResults" + """Gets the Gremlin graph under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -838,119 +985,127 @@ def get_gremlin_graph( :type database_name: str :param graph_name: Cosmos DB graph name. :type graph_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: GremlinGraphGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.GremlinGraphGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GremlinGraphGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.GremlinGraphGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_gremlin_graph.metadata['url'] + url = self.get_gremlin_graph.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str') + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('GremlinGraphGetResults', response) + deserialized = self._deserialize('GremlinGraphGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} - + get_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore def _create_update_gremlin_graph_initial( - self, resource_group_name, account_name, database_name, graph_name, create_update_gremlin_graph_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + create_update_gremlin_graph_parameters, # type: "_models.GremlinGraphCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.GremlinGraphGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.GremlinGraphGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_gremlin_graph.metadata['url'] + url = self._create_update_gremlin_graph_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str') + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_gremlin_graph_parameters, 'GremlinGraphCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_gremlin_graph_parameters, 'GremlinGraphCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('GremlinGraphGetResults', response) + deserialized = self._deserialize('GremlinGraphGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_gremlin_graph( - self, resource_group_name, account_name, database_name, graph_name, create_update_gremlin_graph_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + def begin_create_update_gremlin_graph( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + create_update_gremlin_graph_parameters, # type: "_models.GremlinGraphCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.GremlinGraphGetResults"] """Create or update an Azure Cosmos DB Gremlin graph. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -958,98 +1113,128 @@ def create_update_gremlin_graph( :type database_name: str :param graph_name: Cosmos DB graph name. :type graph_name: str - :param create_update_gremlin_graph_parameters: The parameters to - provide for the current Gremlin graph. - :type create_update_gremlin_graph_parameters: - ~azure.mgmt.cosmosdb.models.GremlinGraphCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns GremlinGraphGetResults - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults]] - :raises: :class:`CloudError` + :param create_update_gremlin_graph_parameters: The parameters to provide for the current + Gremlin graph. + :type create_update_gremlin_graph_parameters: ~azure.mgmt.cosmosdb.models.GremlinGraphCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either GremlinGraphGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_gremlin_graph_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - graph_name=graph_name, - create_update_gremlin_graph_parameters=create_update_gremlin_graph_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('GremlinGraphGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_gremlin_graph_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + create_update_gremlin_graph_parameters=create_update_gremlin_graph_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('GremlinGraphGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore def _delete_gremlin_graph_initial( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_gremlin_graph.metadata['url'] + url = self._delete_gremlin_graph_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str') + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_gremlin_graph( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + def begin_delete_gremlin_graph( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB Gremlin graph. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1057,48 +1242,75 @@ def delete_gremlin_graph( :type database_name: str :param graph_name: Cosmos DB graph name. :type graph_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_gremlin_graph_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - graph_name=graph_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_gremlin_graph_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore def get_gremlin_graph_throughput( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, **operation_config): - """Gets the Gremlin graph throughput under an existing Azure Cosmos DB - database account with the provided name. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the + provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1106,119 +1318,127 @@ def get_gremlin_graph_throughput( :type database_name: str :param graph_name: Cosmos DB graph name. :type graph_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_gremlin_graph_throughput.metadata['url'] + url = self.get_gremlin_graph_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str') + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} - + get_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore def _update_gremlin_graph_throughput_initial( - self, resource_group_name, account_name, database_name, graph_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_gremlin_graph_throughput.metadata['url'] + url = self._update_gremlin_graph_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str') + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_gremlin_graph_throughput( - self, resource_group_name, account_name, database_name, graph_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_gremlin_graph_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + + def begin_update_gremlin_graph_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of an Azure Cosmos DB Gremlin graph. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1226,108 +1446,135 @@ def update_gremlin_graph_throughput( :type database_name: str :param graph_name: Cosmos DB graph name. :type graph_name: str - :param update_throughput_parameters: The RUs per second of the - parameters to provide for the current Gremlin graph. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current Gremlin graph. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_gremlin_graph_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - graph_name=graph_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_gremlin_graph_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore def _migrate_gremlin_graph_to_autoscale_initial( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_gremlin_graph_to_autoscale.metadata['url'] + url = self._migrate_gremlin_graph_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str') + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_gremlin_graph_to_autoscale( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Gremlin graph from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_gremlin_graph_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_gremlin_graph_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1335,103 +1582,131 @@ def migrate_gremlin_graph_to_autoscale( :type database_name: str :param graph_name: Cosmos DB graph name. :type graph_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_gremlin_graph_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - graph_name=graph_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_gremlin_graph_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_gremlin_graph_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_gremlin_graph_to_manual_throughput_initial( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_gremlin_graph_to_manual_throughput.metadata['url'] + url = self._migrate_gremlin_graph_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str') + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_gremlin_graph_to_manual_throughput( - self, resource_group_name, account_name, database_name, graph_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_gremlin_graph_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_gremlin_graph_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + graph_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1439,44 +1714,61 @@ def migrate_gremlin_graph_to_manual_throughput( :type database_name: str :param graph_name: Cosmos DB graph name. :type graph_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_gremlin_graph_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - graph_name=graph_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_gremlin_graph_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'graphName': self._serialize.url("graph_name", graph_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_gremlin_graph_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py index 957bd2ff555..ad1fe4a1a1e 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py @@ -1,836 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 MongoDBResourcesOperations(object): """MongoDBResourcesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_mongo_db_databases( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the MongoDB databases under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MongoDBDatabaseListResult"] + """Lists the MongoDB databases under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 MongoDBDatabaseGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResultsPaged[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoDBDatabaseListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MongoDBDatabaseListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_mongo_db_databases.metadata['url'] + url = self.list_mongo_db_databases.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MongoDBDatabaseListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MongoDBDatabaseGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_mongo_db_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases'} + return ItemPaged( + get_next, extract_data + ) + list_mongo_db_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases'} # type: ignore def get_mongo_db_database( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets the MongoDB databases under an existing Azure Cosmos DB database - account with the provided name. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.MongoDBDatabaseGetResults" + """Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided + name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: MongoDBDatabaseGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoDBDatabaseGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_mongo_db_database.metadata['url'] + url = self.get_mongo_db_database.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('MongoDBDatabaseGetResults', response) + deserialized = self._deserialize('MongoDBDatabaseGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} - + get_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore def _create_update_mongo_db_database_initial( - self, resource_group_name, account_name, database_name, create_update_mongo_db_database_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + create_update_mongo_db_database_parameters, # type: "_models.MongoDBDatabaseCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.MongoDBDatabaseGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoDBDatabaseGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_mongo_db_database.metadata['url'] + url = self._create_update_mongo_db_database_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_mongo_db_database_parameters, 'MongoDBDatabaseCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_mongo_db_database_parameters, 'MongoDBDatabaseCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('MongoDBDatabaseGetResults', response) + deserialized = self._deserialize('MongoDBDatabaseGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_mongo_db_database( - self, resource_group_name, account_name, database_name, create_update_mongo_db_database_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + def begin_create_update_mongo_db_database( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + create_update_mongo_db_database_parameters, # type: "_models.MongoDBDatabaseCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.MongoDBDatabaseGetResults"] """Create or updates Azure Cosmos DB MongoDB database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param create_update_mongo_db_database_parameters: The parameters to - provide for the current MongoDB database. - :type create_update_mongo_db_database_parameters: - ~azure.mgmt.cosmosdb.models.MongoDBDatabaseCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - MongoDBDatabaseGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults]] - :raises: :class:`CloudError` + :param create_update_mongo_db_database_parameters: The parameters to provide for the current + MongoDB database. + :type create_update_mongo_db_database_parameters: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either MongoDBDatabaseGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_mongo_db_database_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - create_update_mongo_db_database_parameters=create_update_mongo_db_database_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('MongoDBDatabaseGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_mongo_db_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + create_update_mongo_db_database_parameters=create_update_mongo_db_database_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MongoDBDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore def _delete_mongo_db_database_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_mongo_db_database.metadata['url'] + url = self._delete_mongo_db_database_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_mongo_db_database( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + def begin_delete_mongo_db_database( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB MongoDB database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_mongo_db_database_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_mongo_db_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore def get_mongo_db_database_throughput( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the MongoDB database under an existing Azure - Cosmos DB database account with the provided name. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database + account with the provided name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_mongo_db_database_throughput.metadata['url'] + url = self.get_mongo_db_database_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} - + get_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _update_mongo_db_database_throughput_initial( - self, resource_group_name, account_name, database_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_mongo_db_database_throughput.metadata['url'] + url = self._update_mongo_db_database_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_mongo_db_database_throughput( - self, resource_group_name, account_name, database_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_mongo_db_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + def begin_update_mongo_db_database_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of the an Azure Cosmos DB MongoDB database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param update_throughput_parameters: The RUs per second of the - parameters to provide for the current MongoDB database. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current MongoDB database. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_mongo_db_database_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_mongo_db_database_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _migrate_mongo_db_database_to_autoscale_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_mongo_db_database_to_autoscale.metadata['url'] + url = self._migrate_mongo_db_database_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_mongo_db_database_to_autoscale( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB MongoDB database from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_mongo_db_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_mongo_db_database_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_mongo_db_database_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_mongo_db_database_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_mongo_db_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_mongo_db_database_to_manual_throughput_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_mongo_db_database_to_manual_throughput.metadata['url'] + url = self._migrate_mongo_db_database_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_mongo_db_database_to_manual_throughput( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB MongoDB database from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_mongo_db_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_mongo_db_database_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_mongo_db_database_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_mongo_db_database_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_mongo_db_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore def list_mongo_db_collections( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Lists the MongoDB collection under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MongoDBCollectionListResult"] + """Lists the MongoDB collection under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of MongoDBCollectionGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResultsPaged[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoDBCollectionListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MongoDBCollectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_mongo_db_collections.metadata['url'] + url = self.list_mongo_db_collections.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MongoDBCollectionListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MongoDBCollectionGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_mongo_db_collections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections'} + return ItemPaged( + get_next, extract_data + ) + list_mongo_db_collections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections'} # type: ignore def get_mongo_db_collection( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, **operation_config): - """Gets the MongoDB collection under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.MongoDBCollectionGetResults" + """Gets the MongoDB collection under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -838,119 +985,127 @@ def get_mongo_db_collection( :type database_name: str :param collection_name: Cosmos DB collection name. :type collection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: MongoDBCollectionGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoDBCollectionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_mongo_db_collection.metadata['url'] + url = self.get_mongo_db_collection.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str') + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('MongoDBCollectionGetResults', response) + deserialized = self._deserialize('MongoDBCollectionGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} - + get_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore def _create_update_mongo_db_collection_initial( - self, resource_group_name, account_name, database_name, collection_name, create_update_mongo_db_collection_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + create_update_mongo_db_collection_parameters, # type: "_models.MongoDBCollectionCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.MongoDBCollectionGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoDBCollectionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_mongo_db_collection.metadata['url'] + url = self._create_update_mongo_db_collection_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str') + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_mongo_db_collection_parameters, 'MongoDBCollectionCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_mongo_db_collection_parameters, 'MongoDBCollectionCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('MongoDBCollectionGetResults', response) + deserialized = self._deserialize('MongoDBCollectionGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_mongo_db_collection( - self, resource_group_name, account_name, database_name, collection_name, create_update_mongo_db_collection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + def begin_create_update_mongo_db_collection( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + create_update_mongo_db_collection_parameters, # type: "_models.MongoDBCollectionCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.MongoDBCollectionGetResults"] """Create or update an Azure Cosmos DB MongoDB Collection. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -958,99 +1113,128 @@ def create_update_mongo_db_collection( :type database_name: str :param collection_name: Cosmos DB collection name. :type collection_name: str - :param create_update_mongo_db_collection_parameters: The parameters to - provide for the current MongoDB Collection. - :type create_update_mongo_db_collection_parameters: - ~azure.mgmt.cosmosdb.models.MongoDBCollectionCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - MongoDBCollectionGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults]] - :raises: :class:`CloudError` + :param create_update_mongo_db_collection_parameters: The parameters to provide for the current + MongoDB Collection. + :type create_update_mongo_db_collection_parameters: ~azure.mgmt.cosmosdb.models.MongoDBCollectionCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either MongoDBCollectionGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_mongo_db_collection_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - collection_name=collection_name, - create_update_mongo_db_collection_parameters=create_update_mongo_db_collection_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('MongoDBCollectionGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_mongo_db_collection_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + create_update_mongo_db_collection_parameters=create_update_mongo_db_collection_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MongoDBCollectionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore def _delete_mongo_db_collection_initial( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_mongo_db_collection.metadata['url'] + url = self._delete_mongo_db_collection_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str') + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_mongo_db_collection( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + def begin_delete_mongo_db_collection( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB MongoDB Collection. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1058,48 +1242,75 @@ def delete_mongo_db_collection( :type database_name: str :param collection_name: Cosmos DB collection name. :type collection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_mongo_db_collection_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - collection_name=collection_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_mongo_db_collection_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore def get_mongo_db_collection_throughput( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the MongoDB collection under an existing - Azure Cosmos DB database account with the provided name. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database + account with the provided name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1107,119 +1318,127 @@ def get_mongo_db_collection_throughput( :type database_name: str :param collection_name: Cosmos DB collection name. :type collection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_mongo_db_collection_throughput.metadata['url'] + url = self.get_mongo_db_collection_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str') + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} - + get_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore def _update_mongo_db_collection_throughput_initial( - self, resource_group_name, account_name, database_name, collection_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_mongo_db_collection_throughput.metadata['url'] + url = self._update_mongo_db_collection_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str') + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_mongo_db_collection_throughput( - self, resource_group_name, account_name, database_name, collection_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_mongo_db_collection_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + + def begin_update_mongo_db_collection_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update the RUs per second of an Azure Cosmos DB MongoDB collection. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1227,108 +1446,135 @@ def update_mongo_db_collection_throughput( :type database_name: str :param collection_name: Cosmos DB collection name. :type collection_name: str - :param update_throughput_parameters: The RUs per second of the - parameters to provide for the current MongoDB collection. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The RUs per second of the parameters to provide for the + current MongoDB collection. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_mongo_db_collection_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - collection_name=collection_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_mongo_db_collection_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore def _migrate_mongo_db_collection_to_autoscale_initial( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_mongo_db_collection_to_autoscale.metadata['url'] + url = self._migrate_mongo_db_collection_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str') + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_mongo_db_collection_to_autoscale( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB MongoDB collection from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_mongo_db_collection_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_mongo_db_collection_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1336,103 +1582,131 @@ def migrate_mongo_db_collection_to_autoscale( :type database_name: str :param collection_name: Cosmos DB collection name. :type collection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_mongo_db_collection_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - collection_name=collection_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_mongo_db_collection_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_mongo_db_collection_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_mongo_db_collection_to_manual_throughput_initial( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_mongo_db_collection_to_manual_throughput.metadata['url'] + url = self._migrate_mongo_db_collection_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str') + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_mongo_db_collection_to_manual_throughput( - self, resource_group_name, account_name, database_name, collection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_mongo_db_collection_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_mongo_db_collection_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + collection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1440,44 +1714,61 @@ def migrate_mongo_db_collection_to_manual_throughput( :type database_name: str :param collection_name: Cosmos DB collection name. :type collection_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_mongo_db_collection_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - collection_name=collection_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_mongo_db_collection_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_mongo_db_collection_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py index ad4f17828a3..0200367ca85 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py @@ -1,581 +1,741 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 NotebookWorkspacesOperations(object): """NotebookWorkspacesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". - :ivar notebook_workspace_name: The name of the notebook workspace resource. Constant value: "default". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - self.notebook_workspace_name = "default" - - self.config = config + self._config = config def list_by_database_account( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.NotebookWorkspaceListResult"] """Gets the notebook workspace resources of an existing Cosmos DB account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 NotebookWorkspace - :rtype: - ~azure.mgmt.cosmosdb.models.NotebookWorkspacePaged[~azure.mgmt.cosmosdb.models.NotebookWorkspace] - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either NotebookWorkspaceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.NotebookWorkspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_database_account.metadata['url'] + url = self.list_by_database_account.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('NotebookWorkspaceListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + 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) - - return response + error = self._deserialize.failsafe_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) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.NotebookWorkspacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces'} + return ItemPaged( + get_next, extract_data + ) + list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces'} # type: ignore def get( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> "_models.NotebookWorkspace" """Gets the notebook workspace for a Cosmos DB account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: NotebookWorkspace or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.NotebookWorkspace or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NotebookWorkspace, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.NotebookWorkspace + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get.metadata['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), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("self.notebook_workspace_name", self.notebook_workspace_name, 'str') + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NotebookWorkspace', response) + deserialized = self._deserialize('NotebookWorkspace', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore def _create_or_update_initial( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - notebook_create_update_parameters = None + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + notebook_create_update_parameters, # type: "_models.NotebookWorkspaceCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> "_models.NotebookWorkspace" + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create_or_update.metadata['url'] + url = self._create_or_update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("self.notebook_workspace_name", self.notebook_workspace_name, 'str') + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_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) + query_parameters = {} # type: Dict[str, Any] + 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(notebook_create_update_parameters, 'NotebookWorkspaceCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(notebook_create_update_parameters, 'NotebookWorkspaceCreateUpdateParameters') + 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]: - raise models.ErrorResponseException(self._deserialize, response) - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if response.status_code == 200: - deserialized = self._deserialize('NotebookWorkspace', response) + deserialized = self._deserialize('NotebookWorkspace', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_or_update( - self, resource_group_name, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + notebook_create_update_parameters, # type: "_models.NotebookWorkspaceCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.NotebookWorkspace"] """Creates the notebook workspace for a Cosmos DB account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 NotebookWorkspace or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.NotebookWorkspace] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.NotebookWorkspace]] - :raises: - :class:`ErrorResponseException` + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :param notebook_create_update_parameters: The notebook workspace to create for the current + database account. + :type notebook_create_update_parameters: ~azure.mgmt.cosmosdb.models.NotebookWorkspaceCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either NotebookWorkspace or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.NotebookWorkspace] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - account_name=account_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('NotebookWorkspace', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + notebook_create_update_parameters=notebook_create_update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('NotebookWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore def _delete_initial( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("self.notebook_workspace_name", self.notebook_workspace_name, 'str') + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, 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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes the notebook workspace for a Cosmos DB account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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:`ErrorResponseException` + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore def list_connection_info( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> "_models.NotebookWorkspaceConnectionInfoResult" """Retrieves the connection info for the notebook workspace. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: NotebookWorkspaceConnectionInfoResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.cosmosdb.models.NotebookWorkspaceConnectionInfoResult or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NotebookWorkspaceConnectionInfoResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.NotebookWorkspaceConnectionInfoResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspaceConnectionInfoResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.list_connection_info.metadata['url'] + url = self.list_connection_info.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("self.notebook_workspace_name", self.notebook_workspace_name, 'str') + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('NotebookWorkspaceConnectionInfoResult', response) + deserialized = self._deserialize('NotebookWorkspaceConnectionInfoResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo'} - + list_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo'} # type: ignore def _regenerate_auth_token_initial( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.regenerate_auth_token.metadata['url'] + url = self._regenerate_auth_token_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("self.notebook_workspace_name", self.notebook_workspace_name, 'str') + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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 regenerate_auth_token( - self, resource_group_name, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _regenerate_auth_token_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore + + def begin_regenerate_auth_token( + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Regenerates the auth token for the notebook workspace. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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:`ErrorResponseException` + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._regenerate_auth_token_initial( - resource_group_name=resource_group_name, - account_name=account_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._regenerate_auth_token_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - regenerate_auth_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_auth_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore def _start_initial( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.start.metadata['url'] + url = self._start_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("self.notebook_workspace_name", self.notebook_workspace_name, 'str') + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore + + def begin_start( + self, + resource_group_name, # type: str + account_name, # type: str + notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Starts the notebook workspace. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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:`ErrorResponseException` + :param notebook_workspace_name: The name of the notebook workspace resource. + :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - account_name=account_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py index f08d8cfa181..7c499561582 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py @@ -1,102 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.OperationListResult"] """Lists all of the available Cosmos DB 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 Operation - :rtype: - ~azure.mgmt.cosmosdb.models.OperationPaged[~azure.mgmt.cosmosdb.models.Operation] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['url'] - + url = self.list.metadata['url'] # type: ignore # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/providers/Microsoft.DocumentDB/operations'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DocumentDB/operations'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py index 82bb73eed8c..e8aeebc77ef 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py @@ -1,51 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 PartitionKeyRangeIdOperations(object): """PartitionKeyRangeIdOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, database_rid, collection_rid, partition_key_range_id, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - partition key range id. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_rid, # type: str + collection_rid, # type: str + partition_key_range_id, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PartitionMetricListResult"] + """Retrieves the metrics determined by the given filter for the given partition key range id. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -53,78 +66,74 @@ def list_metrics( :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param partition_key_range_id: Partition Key Range Id for which to get - data. + :param partition_key_range_id: Partition Key Range Id for which to get data. :type partition_key_range_id: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 PartitionMetric - :rtype: - ~azure.mgmt.cosmosdb.models.PartitionMetricPaged[~azure.mgmt.cosmosdb.models.PartitionMetric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), - 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_id, 'str') + 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PartitionMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py index 249a2b10a29..58f13448281 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py @@ -1,134 +1,144 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 PartitionKeyRangeIdRegionOperations(object): """PartitionKeyRangeIdRegionOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, region, database_rid, collection_rid, partition_key_range_id, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - partition key range id and region. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + region, # type: str + database_rid, # type: str + collection_rid, # type: str + partition_key_range_id, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PartitionMetricListResult"] + """Retrieves the metrics determined by the given filter for the given partition key range id and + region. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param region: Cosmos DB region, with spaces between words and each - word capitalized. + :param region: Cosmos DB region, with spaces between words and each word capitalized. :type region: str :param database_rid: Cosmos DB database rid. :type database_rid: str :param collection_rid: Cosmos DB collection rid. :type collection_rid: str - :param partition_key_range_id: Partition Key Range Id for which to get - data. + :param partition_key_range_id: Partition Key Range Id for which to get data. :type partition_key_range_id: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 PartitionMetric - :rtype: - ~azure.mgmt.cosmosdb.models.PartitionMetricPaged[~azure.mgmt.cosmosdb.models.PartitionMetric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'region': self._serialize.url("region", region, 'str'), 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), - 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_id, 'str') + 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PartitionMetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PartitionMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py index f40581ab3d9..1c4462e988a 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py @@ -1,121 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 PercentileOperations(object): """PercentileOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - database account. This url is only for PBS and Replication Latency - data. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PercentileMetricListResult"] + """Retrieves the metrics determined by the given filter for the given database account. This url + is only for PBS and Replication Latency data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 PercentileMetric - :rtype: - ~azure.mgmt.cosmosdb.models.PercentileMetricPaged[~azure.mgmt.cosmosdb.models.PercentileMetric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PercentileMetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PercentileMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py index 7d91cf62927..024b3535c2a 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py @@ -1,129 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 PercentileSourceTargetOperations(object): """PercentileSourceTargetOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, source_region, target_region, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - account, source and target region. This url is only for PBS and - Replication Latency data. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + source_region, # type: str + target_region, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PercentileMetricListResult"] + """Retrieves the metrics determined by the given filter for the given account, source and target + region. This url is only for PBS and Replication Latency data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param source_region: Source region from which data is written. Cosmos - DB region, with spaces between words and each word capitalized. + :param source_region: Source region from which data is written. Cosmos DB region, with spaces + between words and each word capitalized. :type source_region: str - :param target_region: Target region to which data is written. Cosmos - DB region, with spaces between words and each word capitalized. + :param target_region: Target region to which data is written. Cosmos DB region, with spaces + between words and each word capitalized. :type target_region: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 PercentileMetric - :rtype: - ~azure.mgmt.cosmosdb.models.PercentileMetricPaged[~azure.mgmt.cosmosdb.models.PercentileMetric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'sourceRegion': self._serialize.url("source_region", source_region, 'str'), - 'targetRegion': self._serialize.url("target_region", target_region, 'str') + 'targetRegion': self._serialize.url("target_region", target_region, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PercentileMetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PercentileMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py index c61746e5d06..cf9fb289ff8 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py @@ -1,125 +1,133 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 PercentileTargetOperations(object): """PercentileTargetOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_metrics( - self, resource_group_name, account_name, target_region, filter, custom_headers=None, raw=False, **operation_config): - """Retrieves the metrics determined by the given filter for the given - account target region. This url is only for PBS and Replication Latency - data. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + target_region, # type: str + filter, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PercentileMetricListResult"] + """Retrieves the metrics determined by the given filter for the given account target region. This + url is only for PBS and Replication Latency data. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param target_region: Target region to which data is written. Cosmos - DB region, with spaces between words and each word capitalized. + :param target_region: Target region to which data is written. Cosmos DB region, with spaces + between words and each word capitalized. :type target_region: str - :param filter: An OData filter expression that describes a subset of - metrics to return. The parameters that can be filtered are name.value - (name of the metric, can have an or of multiple names), startTime, - endTime, and timeGrain. The supported operator is eq. + :param filter: An OData filter expression that describes a subset of metrics to return. The + parameters that can be filtered are name.value (name of the metric, can have an or of multiple + names), startTime, endTime, and timeGrain. The supported operator is eq. :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 PercentileMetric - :rtype: - ~azure.mgmt.cosmosdb.models.PercentileMetricPaged[~azure.mgmt.cosmosdb.models.PercentileMetric] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_metrics.metadata['url'] + url = self.list_metrics.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'targetRegion': self._serialize.url("target_region", target_region, 'str') + 'targetRegion': self._serialize.url("target_region", target_region, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PercentileMetricListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PercentileMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics'} + return ItemPaged( + get_next, extract_data + ) + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py index 6ac61013677..eaf87246012 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py @@ -1,372 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_by_database_account( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PrivateEndpointConnectionListResult"] """List all private endpoint connections on a Cosmos DB account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 PrivateEndpointConnection - :rtype: - ~azure.mgmt.cosmosdb.models.PrivateEndpointConnectionPaged[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PrivateEndpointConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_database_account.metadata['url'] + url = self.list_by_database_account.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PrivateEndpointConnectionListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateEndpointConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections'} + return ItemPaged( + get_next, extract_data + ) + list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections'} # type: ignore def get( - self, resource_group_name, account_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateEndpointConnection" """Gets a private endpoint connection. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param private_endpoint_connection_name: The name of the private - endpoint connection. + :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.cosmosdb.models.PrivateEndpointConnection or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get.metadata['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), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateEndpointConnection', response) + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def _create_or_update_initial( - self, resource_group_name, account_name, private_endpoint_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + private_endpoint_connection_name, # type: str + parameters, # type: "_models.PrivateEndpointConnection" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.PrivateEndpointConnection"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PrivateEndpointConnection"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_or_update.metadata['url'] + url = self._create_or_update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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) + query_parameters = {} # type: Dict[str, Any] + 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, 'PrivateEndpointConnection') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'PrivateEndpointConnection') + 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, 202]: - raise models.ErrorResponseException(self._deserialize, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('PrivateEndpointConnection', response) + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_or_update( - self, resource_group_name, account_name, private_endpoint_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + account_name, # type: str + private_endpoint_connection_name, # type: str + parameters, # type: "_models.PrivateEndpointConnection" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.PrivateEndpointConnection"] """Approve or reject a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param private_endpoint_connection_name: The name of the private - endpoint connection. + :param private_endpoint_connection_name: The name of the private endpoint connection. :type private_endpoint_connection_name: str :param parameters: - :type parameters: - ~azure.mgmt.cosmosdb.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 - :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.cosmosdb.models.PrivateEndpointConnection] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection]] - :raises: - :class:`ErrorResponseException` + :type parameters: ~azure.mgmt.cosmosdb.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either PrivateEndpointConnection or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - account_name=account_name, - private_endpoint_connection_name=private_endpoint_connection_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('PrivateEndpointConnection', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def _delete_initial( - self, resource_group_name, account_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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, account_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, 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.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes a private endpoint connection with a given name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param private_endpoint_connection_name: The name of the private - endpoint connection. + :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 None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - private_endpoint_connection_name=private_endpoint_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py index 9e8d3cd481c..80a1b83af5d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py @@ -1,180 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_by_database_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 Cosmos DB - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PrivateLinkResourceListResult"] + """Gets the private link resources that need to be created for a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 PrivateLinkResource - :rtype: - ~azure.mgmt.cosmosdb.models.PrivateLinkResourcePaged[~azure.mgmt.cosmosdb.models.PrivateLinkResource] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateLinkResourceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PrivateLinkResourceListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_database_account.metadata['url'] + url = self.list_by_database_account.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('PrivateLinkResourceListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.PrivateLinkResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources'} + return ItemPaged( + get_next, extract_data + ) + list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources'} # type: ignore def get( - self, resource_group_name, account_name, group_name, custom_headers=None, raw=False, **operation_config): - """Gets the private link resources that need to be created for a Cosmos DB - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateLinkResource" + """Gets the private link resources that need to be created for a Cosmos DB account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param group_name: The name of the private link resource. :type 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: PrivateLinkResource or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.PrivateLinkResource or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.PrivateLinkResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get.metadata['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), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'groupName': self._serialize.url("group_name", group_name, 'str') + 'groupName': self._serialize.url("group_name", 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) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateLinkResource', response) + deserialized = self._deserialize('PrivateLinkResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py index ac176e6af7e..6e86ca3e36d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py @@ -1,251 +1,247 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 RestorableDatabaseAccountsOperations(object): """RestorableDatabaseAccountsOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_by_location( - self, location, custom_headers=None, raw=False, **operation_config): - """Lists all the restorable Azure Cosmos DB database accounts available - under the subscription and in a region. This call requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableDatabaseAccountsListResult"] + """Lists all the restorable Azure Cosmos DB database accounts available under the subscription and + in a region. This call requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :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 - RestorableDatabaseAccountGetResult - :rtype: - ~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResultPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_location.metadata['url'] + url = self.list_by_location.metadata['url'] # type: ignore 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') + '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) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableDatabaseAccountsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RestorableDatabaseAccountGetResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts'} + return ItemPaged( + get_next, extract_data + ) + list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts'} # type: ignore def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all the restorable Azure Cosmos DB database accounts available - under the subscription. This call requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' - permission. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - RestorableDatabaseAccountGetResult - :rtype: - ~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResultPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult] - :raises: :class:`CloudError` + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableDatabaseAccountsListResult"] + """Lists all the restorable Azure Cosmos DB database accounts available under the subscription. + This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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) + '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) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableDatabaseAccountsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RestorableDatabaseAccountGetResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts'} # type: ignore def get_by_location( - self, location, instance_id, custom_headers=None, raw=False, **operation_config): - """Retrieves the properties of an existing Azure Cosmos DB restorable - database account. This call requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + instance_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.RestorableDatabaseAccountGetResult" + """Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :type location: str - :param instance_id: The instanceId GUID of a restorable database - account. + :param instance_id: The instanceId GUID of a restorable database account. :type instance_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: RestorableDatabaseAccountGetResult or ClientRawResponse if - raw=true + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RestorableDatabaseAccountGetResult, or the result of cls(response) :rtype: ~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountGetResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_by_location.metadata['url'] + url = self.get_by_location.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'location': self._serialize.url("location", location, 'str'), - 'instanceId': self._serialize.url("instance_id", instance_id, 'str') + 'instanceId': self._serialize.url("instance_id", instance_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('RestorableDatabaseAccountGetResult', response) + deserialized = self._deserialize('RestorableDatabaseAccountGetResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}'} + get_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py index 86cd9f37d48..cad264e396f 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py @@ -1,124 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 RestorableMongodbCollectionsOperations(object): """RestorableMongodbCollectionsOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, location, instance_id, restorable_mongodb_database_rid=None, custom_headers=None, raw=False, **operation_config): - """Show the event feed of all mutations done on all the Azure Cosmos DB - MongoDB collections under a specific database. This helps in scenario - where container was accidentally deleted. This API requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + instance_id, # type: str + restorable_mongodb_database_rid=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableMongodbCollectionsListResult"] + """Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under + a specific database. This helps in scenario where container was accidentally deleted. This + API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :type location: str - :param instance_id: The instanceId GUID of a restorable database - account. + :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str - :param restorable_mongodb_database_rid: The resource ID of the MongoDB - database. + :param restorable_mongodb_database_rid: The resource ID of the MongoDB database. :type restorable_mongodb_database_rid: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of - RestorableMongodbCollectionGetResult - :rtype: - ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionGetResultPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionGetResult] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableMongodbCollectionsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbCollectionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'location': self._serialize.url("location", location, 'str'), - 'instanceId': self._serialize.url("instance_id", instance_id, 'str') + 'instanceId': self._serialize.url("instance_id", instance_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') if restorable_mongodb_database_rid is not None: query_parameters['restorableMongodbDatabaseRid'] = self._serialize.query("restorable_mongodb_database_rid", restorable_mongodb_database_rid, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableMongodbCollectionsListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RestorableMongodbCollectionGetResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py index 7cf460698b5..8cf14173412 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py @@ -1,120 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 RestorableMongodbDatabasesOperations(object): """RestorableMongodbDatabasesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, location, instance_id, custom_headers=None, raw=False, **operation_config): - """Show the event feed of all mutations done on all the Azure Cosmos DB - MongoDB databases under the restorable account. This helps in scenario - where database was accidentally deleted to get the deletion time. This - API requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + instance_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableMongodbDatabasesListResult"] + """Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under + the restorable account. This helps in scenario where database was accidentally deleted to get + the deletion time. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :type location: str - :param instance_id: The instanceId GUID of a restorable database - account. + :param instance_id: The instanceId GUID of a restorable database account. :type instance_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: An iterator like instance of - RestorableMongodbDatabaseGetResult - :rtype: - ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabaseGetResultPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabaseGetResult] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableMongodbDatabasesListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasesListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbDatabasesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'location': self._serialize.url("location", location, 'str'), - 'instanceId': self._serialize.url("instance_id", instance_id, 'str') + 'instanceId': self._serialize.url("instance_id", instance_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableMongodbDatabasesListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RestorableMongodbDatabaseGetResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py index 87854436397..6a52296f3a9 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py @@ -1,129 +1,134 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 RestorableMongodbResourcesOperations(object): """RestorableMongodbResourcesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, location, instance_id, restore_location=None, restore_timestamp_in_utc=None, custom_headers=None, raw=False, **operation_config): - """Return a list of database and collection combo that exist on the - account at the given timestamp and location. This helps in scenarios to - validate what resources exist at given timestamp and location. This API - requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + instance_id, # type: str + restore_location=None, # type: Optional[str] + restore_timestamp_in_utc=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableMongodbResourcesListResult"] + """Return a list of database and collection combo that exist on the account at the given timestamp + and location. This helps in scenarios to validate what resources exist at given timestamp and + location. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :type location: str - :param instance_id: The instanceId GUID of a restorable database - account. + :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str - :param restore_location: The location where the restorable resources - are located. + :param restore_location: The location where the restorable resources are located. :type restore_location: str - :param restore_timestamp_in_utc: The timestamp when the restorable - resources existed. + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. :type restore_timestamp_in_utc: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DatabaseRestoreResource - :rtype: - ~azure.mgmt.cosmosdb.models.DatabaseRestoreResourcePaged[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableMongodbResourcesListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'location': self._serialize.url("location", location, 'str'), - 'instanceId': self._serialize.url("instance_id", instance_id, 'str') + 'instanceId': self._serialize.url("instance_id", instance_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') if restore_location is not None: query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') if restore_timestamp_in_utc is not None: query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableMongodbResourcesListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DatabaseRestoreResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py index f6b5abd52ea..17f0b22f443 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py @@ -1,123 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 RestorableSqlContainersOperations(object): """RestorableSqlContainersOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, location, instance_id, restorable_sql_database_rid=None, custom_headers=None, raw=False, **operation_config): - """Show the event feed of all mutations done on all the Azure Cosmos DB - SQL containers under a specific database. This helps in scenario where - container was accidentally deleted. This API requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + instance_id, # type: str + restorable_sql_database_rid=None, # type: Optional[str] + start_time=None, # type: Optional[str] + end_time=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableSqlContainersListResult"] + """Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a + specific database. This helps in scenario where container was accidentally deleted. This API + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :type location: str - :param instance_id: The instanceId GUID of a restorable database - account. + :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str - :param restorable_sql_database_rid: The resource ID of the SQL - database. + :param restorable_sql_database_rid: The resource ID of the SQL database. :type restorable_sql_database_rid: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of RestorableSqlContainerGetResult - :rtype: - ~azure.mgmt.cosmosdb.models.RestorableSqlContainerGetResultPaged[~azure.mgmt.cosmosdb.models.RestorableSqlContainerGetResult] - :raises: :class:`CloudError` + :param start_time: The snapshot create timestamp after which snapshots need to be listed. + :type start_time: str + :param end_time: The snapshot create timestamp before which snapshots need to be listed. + :type end_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableSqlContainersListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlContainersListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlContainersListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'location': self._serialize.url("location", location, 'str'), - 'instanceId': self._serialize.url("instance_id", instance_id, 'str') + 'instanceId': self._serialize.url("instance_id", instance_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') if restorable_sql_database_rid is not None: query_parameters['restorableSqlDatabaseRid'] = self._serialize.query("restorable_sql_database_rid", restorable_sql_database_rid, 'str') + if start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'str') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableSqlContainersListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RestorableSqlContainerGetResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py index afd044bcc22..1625972e3d7 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py @@ -1,119 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 RestorableSqlDatabasesOperations(object): """RestorableSqlDatabasesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, location, instance_id, custom_headers=None, raw=False, **operation_config): - """Show the event feed of all mutations done on all the Azure Cosmos DB - SQL databases under the restorable account. This helps in scenario - where database was accidentally deleted to get the deletion time. This - API requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + instance_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableSqlDatabasesListResult"] + """Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the + restorable account. This helps in scenario where database was accidentally deleted to get the + deletion time. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :type location: str - :param instance_id: The instanceId GUID of a restorable database - account. + :param instance_id: The instanceId GUID of a restorable database account. :type instance_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: An iterator like instance of RestorableSqlDatabaseGetResult - :rtype: - ~azure.mgmt.cosmosdb.models.RestorableSqlDatabaseGetResultPaged[~azure.mgmt.cosmosdb.models.RestorableSqlDatabaseGetResult] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableSqlDatabasesListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlDatabasesListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlDatabasesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'location': self._serialize.url("location", location, 'str'), - 'instanceId': self._serialize.url("instance_id", instance_id, 'str') + 'instanceId': self._serialize.url("instance_id", instance_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableSqlDatabasesListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.RestorableSqlDatabaseGetResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py index 1e7843cb53f..820e40dcf4b 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py @@ -1,129 +1,134 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 RestorableSqlResourcesOperations(object): """RestorableSqlResourcesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list( - self, location, instance_id, restore_location=None, restore_timestamp_in_utc=None, custom_headers=None, raw=False, **operation_config): - """Return a list of database and container combo that exist on the account - at the given timestamp and location. This helps in scenarios to - validate what resources exist at given timestamp and location. This API - requires - 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' - permission. - - :param location: Cosmos DB region, with spaces between words and each - word capitalized. + self, + location, # type: str + instance_id, # type: str + restore_location=None, # type: Optional[str] + restore_timestamp_in_utc=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.RestorableSqlResourcesListResult"] + """Return a list of database and container combo that exist on the account at the given timestamp + and location. This helps in scenarios to validate what resources exist at given timestamp and + location. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. :type location: str - :param instance_id: The instanceId GUID of a restorable database - account. + :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str - :param restore_location: The location where the restorable resources - are located. + :param restore_location: The location where the restorable resources are located. :type restore_location: str - :param restore_timestamp_in_utc: The timestamp when the restorable - resources existed. + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. :type restore_timestamp_in_utc: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of DatabaseRestoreResource - :rtype: - ~azure.mgmt.cosmosdb.models.DatabaseRestoreResourcePaged[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableSqlResourcesListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'location': self._serialize.url("location", location, 'str'), - 'instanceId': self._serialize.url("instance_id", instance_id, 'str') + 'instanceId': self._serialize.url("instance_id", instance_id, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') if restore_location is not None: query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') if restore_timestamp_in_utc is not None: query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('RestorableSqlResourcesListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.DatabaseRestoreResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py new file mode 100644 index 00000000000..b4c8fb35269 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py @@ -0,0 +1,438 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 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.cosmosdb.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 + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ServiceResourceListResult"] + """Gets the status of service. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceResourceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ServiceResourceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResourceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ServiceResourceListResult', 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.DocumentDB/databaseAccounts/{accountName}/services'} # type: ignore + + def _create_initial( + self, + resource_group_name, # type: str + account_name, # type: str + service_name, # type: str + create_update_parameters, # type: "_models.ServiceResource" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ServiceResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ServiceResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, 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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_update_parameters, 'ServiceResource') + 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, 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('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + account_name, # type: str + service_name, # type: str + create_update_parameters, # type: "_models.ServiceResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ServiceResource"] + """Creates a service. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param service_name: Cosmos DB service name. + :type service_name: str + :param create_update_parameters: The Service resource parameters. + :type create_update_parameters: ~azure.mgmt.cosmosdb.models.ServiceResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ServiceResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + create_update_parameters=create_update_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + account_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ServiceResource" + """Gets the status of service. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param service_name: Cosmos DB service name. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServiceResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, 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'] = self._serialize.header("accept", accept, 'str') + + 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('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, 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'] = self._serialize.header("accept", accept, 'str') + + 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.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + account_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes service with the given serviceName. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param service_name: Cosmos DB service name. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :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] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py index a53c352e597..2a7e8c49607 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py @@ -1,835 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 SqlResourcesOperations(object): """SqlResourcesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_sql_databases( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Lists the SQL databases under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.SqlDatabaseListResult"] + """Lists the SQL databases under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 SqlDatabaseGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.SqlDatabaseGetResultsPaged[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlDatabaseListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlDatabaseListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_sql_databases.metadata['url'] + url = self.list_sql_databases.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('SqlDatabaseListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SqlDatabaseGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_sql_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases'} + return ItemPaged( + get_next, extract_data + ) + list_sql_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases'} # type: ignore def get_sql_database( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets the SQL database under an existing Azure Cosmos DB database - account with the provided name. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SqlDatabaseGetResults" + """Gets the SQL database under an existing Azure Cosmos DB database account with the provided + name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SqlDatabaseGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlDatabaseGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_database.metadata['url'] + url = self.get_sql_database.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlDatabaseGetResults', response) + deserialized = self._deserialize('SqlDatabaseGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} - + get_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore def _create_update_sql_database_initial( - self, resource_group_name, account_name, database_name, create_update_sql_database_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + create_update_sql_database_parameters, # type: "_models.SqlDatabaseCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SqlDatabaseGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlDatabaseGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_sql_database.metadata['url'] + url = self._create_update_sql_database_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_sql_database_parameters, 'SqlDatabaseCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_sql_database_parameters, 'SqlDatabaseCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlDatabaseGetResults', response) + deserialized = self._deserialize('SqlDatabaseGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_sql_database( - self, resource_group_name, account_name, database_name, create_update_sql_database_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + def begin_create_update_sql_database( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + create_update_sql_database_parameters, # type: "_models.SqlDatabaseCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.SqlDatabaseGetResults"] """Create or update an Azure Cosmos DB SQL database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param create_update_sql_database_parameters: The parameters to - provide for the current SQL database. - :type create_update_sql_database_parameters: - ~azure.mgmt.cosmosdb.models.SqlDatabaseCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SqlDatabaseGetResults - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults]] - :raises: :class:`CloudError` + :param create_update_sql_database_parameters: The parameters to provide for the current SQL + database. + :type create_update_sql_database_parameters: ~azure.mgmt.cosmosdb.models.SqlDatabaseCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SqlDatabaseGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_sql_database_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - create_update_sql_database_parameters=create_update_sql_database_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('SqlDatabaseGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_sql_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + create_update_sql_database_parameters=create_update_sql_database_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlDatabaseGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore def _delete_sql_database_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_sql_database.metadata['url'] + url = self._delete_sql_database_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_sql_database( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + def begin_delete_sql_database( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB SQL database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_sql_database_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_sql_database_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore def get_sql_database_throughput( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the SQL database under an existing Azure - Cosmos DB database account with the provided name. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account + with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_database_throughput.metadata['url'] + url = self.get_sql_database_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} - + get_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _update_sql_database_throughput_initial( - self, resource_group_name, account_name, database_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_sql_database_throughput.metadata['url'] + url = self._update_sql_database_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_sql_database_throughput( - self, resource_group_name, account_name, database_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_sql_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + def begin_update_sql_database_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of an Azure Cosmos DB SQL database. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param update_throughput_parameters: The parameters to provide for the - RUs per second of the current SQL database. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The parameters to provide for the RUs per second of the + current SQL database. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_sql_database_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_sql_database_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _migrate_sql_database_to_autoscale_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_sql_database_to_autoscale.metadata['url'] + url = self._migrate_sql_database_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_sql_database_to_autoscale( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB SQL database from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_sql_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_sql_database_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_sql_database_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_sql_database_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_sql_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_sql_database_to_manual_throughput_initial( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_sql_database_to_manual_throughput.metadata['url'] + url = self._migrate_sql_database_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_sql_database_to_manual_throughput( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB SQL database from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_sql_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_sql_database_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_sql_database_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_sql_database_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_sql_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore def list_sql_containers( - self, resource_group_name, account_name, database_name, custom_headers=None, raw=False, **operation_config): - """Lists the SQL container under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.SqlContainerListResult"] + """Lists the SQL container under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param database_name: Cosmos DB database name. :type database_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of SqlContainerGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.SqlContainerGetResultsPaged[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlContainerListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlContainerListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_sql_containers.metadata['url'] + url = self.list_sql_containers.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str') + 'databaseName': self._serialize.url("database_name", database_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('SqlContainerListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SqlContainerGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_sql_containers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers'} + return ItemPaged( + get_next, extract_data + ) + list_sql_containers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers'} # type: ignore def get_sql_container( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): - """Gets the SQL container under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SqlContainerGetResults" + """Gets the SQL container under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -837,119 +985,127 @@ def get_sql_container( :type database_name: str :param container_name: Cosmos DB container name. :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: SqlContainerGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.SqlContainerGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlContainerGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlContainerGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_container.metadata['url'] + url = self.get_sql_container.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlContainerGetResults', response) + deserialized = self._deserialize('SqlContainerGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} - + get_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore def _create_update_sql_container_initial( - self, resource_group_name, account_name, database_name, container_name, create_update_sql_container_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + create_update_sql_container_parameters, # type: "_models.SqlContainerCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SqlContainerGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlContainerGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_sql_container.metadata['url'] + url = self._create_update_sql_container_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_sql_container_parameters, 'SqlContainerCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_sql_container_parameters, 'SqlContainerCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlContainerGetResults', response) + deserialized = self._deserialize('SqlContainerGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_sql_container( - self, resource_group_name, account_name, database_name, container_name, create_update_sql_container_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + def begin_create_update_sql_container( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + create_update_sql_container_parameters, # type: "_models.SqlContainerCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.SqlContainerGetResults"] """Create or update an Azure Cosmos DB SQL container. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -957,98 +1113,128 @@ def create_update_sql_container( :type database_name: str :param container_name: Cosmos DB container name. :type container_name: str - :param create_update_sql_container_parameters: The parameters to - provide for the current SQL container. - :type create_update_sql_container_parameters: - ~azure.mgmt.cosmosdb.models.SqlContainerCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SqlContainerGetResults - or ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.SqlContainerGetResults]] - :raises: :class:`CloudError` + :param create_update_sql_container_parameters: The parameters to provide for the current SQL + container. + :type create_update_sql_container_parameters: ~azure.mgmt.cosmosdb.models.SqlContainerCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SqlContainerGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_sql_container_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - create_update_sql_container_parameters=create_update_sql_container_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('SqlContainerGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_sql_container_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + create_update_sql_container_parameters=create_update_sql_container_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlContainerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore def _delete_sql_container_initial( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_sql_container.metadata['url'] + url = self._delete_sql_container_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_sql_container( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + def begin_delete_sql_container( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB SQL container. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1056,48 +1242,75 @@ def delete_sql_container( :type database_name: str :param container_name: Cosmos DB container name. :type container_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_sql_container_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_sql_container_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore def get_sql_container_throughput( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the SQL container under an existing Azure - Cosmos DB database account. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database + account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1105,119 +1318,127 @@ def get_sql_container_throughput( :type database_name: str :param container_name: Cosmos DB container name. :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: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_container_throughput.metadata['url'] + url = self.get_sql_container_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} - + get_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore def _update_sql_container_throughput_initial( - self, resource_group_name, account_name, database_name, container_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_sql_container_throughput.metadata['url'] + url = self._update_sql_container_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_sql_container_throughput( - self, resource_group_name, account_name, database_name, container_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_sql_container_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + + def begin_update_sql_container_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of an Azure Cosmos DB SQL container. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1225,108 +1446,135 @@ def update_sql_container_throughput( :type database_name: str :param container_name: Cosmos DB container name. :type container_name: str - :param update_throughput_parameters: The parameters to provide for the - RUs per second of the current SQL container. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The parameters to provide for the RUs per second of the + current SQL container. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_sql_container_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_sql_container_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore def _migrate_sql_container_to_autoscale_initial( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_sql_container_to_autoscale.metadata['url'] + url = self._migrate_sql_container_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_sql_container_to_autoscale( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB SQL container from manual throughput to - autoscale. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_sql_container_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_sql_container_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1334,103 +1582,131 @@ def migrate_sql_container_to_autoscale( :type database_name: str :param container_name: Cosmos DB container name. :type container_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_sql_container_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_sql_container_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_sql_container_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_sql_container_to_manual_throughput_initial( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_sql_container_to_manual_throughput.metadata['url'] + url = self._migrate_sql_container_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_sql_container_to_manual_throughput( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Migrate an Azure Cosmos DB SQL container from autoscale to manual - throughput. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + _migrate_sql_container_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_sql_container_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + """Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1438,55 +1714,77 @@ def migrate_sql_container_to_manual_throughput( :type database_name: str :param container_name: Cosmos DB container name. :type container_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_sql_container_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_sql_container_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_sql_container_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore def list_sql_stored_procedures( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): - """Lists the SQL storedProcedure under an existing Azure Cosmos DB - database account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.SqlStoredProcedureListResult"] + """Lists the SQL storedProcedure under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1494,79 +1792,83 @@ def list_sql_stored_procedures( :type database_name: str :param container_name: Cosmos DB container name. :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: An iterator like instance of SqlStoredProcedureGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResultsPaged[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlStoredProcedureListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlStoredProcedureListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_sql_stored_procedures.metadata['url'] + url = self.list_sql_stored_procedures.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('SqlStoredProcedureListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SqlStoredProcedureGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_sql_stored_procedures.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures'} + return ItemPaged( + get_next, extract_data + ) + list_sql_stored_procedures.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures'} # type: ignore def get_sql_stored_procedure( - self, resource_group_name, account_name, database_name, container_name, stored_procedure_name, custom_headers=None, raw=False, **operation_config): - """Gets the SQL storedProcedure under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + stored_procedure_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SqlStoredProcedureGetResults" + """Gets the SQL storedProcedure under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1576,121 +1878,131 @@ def get_sql_stored_procedure( :type container_name: str :param stored_procedure_name: Cosmos DB storedProcedure name. :type stored_procedure_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SqlStoredProcedureGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlStoredProcedureGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_stored_procedure.metadata['url'] + url = self.get_sql_stored_procedure.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str') + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlStoredProcedureGetResults', response) + deserialized = self._deserialize('SqlStoredProcedureGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} - + get_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore def _create_update_sql_stored_procedure_initial( - self, resource_group_name, account_name, database_name, container_name, stored_procedure_name, create_update_sql_stored_procedure_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + stored_procedure_name, # type: str + create_update_sql_stored_procedure_parameters, # type: "_models.SqlStoredProcedureCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SqlStoredProcedureGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlStoredProcedureGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_sql_stored_procedure.metadata['url'] + url = self._create_update_sql_stored_procedure_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str') + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_sql_stored_procedure_parameters, 'SqlStoredProcedureCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_sql_stored_procedure_parameters, 'SqlStoredProcedureCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlStoredProcedureGetResults', response) + deserialized = self._deserialize('SqlStoredProcedureGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_sql_stored_procedure( - self, resource_group_name, account_name, database_name, container_name, stored_procedure_name, create_update_sql_stored_procedure_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + def begin_create_update_sql_stored_procedure( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + stored_procedure_name, # type: str + create_update_sql_stored_procedure_parameters, # type: "_models.SqlStoredProcedureCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.SqlStoredProcedureGetResults"] """Create or update an Azure Cosmos DB SQL storedProcedure. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1700,101 +2012,133 @@ def create_update_sql_stored_procedure( :type container_name: str :param stored_procedure_name: Cosmos DB storedProcedure name. :type stored_procedure_name: str - :param create_update_sql_stored_procedure_parameters: The parameters - to provide for the current SQL storedProcedure. - :type create_update_sql_stored_procedure_parameters: - ~azure.mgmt.cosmosdb.models.SqlStoredProcedureCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - SqlStoredProcedureGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults]] - :raises: :class:`CloudError` + :param create_update_sql_stored_procedure_parameters: The parameters to provide for the current + SQL storedProcedure. + :type create_update_sql_stored_procedure_parameters: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SqlStoredProcedureGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_sql_stored_procedure_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - stored_procedure_name=stored_procedure_name, - create_update_sql_stored_procedure_parameters=create_update_sql_stored_procedure_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('SqlStoredProcedureGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_sql_stored_procedure_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + create_update_sql_stored_procedure_parameters=create_update_sql_stored_procedure_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlStoredProcedureGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore def _delete_sql_stored_procedure_initial( - self, resource_group_name, account_name, database_name, container_name, stored_procedure_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + stored_procedure_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_sql_stored_procedure.metadata['url'] + url = self._delete_sql_stored_procedure_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str') + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_sql_stored_procedure( - self, resource_group_name, account_name, database_name, container_name, stored_procedure_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + def begin_delete_sql_stored_procedure( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + stored_procedure_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB SQL storedProcedure. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1804,49 +2148,76 @@ def delete_sql_stored_procedure( :type container_name: str :param stored_procedure_name: Cosmos DB storedProcedure name. :type stored_procedure_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_sql_stored_procedure_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - stored_procedure_name=stored_procedure_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_sql_stored_procedure_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore def list_sql_user_defined_functions( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): - """Lists the SQL userDefinedFunction under an existing Azure Cosmos DB - database account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.SqlUserDefinedFunctionListResult"] + """Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1854,79 +2225,83 @@ def list_sql_user_defined_functions( :type database_name: str :param container_name: Cosmos DB container name. :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: An iterator like instance of SqlUserDefinedFunctionGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResultsPaged[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlUserDefinedFunctionListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_sql_user_defined_functions.metadata['url'] + url = self.list_sql_user_defined_functions.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('SqlUserDefinedFunctionListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SqlUserDefinedFunctionGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_sql_user_defined_functions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions'} + return ItemPaged( + get_next, extract_data + ) + list_sql_user_defined_functions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions'} # type: ignore def get_sql_user_defined_function( - self, resource_group_name, account_name, database_name, container_name, user_defined_function_name, custom_headers=None, raw=False, **operation_config): - """Gets the SQL userDefinedFunction under an existing Azure Cosmos DB - database account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + user_defined_function_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SqlUserDefinedFunctionGetResults" + """Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -1936,122 +2311,131 @@ def get_sql_user_defined_function( :type container_name: str :param user_defined_function_name: Cosmos DB userDefinedFunction name. :type user_defined_function_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SqlUserDefinedFunctionGetResults or ClientRawResponse if - raw=true + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlUserDefinedFunctionGetResults, or the result of cls(response) :rtype: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_user_defined_function.metadata['url'] + url = self.get_sql_user_defined_function.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str') + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlUserDefinedFunctionGetResults', response) + deserialized = self._deserialize('SqlUserDefinedFunctionGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} - + get_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore def _create_update_sql_user_defined_function_initial( - self, resource_group_name, account_name, database_name, container_name, user_defined_function_name, create_update_sql_user_defined_function_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + user_defined_function_name, # type: str + create_update_sql_user_defined_function_parameters, # type: "_models.SqlUserDefinedFunctionCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SqlUserDefinedFunctionGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlUserDefinedFunctionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_sql_user_defined_function.metadata['url'] + url = self._create_update_sql_user_defined_function_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str') + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_sql_user_defined_function_parameters, 'SqlUserDefinedFunctionCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_sql_user_defined_function_parameters, 'SqlUserDefinedFunctionCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlUserDefinedFunctionGetResults', response) + deserialized = self._deserialize('SqlUserDefinedFunctionGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_sql_user_defined_function( - self, resource_group_name, account_name, database_name, container_name, user_defined_function_name, create_update_sql_user_defined_function_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + def begin_create_update_sql_user_defined_function( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + user_defined_function_name, # type: str + create_update_sql_user_defined_function_parameters, # type: "_models.SqlUserDefinedFunctionCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.SqlUserDefinedFunctionGetResults"] """Create or update an Azure Cosmos DB SQL userDefinedFunction. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -2061,101 +2445,133 @@ def create_update_sql_user_defined_function( :type container_name: str :param user_defined_function_name: Cosmos DB userDefinedFunction name. :type user_defined_function_name: str - :param create_update_sql_user_defined_function_parameters: The - parameters to provide for the current SQL userDefinedFunction. - :type create_update_sql_user_defined_function_parameters: - ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - SqlUserDefinedFunctionGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults]] - :raises: :class:`CloudError` + :param create_update_sql_user_defined_function_parameters: The parameters to provide for the + current SQL userDefinedFunction. + :type create_update_sql_user_defined_function_parameters: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SqlUserDefinedFunctionGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_sql_user_defined_function_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - user_defined_function_name=user_defined_function_name, - create_update_sql_user_defined_function_parameters=create_update_sql_user_defined_function_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('SqlUserDefinedFunctionGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_sql_user_defined_function_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + create_update_sql_user_defined_function_parameters=create_update_sql_user_defined_function_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlUserDefinedFunctionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore def _delete_sql_user_defined_function_initial( - self, resource_group_name, account_name, database_name, container_name, user_defined_function_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + user_defined_function_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_sql_user_defined_function.metadata['url'] + url = self._delete_sql_user_defined_function_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str') + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_sql_user_defined_function( - self, resource_group_name, account_name, database_name, container_name, user_defined_function_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + def begin_delete_sql_user_defined_function( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + user_defined_function_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB SQL userDefinedFunction. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -2165,49 +2581,76 @@ def delete_sql_user_defined_function( :type container_name: str :param user_defined_function_name: Cosmos DB userDefinedFunction name. :type user_defined_function_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_sql_user_defined_function_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - user_defined_function_name=user_defined_function_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_sql_user_defined_function_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore def list_sql_triggers( - self, resource_group_name, account_name, database_name, container_name, custom_headers=None, raw=False, **operation_config): - """Lists the SQL trigger under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.SqlTriggerListResult"] + """Lists the SQL trigger under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -2215,79 +2658,83 @@ def list_sql_triggers( :type database_name: str :param container_name: Cosmos DB container name. :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: An iterator like instance of SqlTriggerGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.SqlTriggerGetResultsPaged[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlTriggerListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlTriggerListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_sql_triggers.metadata['url'] + url = self.list_sql_triggers.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str') + 'containerName': self._serialize.url("container_name", container_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('SqlTriggerListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SqlTriggerGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_sql_triggers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers'} + return ItemPaged( + get_next, extract_data + ) + list_sql_triggers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers'} # type: ignore def get_sql_trigger( - self, resource_group_name, account_name, database_name, container_name, trigger_name, custom_headers=None, raw=False, **operation_config): - """Gets the SQL trigger under an existing Azure Cosmos DB database - account. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SqlTriggerGetResults" + """Gets the SQL trigger under an existing Azure Cosmos DB database account. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -2297,121 +2744,131 @@ def get_sql_trigger( :type container_name: str :param trigger_name: Cosmos DB trigger name. :type trigger_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SqlTriggerGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.SqlTriggerGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlTriggerGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlTriggerGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_trigger.metadata['url'] + url = self.get_sql_trigger.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str') + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlTriggerGetResults', response) + deserialized = self._deserialize('SqlTriggerGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} - + get_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore def _create_update_sql_trigger_initial( - self, resource_group_name, account_name, database_name, container_name, trigger_name, create_update_sql_trigger_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + trigger_name, # type: str + create_update_sql_trigger_parameters, # type: "_models.SqlTriggerCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SqlTriggerGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlTriggerGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_sql_trigger.metadata['url'] + url = self._create_update_sql_trigger_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str') + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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(create_update_sql_trigger_parameters, 'SqlTriggerCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_sql_trigger_parameters, 'SqlTriggerCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlTriggerGetResults', response) + deserialized = self._deserialize('SqlTriggerGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_sql_trigger( - self, resource_group_name, account_name, database_name, container_name, trigger_name, create_update_sql_trigger_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + def begin_create_update_sql_trigger( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + trigger_name, # type: str + create_update_sql_trigger_parameters, # type: "_models.SqlTriggerCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.SqlTriggerGetResults"] """Create or update an Azure Cosmos DB SQL trigger. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -2421,100 +2878,133 @@ def create_update_sql_trigger( :type container_name: str :param trigger_name: Cosmos DB trigger name. :type trigger_name: str - :param create_update_sql_trigger_parameters: The parameters to provide - for the current SQL trigger. - :type create_update_sql_trigger_parameters: - ~azure.mgmt.cosmosdb.models.SqlTriggerCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns SqlTriggerGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults]] - :raises: :class:`CloudError` + :param create_update_sql_trigger_parameters: The parameters to provide for the current SQL + trigger. + :type create_update_sql_trigger_parameters: ~azure.mgmt.cosmosdb.models.SqlTriggerCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SqlTriggerGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_sql_trigger_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - trigger_name=trigger_name, - create_update_sql_trigger_parameters=create_update_sql_trigger_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('SqlTriggerGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_sql_trigger_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + create_update_sql_trigger_parameters=create_update_sql_trigger_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlTriggerGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore def _delete_sql_trigger_initial( - self, resource_group_name, account_name, database_name, container_name, trigger_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_sql_trigger.metadata['url'] + url = self._delete_sql_trigger_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), 'databaseName': self._serialize.url("database_name", database_name, 'str'), 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str') + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), } url = self._client.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 = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_sql_trigger( - self, resource_group_name, account_name, database_name, container_name, trigger_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + def begin_delete_sql_trigger( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB SQL trigger. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str @@ -2524,700 +3014,984 @@ def delete_sql_trigger( :type container_name: str :param trigger_name: Cosmos DB trigger name. :type trigger_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_sql_trigger_initial( - resource_group_name=resource_group_name, - account_name=account_name, - database_name=database_name, - container_name=container_name, - trigger_name=trigger_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_sql_trigger_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + def _retrieve_continuous_backup_information_initial( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + location, # type: "_models.ContinuousBackupRestoreLocation" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.BackupInformation"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._retrieve_continuous_backup_information_initial.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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + 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) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore + + def begin_retrieve_continuous_backup_information( + self, + resource_group_name, # type: str + account_name, # type: str + database_name, # type: str + container_name, # type: str + location, # type: "_models.ContinuousBackupRestoreLocation" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.BackupInformation"] + """Retrieves continuous backup information for a container resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param container_name: Cosmos DB container name. + :type container_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either BackupInformation or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + location=location, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore def get_sql_role_definition( - self, role_definition_id, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the properties of an existing Azure Cosmos DB SQL Role - Definition with the given Id. + self, + role_definition_id, # type: str + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SqlRoleDefinitionGetResults" + """Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id. :param role_definition_id: The GUID for the Role Definition. :type role_definition_id: str - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: SqlRoleDefinitionGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlRoleDefinitionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_role_definition.metadata['url'] + url = self.get_sql_role_definition.metadata['url'] # type: ignore path_format_arguments = { 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlRoleDefinitionGetResults', response) + deserialized = self._deserialize('SqlRoleDefinitionGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} - + get_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore def _create_update_sql_role_definition_initial( - self, role_definition_id, resource_group_name, account_name, create_update_sql_role_definition_parameters, custom_headers=None, raw=False, **operation_config): + self, + role_definition_id, # type: str + resource_group_name, # type: str + account_name, # type: str + create_update_sql_role_definition_parameters, # type: "_models.SqlRoleDefinitionCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SqlRoleDefinitionGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlRoleDefinitionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_sql_role_definition.metadata['url'] + url = self._create_update_sql_role_definition_initial.metadata['url'] # type: ignore path_format_arguments = { 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(create_update_sql_role_definition_parameters, 'SqlRoleDefinitionCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_sql_role_definition_parameters, 'SqlRoleDefinitionCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlRoleDefinitionGetResults', response) + deserialized = self._deserialize('SqlRoleDefinitionGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_sql_role_definition( - self, role_definition_id, resource_group_name, account_name, create_update_sql_role_definition_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + def begin_create_update_sql_role_definition( + self, + role_definition_id, # type: str + resource_group_name, # type: str + account_name, # type: str + create_update_sql_role_definition_parameters, # type: "_models.SqlRoleDefinitionCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.SqlRoleDefinitionGetResults"] """Creates or updates an Azure Cosmos DB SQL Role Definition. :param role_definition_id: The GUID for the Role Definition. :type role_definition_id: str - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param create_update_sql_role_definition_parameters: The properties - required to create or update a Role Definition. - :type create_update_sql_role_definition_parameters: - ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - SqlRoleDefinitionGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults]] - :raises: :class:`CloudError` + :param create_update_sql_role_definition_parameters: The properties required to create or + update a Role Definition. + :type create_update_sql_role_definition_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SqlRoleDefinitionGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_sql_role_definition_initial( - role_definition_id=role_definition_id, - resource_group_name=resource_group_name, - account_name=account_name, - create_update_sql_role_definition_parameters=create_update_sql_role_definition_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('SqlRoleDefinitionGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_sql_role_definition_initial( + role_definition_id=role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_sql_role_definition_parameters=create_update_sql_role_definition_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore def _delete_sql_role_definition_initial( - self, role_definition_id, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + role_definition_id, # type: str + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.delete_sql_role_definition.metadata['url'] + url = self._delete_sql_role_definition_initial.metadata['url'] # type: ignore path_format_arguments = { 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_sql_role_definition( - self, role_definition_id, resource_group_name, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + def begin_delete_sql_role_definition( + self, + role_definition_id, # type: str + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB SQL Role Definition. :param role_definition_id: The GUID for the Role Definition. :type role_definition_id: str - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_sql_role_definition_initial( - role_definition_id=role_definition_id, - resource_group_name=resource_group_name, - account_name=account_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_sql_role_definition_initial( + role_definition_id=role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore def list_sql_role_definitions( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.SqlRoleDefinitionListResult"] """Retrieves the list of all Azure Cosmos DB SQL Role Definitions. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 SqlRoleDefinitionGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResultsPaged[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlRoleDefinitionListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_sql_role_definitions.metadata['url'] + url = self.list_sql_role_definitions.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('SqlRoleDefinitionListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SqlRoleDefinitionGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_sql_role_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions'} + return ItemPaged( + get_next, extract_data + ) + list_sql_role_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions'} # type: ignore def get_sql_role_assignment( - self, role_assignment_id, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): - """Retrieves the properties of an existing Azure Cosmos DB SQL Role - Assignment with the given Id. + self, + role_assignment_id, # type: str + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SqlRoleAssignmentGetResults" + """Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id. :param role_assignment_id: The GUID for the Role Assignment. :type role_assignment_id: str - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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: SqlRoleAssignmentGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlRoleAssignmentGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_sql_role_assignment.metadata['url'] + url = self.get_sql_role_assignment.metadata['url'] # type: ignore path_format_arguments = { 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlRoleAssignmentGetResults', response) + deserialized = self._deserialize('SqlRoleAssignmentGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} - + get_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore def _create_update_sql_role_assignment_initial( - self, role_assignment_id, resource_group_name, account_name, create_update_sql_role_assignment_parameters, custom_headers=None, raw=False, **operation_config): + self, + role_assignment_id, # type: str + resource_group_name, # type: str + account_name, # type: str + create_update_sql_role_assignment_parameters, # type: "_models.SqlRoleAssignmentCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SqlRoleAssignmentGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlRoleAssignmentGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_sql_role_assignment.metadata['url'] + url = self._create_update_sql_role_assignment_initial.metadata['url'] # type: ignore path_format_arguments = { 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(create_update_sql_role_assignment_parameters, 'SqlRoleAssignmentCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_sql_role_assignment_parameters, 'SqlRoleAssignmentCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('SqlRoleAssignmentGetResults', response) + deserialized = self._deserialize('SqlRoleAssignmentGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_sql_role_assignment( - self, role_assignment_id, resource_group_name, account_name, create_update_sql_role_assignment_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + def begin_create_update_sql_role_assignment( + self, + role_assignment_id, # type: str + resource_group_name, # type: str + account_name, # type: str + create_update_sql_role_assignment_parameters, # type: "_models.SqlRoleAssignmentCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.SqlRoleAssignmentGetResults"] """Creates or updates an Azure Cosmos DB SQL Role Assignment. :param role_assignment_id: The GUID for the Role Assignment. :type role_assignment_id: str - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str - :param create_update_sql_role_assignment_parameters: The properties - required to create or update a Role Assignment. - :type create_update_sql_role_assignment_parameters: - ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - SqlRoleAssignmentGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults]] - :raises: :class:`CloudError` + :param create_update_sql_role_assignment_parameters: The properties required to create or + update a Role Assignment. + :type create_update_sql_role_assignment_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either SqlRoleAssignmentGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_sql_role_assignment_initial( - role_assignment_id=role_assignment_id, - resource_group_name=resource_group_name, - account_name=account_name, - create_update_sql_role_assignment_parameters=create_update_sql_role_assignment_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('SqlRoleAssignmentGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_sql_role_assignment_initial( + role_assignment_id=role_assignment_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_sql_role_assignment_parameters=create_update_sql_role_assignment_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SqlRoleAssignmentGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore def _delete_sql_role_assignment_initial( - self, role_assignment_id, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + role_assignment_id, # type: str + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.delete_sql_role_assignment.metadata['url'] + url = self._delete_sql_role_assignment_initial.metadata['url'] # type: ignore path_format_arguments = { 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_sql_role_assignment( - self, role_assignment_id, resource_group_name, account_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + def begin_delete_sql_role_assignment( + self, + role_assignment_id, # type: str + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB SQL Role Assignment. :param role_assignment_id: The GUID for the Role Assignment. :type role_assignment_id: str - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_sql_role_assignment_initial( - role_assignment_id=role_assignment_id, - resource_group_name=resource_group_name, - account_name=account_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_sql_role_assignment_initial( + role_assignment_id=role_assignment_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, 'str'), + '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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore def list_sql_role_assignments( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.SqlRoleAssignmentListResult"] """Retrieves the list of all Azure Cosmos DB SQL Role Assignments. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 SqlRoleAssignmentGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResultsPaged[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlRoleAssignmentListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_sql_role_assignments.metadata['url'] + url = self.list_sql_role_assignments.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('SqlRoleAssignmentListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SqlRoleAssignmentGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_sql_role_assignments.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments'} + return ItemPaged( + get_next, extract_data + ) + list_sql_role_assignments.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py index c2a4d128146..b47811e3f59 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py @@ -1,744 +1,886 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 TableResourcesOperations(object): """TableResourcesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.cosmosdb.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. - :ivar api_version: The API version to use for this operation. Constant value: "2021-03-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-03-01-preview" - - self.config = config + self._config = config def list_tables( - self, resource_group_name, account_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.TableListResult"] """Lists the Tables under an existing Azure Cosmos DB database account. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :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 TableGetResults - :rtype: - ~azure.mgmt.cosmosdb.models.TableGetResultsPaged[~azure.mgmt.cosmosdb.models.TableGetResults] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TableListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.TableListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_tables.metadata['url'] + url = self.list_tables.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*') + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('TableListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.TableGetResultsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables'} + return ItemPaged( + get_next, extract_data + ) + list_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables'} # type: ignore def get_table( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, **operation_config): - """Gets the Tables under an existing Azure Cosmos DB database account with - the provided name. - - :param resource_group_name: The name of the resource group. The name - is case insensitive. + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.TableGetResults" + """Gets the Tables under an existing Azure Cosmos DB database account with the provided name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param table_name: Cosmos DB table name. :type 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: TableGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.TableGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TableGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.TableGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_table.metadata['url'] + url = self.get_table.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('TableGetResults', response) + deserialized = self._deserialize('TableGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} - + get_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore def _create_update_table_initial( - self, resource_group_name, account_name, table_name, create_update_table_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + create_update_table_parameters, # type: "_models.TableCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.TableGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.TableGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_update_table.metadata['url'] + url = self._create_update_table_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(create_update_table_parameters, 'TableCreateUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(create_update_table_parameters, 'TableCreateUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('TableGetResults', response) + deserialized = self._deserialize('TableGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_update_table( - self, resource_group_name, account_name, table_name, create_update_table_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_update_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + def begin_create_update_table( + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + create_update_table_parameters, # type: "_models.TableCreateUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.TableGetResults"] """Create or update an Azure Cosmos DB Table. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param table_name: Cosmos DB table name. :type table_name: str - :param create_update_table_parameters: The parameters to provide for - the current Table. - :type create_update_table_parameters: - ~azure.mgmt.cosmosdb.models.TableCreateUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns TableGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.TableGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.TableGetResults]] - :raises: :class:`CloudError` + :param create_update_table_parameters: The parameters to provide for the current Table. + :type create_update_table_parameters: ~azure.mgmt.cosmosdb.models.TableCreateUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either TableGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.TableGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._create_update_table_initial( - resource_group_name=resource_group_name, - account_name=account_name, - table_name=table_name, - create_update_table_parameters=create_update_table_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('TableGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_update_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + create_update_table_parameters=create_update_table_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TableGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_update_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore def _delete_table_initial( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + # Construct URL - url = self.delete_table.metadata['url'] + url = self._delete_table_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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_table( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + def begin_delete_table( + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an existing Azure Cosmos DB Table. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param table_name: Cosmos DB table name. :type 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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_table_initial( - resource_group_name=resource_group_name, - account_name=account_name, - table_name=table_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_table_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore def get_table_throughput( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, **operation_config): - """Gets the RUs per second of the Table under an existing Azure Cosmos DB - database account with the provided name. + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ThroughputSettingsGetResults" + """Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with + the provided name. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param table_name: Cosmos DB table name. :type 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: ThroughputSettingsGetResults or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ThroughputSettingsGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.get_table_throughput.metadata['url'] + url = self.get_table_throughput.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} - + get_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore def _update_table_throughput_initial( - self, resource_group_name, account_name, table_name, update_throughput_parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update_table_throughput.metadata['url'] + url = self._update_table_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + 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, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_table_throughput( - self, resource_group_name, account_name, table_name, update_throughput_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _update_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + def begin_update_table_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Update RUs per second of an Azure Cosmos DB Table. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param table_name: Cosmos DB table name. :type table_name: str - :param update_throughput_parameters: The parameters to provide for the - RUs per second of the current Table. - :type update_throughput_parameters: - ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :param update_throughput_parameters: The parameters to provide for the RUs per second of the + current Table. + :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._update_table_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - table_name=table_name, - update_throughput_parameters=update_throughput_parameters, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_table_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + update_throughput_parameters=update_throughput_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - update_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore def _migrate_table_to_autoscale_initial( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_table_to_autoscale.metadata['url'] + url = self._migrate_table_to_autoscale_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_table_to_autoscale( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, polling=True, **operation_config): + _migrate_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + def begin_migrate_table_to_autoscale( + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Migrate an Azure Cosmos DB Table from manual throughput to autoscale. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param table_name: Cosmos DB table name. :type 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 - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_table_to_autoscale_initial( - resource_group_name=resource_group_name, - account_name=account_name, - table_name=table_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_table_to_autoscale_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_table_to_manual_throughput_initial( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + # Construct URL - url = self.migrate_table_to_manual_throughput.metadata['url'] + url = self._migrate_table_to_manual_throughput_initial.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), + '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\._\(\)]+$'), 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str') + 'tableName': self._serialize.url("table_name", 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', min_length=1) + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ThroughputSettingsGetResults', response) + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def migrate_table_to_manual_throughput( - self, resource_group_name, account_name, table_name, custom_headers=None, raw=False, polling=True, **operation_config): + _migrate_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def begin_migrate_table_to_manual_throughput( + self, + resource_group_name, # type: str + account_name, # type: str + table_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] """Migrate an Azure Cosmos DB Table from autoscale to manual throughput. - :param resource_group_name: The name of the resource group. The name - is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param account_name: Cosmos DB database account name. :type account_name: str :param table_name: Cosmos DB table name. :type 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 - ThroughputSettingsGetResults or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ThroughputSettingsGetResults or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._migrate_table_to_manual_throughput_initial( - resource_group_name=resource_group_name, - account_name=account_name, - table_name=table_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ThroughputSettingsGetResults', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._migrate_table_to_manual_throughput_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ThroughputSettingsGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + 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\._\(\)]+$'), + 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + 'tableName': self._serialize.url("table_name", table_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - migrate_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/linter_exclusions.yml b/src/cosmosdb-preview/linter_exclusions.yml index a73933ec314..3f9e40acd71 100644 --- a/src/cosmosdb-preview/linter_exclusions.yml +++ b/src/cosmosdb-preview/linter_exclusions.yml @@ -44,4 +44,25 @@ cosmosdb update: virtual_network_rules: rule_exclusions: - option_length_too_long - \ No newline at end of file +managed-cassandra cluster create: + parameters: + authentication_method: + rule_exclusions: + - option_length_too_long + cluster_name_override: + rule_exclusions: + - option_length_too_long + hours_between_backups: + rule_exclusions: + - option_length_too_long + restore_from_backup_id: + rule_exclusions: + - option_length_too_long +managed-cassandra cluster update: + parameters: + authentication_method: + rule_exclusions: + - option_length_too_long + hours_between_backups: + rule_exclusions: + - option_length_too_long \ No newline at end of file diff --git a/src/cosmosdb-preview/setup.py b/src/cosmosdb-preview/setup.py index c9dead72b2d..e7d4a6f1f4c 100644 --- a/src/cosmosdb-preview/setup.py +++ b/src/cosmosdb-preview/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.7.0' +VERSION = '0.8.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 36df3731f4a2eec745c251dfc81cc78e5e0e061f Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 21 Jun 2021 16:16:47 +0800 Subject: [PATCH 05/85] [Release] Update index.json for extension [ spring-cloud ] (#3527) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=956347 Last commit: https://github.com/Azure/azure-cli-extensions/commit/097827a4738686ce53a1360d295299c9138a8632 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 487eddb108f..720a045065e 100644 --- a/src/index.json +++ b/src/index.json @@ -16951,6 +16951,49 @@ "version": "2.4.0" }, "sha256Digest": "f4abfe885c9d08e80d48f1983d09082e8340e353ceb861a8eb9ce62f6786b180" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.5.0-py3-none-any.whl", + "filename": "spring_cloud-2.5.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.25.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/tree/master/src/spring-cloud" + } + } + }, + "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": "2.5.0" + }, + "sha256Digest": "2238877407cb3d4c0425350350abee4f82da5376d11fea979194c62f8b485f68" } ], "ssh": [ From 25f5d75d13c1867c9ed66368b558e17115cf0c4d Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 22 Jun 2021 11:21:20 +0800 Subject: [PATCH 06/85] [Release] Update index.json for extension [ cosmosdb-preview ] (#3530) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=958823 Last commit: https://github.com/Azure/azure-cli-extensions/commit/bd16344890df15128d27b42a9aa0490fa419fefa --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 720a045065e..1b151f71952 100644 --- a/src/index.json +++ b/src/index.json @@ -7496,6 +7496,49 @@ "version": "0.7.0" }, "sha256Digest": "c11b611e3c8eeaaf2b6a5ca935ae7e6072834be77a777f1749d7c9c6419ae55a" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.8.0-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.8.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.17.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": "kakhandr@microsoft.com", + "name": "Kalyan khandrika", + "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": "cosmosdb-preview", + "summary": "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension", + "version": "0.8.0" + }, + "sha256Digest": "513b9683ef78ddb6316ed2d8b41f64f6e6278ae169aa3d5735c061108b40ec78" } ], "costmanagement": [ From 1e9d1344d31cd922d6878004c3a9c1e292c947bb Mon Sep 17 00:00:00 2001 From: Feng Zhou <55177366+fengzhou-msft@users.noreply.github.com> Date: Tue, 22 Jun 2021 18:22:14 +0800 Subject: [PATCH 07/85] [Confluent] UX improvement (#3373) --- src/confluent/HISTORY.rst | 8 + src/confluent/azext_confluent/__init__.py | 3 +- .../generated/_client_factory.py | 3 +- .../azext_confluent/generated/_help.py | 26 +- .../azext_confluent/generated/_params.py | 11 +- .../azext_confluent/generated/action.py | 62 - .../azext_confluent/generated/commands.py | 13 +- .../azext_confluent/generated/custom.py | 26 +- src/confluent/azext_confluent/manual/_help.py | 25 + .../azext_confluent/manual/_params.py | 27 + .../azext_confluent/manual/commands.py | 27 + .../azext_confluent/manual/custom.py | 129 ++ .../azext_confluent/manual/version.py | 11 + .../azext_confluent/tests/__init__.py | 14 +- .../tests/latest/example_steps.py | 32 +- .../recordings/test_confluent_Scenario.yaml | 1434 +++++++++++++++-- .../tests/latest/test_confluent_scenario.py | 90 +- .../test_confluent_scenario_coverage.md | 12 +- .../vendored_sdks/confluent/__init__.py | 3 + .../vendored_sdks/confluent/_configuration.py | 7 +- .../confluent/_confluent_management_client.py | 24 +- .../vendored_sdks/confluent/_version.py | 9 + .../confluent/aio/_configuration.py | 7 +- .../aio/_confluent_management_client.py | 24 +- .../confluent/aio/operations/__init__.py | 10 +- ... => _marketplace_agreements_operations.py} | 22 +- .../operations/_organization_operations.py | 64 +- ...=> _organization_operations_operations.py} | 10 +- .../aio/operations/_validations_operations.py | 110 ++ .../confluent/models/__init__.py | 20 +- .../_confluent_management_client_enums.py | 9 + .../vendored_sdks/confluent/models/_models.py | 376 ++--- .../confluent/models/_models_py3.py | 416 ++--- .../confluent/operations/__init__.py | 10 +- ... => _marketplace_agreements_operations.py} | 22 +- .../operations/_organization_operations.py | 64 +- ...=> _organization_operations_operations.py} | 10 +- .../operations/_validations_operations.py | 115 ++ src/confluent/gen.zip | Bin 7249 -> 0 bytes src/confluent/report.md | 12 +- 40 files changed, 2306 insertions(+), 991 deletions(-) create mode 100644 src/confluent/azext_confluent/manual/_params.py create mode 100644 src/confluent/azext_confluent/manual/commands.py create mode 100644 src/confluent/azext_confluent/manual/custom.py create mode 100644 src/confluent/azext_confluent/manual/version.py create mode 100644 src/confluent/azext_confluent/vendored_sdks/confluent/_version.py rename src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/{_marketplace_agreement_operations.py => _marketplace_agreements_operations.py} (91%) rename src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/{_organization_operation_operations.py => _organization_operations_operations.py} (93%) create mode 100644 src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_validations_operations.py rename src/confluent/azext_confluent/vendored_sdks/confluent/operations/{_marketplace_agreement_operations.py => _marketplace_agreements_operations.py} (91%) rename src/confluent/azext_confluent/vendored_sdks/confluent/operations/{_organization_operation_operations.py => _organization_operations_operations.py} (93%) create mode 100644 src/confluent/azext_confluent/vendored_sdks/confluent/operations/_validations_operations.py delete mode 100644 src/confluent/gen.zip diff --git a/src/confluent/HISTORY.rst b/src/confluent/HISTORY.rst index 1c139576ba0..070d3eec319 100644 --- a/src/confluent/HISTORY.rst +++ b/src/confluent/HISTORY.rst @@ -3,6 +3,14 @@ Release History =============== +0.2.0 ++++++ +* [BREAKING CHANGE] `az confluent organization create`: Remove `--user-detail`, the parameter is now auto-filled by the email address, first name and last name decoded from access token. +* [BREAKING CHANGE] `az confluent organization create`: Flatten `--offer-detail` to `--offer-id`, `--plan-id`, `--plan-name`, `--publisher-id` and `--term-unit`. +* Add new command `az confluent offer-detail show`. +* `az confluent organization create`: Add Owner or Contributor access check of the subscription before creating the organization. +* `az confluent organization delete`: Customize confirmation message based on plan type. + 0.1.0 ++++++ * Initial release. diff --git a/src/confluent/azext_confluent/__init__.py b/src/confluent/azext_confluent/__init__.py index ba9723d3a54..b73ef872c38 100644 --- a/src/confluent/azext_confluent/__init__.py +++ b/src/confluent/azext_confluent/__init__.py @@ -7,6 +7,7 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- +# pylint: disable=import-outside-toplevel from azure.cli.core import AzCommandsLoader from azext_confluent.generated._help import helps # pylint: disable=unused-import @@ -24,7 +25,7 @@ def __init__(self, cli_ctx=None): confluent_custom = CliCommandType( operations_tmpl='azext_confluent.custom#{}', client_factory=cf_confluent_cl) - parent = super(ConfluentManagementClientCommandsLoader, self) + parent = super() parent.__init__(cli_ctx=cli_ctx, custom_command_type=confluent_custom) def load_command_table(self, args): diff --git a/src/confluent/azext_confluent/generated/_client_factory.py b/src/confluent/azext_confluent/generated/_client_factory.py index 632d3dd2346..8d43cf0368f 100644 --- a/src/confluent/azext_confluent/generated/_client_factory.py +++ b/src/confluent/azext_confluent/generated/_client_factory.py @@ -7,6 +7,7 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- +# pylint: disable=import-outside-toplevel def cf_confluent_cl(cli_ctx, *_): @@ -17,7 +18,7 @@ def cf_confluent_cl(cli_ctx, *_): def cf_marketplace_agreement(cli_ctx, *_): - return cf_confluent_cl(cli_ctx).marketplace_agreement + return cf_confluent_cl(cli_ctx).marketplace_agreements def cf_organization(cli_ctx, *_): diff --git a/src/confluent/azext_confluent/generated/_help.py b/src/confluent/azext_confluent/generated/_help.py index 3b429c5b121..758309e4f7b 100644 --- a/src/confluent/azext_confluent/generated/_help.py +++ b/src/confluent/azext_confluent/generated/_help.py @@ -56,33 +56,11 @@ helps['confluent organization create'] = """ type: command short-summary: "Create Organization resource." - parameters: - - name: --offer-detail - short-summary: "Confluent offer detail" - long-summary: | - Usage: --offer-detail publisher-id=XX id=XX plan-id=XX plan-name=XX term-unit=XX status=XX - - publisher-id: Publisher Id - id: Offer Id - plan-id: Offer Plan Id - plan-name: Offer Plan Name - term-unit: Offer Plan Term unit - status: SaaS Offer Status - - name: --user-detail - short-summary: "Subscriber detail" - long-summary: | - Usage: --user-detail first-name=XX last-name=XX email-address=XX - - first-name: First name - last-name: Last name - email-address: Email address examples: - name: Organization_Create text: |- - az confluent organization create --location "West US" --offer-detail id="string" plan-id="string" \ -plan-name="string" publisher-id="string" term-unit="string" --user-detail email-address="contoso@microsoft.com" \ -first-name="string" last-name="string" --tags Environment="Dev" --name "myOrganization" --resource-group \ -"myResourceGroup" + az confluent organization create --location "West US" --tags Environment="Dev" --name "myOrganization" \ +--resource-group "myResourceGroup" """ helps['confluent organization update'] = """ diff --git a/src/confluent/azext_confluent/generated/_params.py b/src/confluent/azext_confluent/generated/_params.py index 9e930101cbf..2aa7cb98c66 100644 --- a/src/confluent/azext_confluent/generated/_params.py +++ b/src/confluent/azext_confluent/generated/_params.py @@ -16,10 +16,6 @@ get_location_type ) from azure.cli.core.commands.validators import get_default_location_from_resource_group -from azext_confluent.action import ( - AddOfferDetail, - AddUserDetail -) def load_arguments(self, _): @@ -39,8 +35,11 @@ def load_arguments(self, _): c.argument('tags', tags_type) c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, validator=get_default_location_from_resource_group) - c.argument('offer_detail', action=AddOfferDetail, nargs='+', help='Confluent offer detail') - c.argument('user_detail', action=AddUserDetail, nargs='+', help='Subscriber detail') + c.argument('publisher_id', type=str, help='Publisher Id') + c.argument('offer_id', type=str, help='Offer Id') + c.argument('plan_id', type=str, help='Offer Plan Id') + c.argument('plan_name', type=str, help='Offer Plan Name') + c.argument('term_unit', type=str, help='Offer Plan Term unit') with self.argument_context('confluent organization update') as c: c.argument('resource_group_name', resource_group_name_type) diff --git a/src/confluent/azext_confluent/generated/action.py b/src/confluent/azext_confluent/generated/action.py index 008d284b6eb..b49bfaeeefe 100644 --- a/src/confluent/azext_confluent/generated/action.py +++ b/src/confluent/azext_confluent/generated/action.py @@ -8,65 +8,3 @@ # regenerated. # -------------------------------------------------------------------------- # pylint: disable=protected-access - -import argparse -from collections import defaultdict -from knack.util import CLIError - - -class AddOfferDetail(argparse.Action): - def __call__(self, parser, namespace, values, option_string=None): - action = self.get_action(values, option_string) - namespace.offer_detail = 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 == 'publisher-id': - d['publisher_id'] = v[0] - elif kl == 'id': - d['id'] = v[0] - elif kl == 'plan-id': - d['plan_id'] = v[0] - elif kl == 'plan-name': - d['plan_name'] = v[0] - elif kl == 'term-unit': - d['term_unit'] = v[0] - elif kl == 'status': - d['status'] = v[0] - return d - - -class AddUserDetail(argparse.Action): - def __call__(self, parser, namespace, values, option_string=None): - action = self.get_action(values, option_string) - namespace.user_detail = 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 == 'first-name': - d['first_name'] = v[0] - elif kl == 'last-name': - d['last_name'] = v[0] - elif kl == 'email-address': - d['email_address'] = v[0] - return d diff --git a/src/confluent/azext_confluent/generated/commands.py b/src/confluent/azext_confluent/generated/commands.py index 3b6969d10f8..e143a660d17 100644 --- a/src/confluent/azext_confluent/generated/commands.py +++ b/src/confluent/azext_confluent/generated/commands.py @@ -9,6 +9,7 @@ # -------------------------------------------------------------------------- # pylint: disable=too-many-statements # pylint: disable=too-many-locals +# pylint: disable=import-outside-toplevel from azure.cli.core.commands import CliCommandType @@ -17,11 +18,11 @@ def load_command_table(self, _): from azext_confluent.generated._client_factory import cf_marketplace_agreement confluent_marketplace_agreement = CliCommandType( - operations_tmpl='azext_confluent.vendored_sdks.confluent.operations._marketplace_agreement_operations#Marketpla' - 'ceAgreementOperations.{}', + operations_tmpl='azext_confluent.vendored_sdks.confluent.operations._marketplace_agreements_operations#Marketpl' + 'aceAgreementsOperations.{}', client_factory=cf_marketplace_agreement) with self.command_group('confluent terms', confluent_marketplace_agreement, - client_factory=cf_marketplace_agreement, is_experimental=True) as g: + client_factory=cf_marketplace_agreement) as g: g.custom_command('list', 'confluent_terms_list') from azext_confluent.generated._client_factory import cf_organization @@ -29,11 +30,13 @@ def load_command_table(self, _): operations_tmpl='azext_confluent.vendored_sdks.confluent.operations._organization_operations#OrganizationOperat' 'ions.{}', client_factory=cf_organization) - with self.command_group('confluent organization', confluent_organization, client_factory=cf_organization, - is_experimental=True) as g: + with self.command_group('confluent organization', confluent_organization, client_factory=cf_organization) as g: g.custom_command('list', 'confluent_organization_list') g.custom_show_command('show', 'confluent_organization_show') g.custom_command('create', 'confluent_organization_create', supports_no_wait=True) g.custom_command('update', 'confluent_organization_update') g.custom_command('delete', 'confluent_organization_delete', supports_no_wait=True, confirmation=True) g.custom_wait_command('wait', 'confluent_organization_show') + + with self.command_group('confluent', is_experimental=True): + pass diff --git a/src/confluent/azext_confluent/generated/custom.py b/src/confluent/azext_confluent/generated/custom.py index f24c3785de4..102546183dd 100644 --- a/src/confluent/azext_confluent/generated/custom.py +++ b/src/confluent/azext_confluent/generated/custom.py @@ -35,27 +35,37 @@ def confluent_organization_create(client, organization_name, tags=None, location=None, - offer_detail=None, - user_detail=None, + publisher_id=None, + offer_id=None, + plan_id=None, + plan_name=None, + term_unit=None, no_wait=False): + body = {} + body['tags'] = tags + body['location'] = location + body['offer_detail'] = {} + body['offer_detail']['publisher_id'] = publisher_id + body['offer_detail']['id'] = offer_id + body['offer_detail']['plan_id'] = plan_id + body['offer_detail']['plan_name'] = plan_name + body['offer_detail']['term_unit'] = term_unit return sdk_no_wait(no_wait, client.begin_create, resource_group_name=resource_group_name, organization_name=organization_name, - tags=tags, - location=location, - provisioning_state=None, - offer_detail=offer_detail, - user_detail=user_detail) + body=body) def confluent_organization_update(client, resource_group_name, organization_name, tags=None): + body = {} + body['tags'] = tags return client.update(resource_group_name=resource_group_name, organization_name=organization_name, - tags=tags) + body=body) def confluent_organization_delete(client, diff --git a/src/confluent/azext_confluent/manual/_help.py b/src/confluent/azext_confluent/manual/_help.py index 201b779b55c..d19067164cb 100644 --- a/src/confluent/azext_confluent/manual/_help.py +++ b/src/confluent/azext_confluent/manual/_help.py @@ -16,6 +16,17 @@ short-summary: Manage confluent resources """ +helps['confluent organization create'] = """ + type: command + short-summary: "Create Organization resource." + examples: + - name: Create organization + text: |- + az confluent organization create --location "West US" --tags Environment="Dev" --name "myOrganization" \ +--resource-group "myResourceGroup" --offer-id "confluent-cloud-azure-prod" --plan-id "confluent-cloud-azure-payg-prod" \ +--plan-name "Confluent Cloud - Pay as you Go" --publisher-id "confluentinc" --term-unit "P1M" +""" + helps['confluent organization show'] = """ type: command short-summary: "Get the properties of a specific Organization resource." @@ -39,3 +50,17 @@ text: |- az confluent organization delete --ids "/subscriptions/{SubID}/resourceGroups/{ResourceGroup}/providers/Microsoft.Confluent/organizations/{myOrganization}" """ + +helps['confluent offer-detail'] = """ + type: group + short-summary: Manage confluent offer details +""" + +helps['confluent offer-detail show'] = """ + type: command + short-summary: "Get the offer details for available offers." + examples: + - name: Show default offer details + text: |- + az confluent offer-detail show +""" diff --git a/src/confluent/azext_confluent/manual/_params.py b/src/confluent/azext_confluent/manual/_params.py new file mode 100644 index 00000000000..3b4a1ea5f02 --- /dev/null +++ b/src/confluent/azext_confluent/manual/_params.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 load_arguments(self, _): + with self.argument_context('confluent organization create') as c: + c.argument('publisher_id', type=str, help='Publisher Id', default='confluentinc', arg_group='Offer Detail') + c.argument('offer_id', type=str, help='Offer Id', default='confluent-cloud-azure-prod', + arg_group='Offer Detail') + c.argument('plan_id', type=str, help='Offer Plan Id', arg_group='Offer Detail') + c.argument('plan_name', type=str, help='Offer Plan Name', arg_group='Offer Detail') + c.argument('term_unit', type=str, help='Offer Plan Term unit', arg_group='Offer Detail') + + with self.argument_context('confluent organization delete') as c: + c.argument('yes', options_list=['--yes', '-y'], action='store_true', help='Do not prompt for confirmation.') + + with self.argument_context('confluent offer-detail show') as c: + c.argument('publisher_id', type=str, help='Publisher Id', default='confluentinc') + c.argument('offer_id', type=str, help='Offer Id', default='confluent-cloud-azure-prod', + arg_group='Offer Detail') diff --git a/src/confluent/azext_confluent/manual/commands.py b/src/confluent/azext_confluent/manual/commands.py new file mode 100644 index 00000000000..6d0c18087e0 --- /dev/null +++ b/src/confluent/azext_confluent/manual/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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=import-outside-toplevel + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_confluent.generated._client_factory import cf_organization + + confluent_organization = CliCommandType( + operations_tmpl='azext_confluent.vendored_sdks.confluent.operations._organization_operations#OrganizationOperat' + 'ions.{}', + client_factory=cf_organization) + with self.command_group('confluent organization', confluent_organization, client_factory=cf_organization) as g: + g.custom_command('delete', 'confluent_organization_delete', supports_no_wait=True) + + with self.command_group('confluent offer-detail') as g: + g.custom_show_command('show', 'confluent_offer_detail_show') diff --git a/src/confluent/azext_confluent/manual/custom.py b/src/confluent/azext_confluent/manual/custom.py new file mode 100644 index 00000000000..e995331fd26 --- /dev/null +++ b/src/confluent/azext_confluent/manual/custom.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. +# -------------------------------------------------------------------------- + +from azure.cli.core.util import sdk_no_wait, user_confirmation + + +def confluent_organization_create(cmd, + client, + resource_group_name, + organization_name, + plan_id, + plan_name, + term_unit, + tags=None, + location=None, + publisher_id=None, + offer_id=None, + no_wait=False): + import jwt + from azure.cli.core._profile import Profile + from azure.cli.core.azclierror import UnauthorizedError + from azure.cli.command_modules.role.custom import list_role_assignments + + token_info = Profile(cli_ctx=cmd.cli_ctx).get_raw_token()[0][2] + decode = jwt.decode(token_info['accessToken'], verify=False, algorithms=['RS256']) + body = {} + body['user_detail'] = {} + try: + body['user_detail']['first_name'] = decode['given_name'] + body['user_detail']['last_name'] = decode['family_name'] + body['user_detail']['email_address'] = decode['email'] if 'email' in decode else decode['unique_name'] + except KeyError as ex: + raise UnauthorizedError(f'Cannot create the organization as CLI cannot get the right value for {str(ex)} from access ' + 'token.') from ex + + # Check owner or contributor role of subscription + user_object_id = decode['oid'] + role_assignments = list_role_assignments(cmd, assignee=user_object_id, role='Owner') + \ + list_role_assignments(cmd, assignee=user_object_id, role='Contributor') + if not role_assignments: + raise UnauthorizedError('You must have Owner or Contributor role of the subscription to create an organization.') + + body['tags'] = tags + body['location'] = location + body['offer_detail'] = {} + body['offer_detail']['publisher_id'] = publisher_id + body['offer_detail']['id'] = offer_id + body['offer_detail']['plan_id'] = plan_id + body['offer_detail']['plan_name'] = plan_name + body['offer_detail']['term_unit'] = term_unit + + return sdk_no_wait(no_wait, + client.begin_create, + resource_group_name=resource_group_name, + organization_name=organization_name, + body=body) + + +def confluent_organization_delete(client, + resource_group_name, + organization_name, + no_wait=False, + yes=None): + if not yes: + org = client.get(resource_group_name=resource_group_name, + organization_name=organization_name) + default_msg = '- This action cannot be undone.\n' \ + f'- This will permanently delete \'{organization_name}\' and its Azure subscription.\n' \ + '- Stop billing for the selected Confluent organization through Azure Marketplace.\n' \ + 'Do you want to proceed' + + if org.offer_detail.plan_id in ['confluent-cloud-azure-payg-prod', 'confluent-cloud-azure-payg-stag']: + user_confirmation(default_msg) + else: + user_confirmation('- The action cannot be undone and will permanently delete this resource.\n' + '- Resource deletion is a permanent action. All the resources, contract purchased ' + 'and its Azure integration will be permanently deleted and will unsubscribe you ' + 'from this service.\n' + '- If you delete the resource, you will not be able to restore the commit contract ' + 'and create Confluent cloud resource once again with this contract.\n' + '- If you are deleting the Confluent cloud resource after 14 days into the contract ' + 'term, you will not get a refund for this service.\n' + '- The resource is also associated with other non-dependent resources like clusters' + ', environments, topics etc. Such associated resources on Confluent cloud will be ' + 'scheduled for deletion. For more information on the Confluent Cloud cluster ' + 'deletion process and timeline, please contact Confluent Support: ' + 'https://support.confluent.io/\n' + 'Do you want to proceed') + + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + organization_name=organization_name) + + +def confluent_offer_detail_show(cmd, publisher_id=None, offer_id=None): + from azure.cli.core.util import send_raw_request + from azure.cli.core.azclierror import ArgumentUsageError + url = f"https://management.azure.com/providers/Microsoft.Marketplace/offers/{publisher_id}.{offer_id}?" \ + "excludePublic=true&api-version=2018-08-01-beta" + response = send_raw_request(cmd.cli_ctx, 'get', url) + try: + plans = response.json()['plans'] + plans = [{'planId': plan['planId'], + 'planName': plan['displayName'], + 'offerId': offer_id, + 'publisherId': publisher_id, + 'termUnits':[{ + 'price': item['price'], + 'termDescription': item['termDescription'], + 'termUnits': item['termUnits'] + } for a in plan['availabilities'] for item in a['terms']] + } for plan in plans] + except KeyError as ex: + raise ArgumentUsageError('Not able to get offer details for the provided publisher id and offer id.') from ex + + for plan in plans: + for term in plan['termUnits']: + if term['termUnits'] not in ['P1M', 'P1Y']: + del term['termUnits'] + + return plans diff --git a/src/confluent/azext_confluent/manual/version.py b/src/confluent/azext_confluent/manual/version.py new file mode 100644 index 00000000000..c8d62cb0608 --- /dev/null +++ b/src/confluent/azext_confluent/manual/version.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. +# +# 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/confluent/azext_confluent/tests/__init__.py b/src/confluent/azext_confluent/tests/__init__.py index 50e0627daff..4fe3e7cc2b7 100644 --- a/src/confluent/azext_confluent/tests/__init__.py +++ b/src/confluent/azext_confluent/tests/__init__.py @@ -8,6 +8,8 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- +# pylint: disable=import-outside-toplevel + import inspect import logging import os @@ -31,8 +33,8 @@ 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] + decorated_path = inspect.getfile(origin_func).lower() + module_path = __path__[0].lower() if not decorated_path.startswith(module_path): raise Exception("Decorator can only be used in submodules!") manual_path = os.path.join( @@ -46,14 +48,13 @@ def import_manual_function(origin_func): def get_func_to_call(): func_to_call = func try: - func_to_call = import_manual_function(func) func_to_call = import_manual_function(func) logger.info("Found manual override for %s(...)", func.__name__) except (ImportError, AttributeError): - pass + pass # pylint: disable=inconsistent-return-statements return func_to_call - def wrapper(*args, **kwargs): + def wrapper(*args, **kwargs): # pylint: disable=inconsistent-return-statements func_to_call = get_func_to_call() logger.info("running %s()...", func.__name__) try: @@ -66,6 +67,9 @@ def wrapper(*args, **kwargs): ret = func_to_call(*args, **kwargs) except (AssertionError, AzureError, CliTestError, CliExecutionError, SystemExit, JMESPathCheckAssertionError) as e: + use_exception_cache = os.getenv("TEST_EXCEPTION_CACHE") + if use_exception_cache is None or use_exception_cache.lower() != "true": + raise test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() test_map[func.__name__]["result"] = FAILED test_map[func.__name__]["error_message"] = str(e).replace("\r\n", " ").replace("\n", " ")[:500] diff --git a/src/confluent/azext_confluent/tests/latest/example_steps.py b/src/confluent/azext_confluent/tests/latest/example_steps.py index 2a799e4d5c5..ef777fe272b 100644 --- a/src/confluent/azext_confluent/tests/latest/example_steps.py +++ b/src/confluent/azext_confluent/tests/latest/example_steps.py @@ -7,14 +7,14 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- - +# pylint: disable=unused-argument from .. import try_manual # EXAMPLE: /MarketplaceAgreements/get/MarketplaceAgreements_List @try_manual -def step_terms_list(test, rg, checks=None): # pylint: disable=unused-argument +def step_terms_list(test, rg, checks=None): if checks is None: checks = [] test.cmd('az confluent terms list', @@ -23,14 +23,16 @@ def step_terms_list(test, rg, checks=None): # pylint: disable=unused-argument # EXAMPLE: /Organization/put/Organization_Create @try_manual -def step_organization_create(test, rg, checks=None): # pylint: disable=unused-argument +def step_organization_create(test, rg, checks=None): if checks is None: checks = [] test.cmd('az confluent organization create ' '--location "eastus2euap" ' - '--offer-detail id="confluent-cloud-azure-stag" plan-id="confluent-cloud-azure-payg-stag" ' - 'plan-name="Confluent Cloud - Pay as you Go" publisher-id="confluentinc" term-unit="P1M" ' - '--user-detail email-address="contoso@microsoft.com" first-name="contoso" last-name="zhou" ' + '--offer-id "confluent-cloud-azure-stag" ' + '--plan-id "confluent-cloud-azure-payg-stag" ' + '--plan-name "Confluent Cloud - Pay as you Go" ' + '--publisher-id "confluentinc" ' + '--term-unit "P1M" ' '--tags environment="Dev" ' '--name "{myOrganization}" ' '--resource-group "{rg}"', @@ -43,7 +45,7 @@ def step_organization_create(test, rg, checks=None): # pylint: disable=unused-a # EXAMPLE: /Organization/get/Organization_Get @try_manual -def step_organization_show(test, rg, checks=None): # pylint: disable=unused-argument +def step_organization_show(test, rg, checks=None): if checks is None: checks = [] test.cmd('az confluent organization show ' @@ -54,7 +56,7 @@ def step_organization_show(test, rg, checks=None): # pylint: disable=unused-arg # EXAMPLE: /Organization/get/Organization_ListByResourceGroup @try_manual -def step_organization_list(test, rg, checks=None): # pylint: disable=unused-argument +def step_organization_list(test, rg, checks=None): if checks is None: checks = [] test.cmd('az confluent organization list ' @@ -62,9 +64,19 @@ def step_organization_list(test, rg, checks=None): # pylint: disable=unused-arg checks=checks) +# EXAMPLE: /Organization/get/Organization_ListBySubscription +@try_manual +def step_organization_list2(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az confluent organization list ' + '-g ""', + checks=checks) + + # EXAMPLE: /Organization/patch/Confluent_Update @try_manual -def step_organization_update(test, rg, checks=None): # pylint: disable=unused-argument +def step_organization_update(test, rg, checks=None): if checks is None: checks = [] test.cmd('az confluent organization update ' @@ -76,7 +88,7 @@ def step_organization_update(test, rg, checks=None): # pylint: disable=unused-a # EXAMPLE: /Organization/delete/Confluent_Delete @try_manual -def step_organization_delete(test, rg, checks=None): # pylint: disable=unused-argument +def step_organization_delete(test, rg, checks=None): if checks is None: checks = [] test.cmd('az confluent organization delete -y ' diff --git a/src/confluent/azext_confluent/tests/latest/recordings/test_confluent_Scenario.yaml b/src/confluent/azext_confluent/tests/latest/recordings/test_confluent_Scenario.yaml index d6fe1961e4c..f2cbcece889 100644 --- a/src/confluent/azext_confluent/tests/latest/recordings/test_confluent_Scenario.yaml +++ b/src/confluent/azext_confluent/tests/latest/recordings/test_confluent_Scenario.yaml @@ -11,28 +11,258 @@ interactions: Connection: - keep-alive User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements?api-version=2021-03-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/marketplace","name":"marketplace","type":"Microsoft.MarketplaceOrdering/offertypes","properties":{"publisher":"Microsoft","product":"marketplace","plan":"marketplace","licenseTextLink":"https://azure.microsoft.com/en-us/support/legal/marketplace-terms/","privacyPolicyLink":"http://www.microsoft.com/privacy","retrieveDatetime":null,"signature":"ASDFGHJKLBDR","accepted":false}},{"id":"/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/agreements/default","name":"confluent","type":"Microsoft.MarketplaceOrdering/offertypes","properties":{"publisher":"Confluent","product":"marketplace","plan":"confluent","licenseTextLink":"https://www.confluent.io/marketplace-terms-of-service/","privacyPolicyLink":"https://assets.confluent.io/m/1353b6c3146e5feb/original/20200911-Confluent_Privacy_Statement.pdf","retrieveDatetime":null,"signature":"ASDFGHJKLBPG","accepted":false}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/marketplace","name":"marketplace","type":"Microsoft.Confluent/agreements","properties":{"publisher":"Microsoft","product":"Marketplace","plan":"Marketplace","licenseTextLink":"https://azure.microsoft.com/en-us/support/legal/marketplace-terms/","privacyPolicyLink":"http://www.microsoft.com/privacy","retrieveDatetime":null,"signature":"","accepted":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/default","name":"confluent","type":"Microsoft.Confluent/offertypes","properties":{"publisher":"Confluent","product":"Marketplace","plan":"Confluent","licenseTextLink":"https://www.confluent.io/marketplace-terms-of-service/","privacyPolicyLink":"https://assets.confluent.io/m/1353b6c3146e5feb/original/20200911-Confluent_Privacy_Statement.pdf","retrieveDatetime":null,"signature":"","accepted":false}}]}' headers: cache-control: - no-cache content-length: - - '993' + - '969' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:08:05 GMT + - Fri, 14 May 2021 03:35:20 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-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent offer-detail show + Connection: + - keep-alive + ParameterSetName: + - --publisher-id --offer-id + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/providers/Microsoft.Marketplace/offers/confluentinc.confluent-cloud-azure-stag?excludePublic=true&api-version=2018-08-01-beta + response: + body: + string: "{\"language\":\"en\",\"displayName\":\"Apache Kafka\xAE on Confluent + Cloud\u2122 [STAG-LIFTR]\",\"hasStandardContractAmendments\":false,\"publisherMpnId\":\"6010942\",\"sellerId\":\"27647670\",\"publisherId\":\"confluentinc\",\"publisherDisplayName\":\"Confluent\",\"offerId\":\"confluent-cloud-azure-stag\",\"legacyId\":\"confluentinc.confluent-cloud-azure-stag\",\"determinedStorefronts\":[\"Ibiza\"],\"standardContractAmendmentsRevisionId\":\"00000000-0000-0000-0000-000000000000\",\"longSummary\":\"Fully + managed event streaming platform powered by Apache Kafka\",\"description\":\"

Confluent Cloud is the industry's only fully-managed, cloud-native + event streaming service powered by Apache Kafka\xAE that is:


Serverless. Start streaming in minutes with on-demand + provisioning and elastic scaling for a serverless Kafka experience.

Reliable. Stream with confidence with enterprise-grade + reliability, 99.95% uptime SLAs, multi AZ replication for resilience, on-demand + Kafka bug fixes and upgrades without downtime.

Complete. + Speed up app development with Confluent\u2019s rich pre-built ecosystem of + fully-managed components such as Schema Registry, Connect & ksqlDB.

Flexible. Build a hybrid Kafka service leveraging Confluent + Platform (sold separately) on your on-prem environment with a persistent bridge + to Confluent Cloud with Confluent Replicator.

Service Offerings

Fully-managed + Apache Kafka

  • Basic. Serverless experience with no + hourly compute cost and elastic scaling up to 100MBps a 5TB storage limit. + Basic tier has a 99.5% uptime SLA.
  • Standard. Production-ready + clusters that provide the same elastic experience and same limits as Basic, + covered by a 99.95% uptime SLAs and optional multi AZ replication.
  • Dedicated (commitment + required). Production-ready, completely customizable single-tenant clusters + to run mission-critical applications at any scale. Additional security and + compliance controls such as private networking, HIPAA readiness & more.

Other fully-managed components to speed up app development

  • Schema Registry. + Ensure data compatibility across clusters and apps.
  • Connectors. Instantly + connect to Azure native services like CosmosDB, Azure Blob Storage, and more.
  • ksqlDB. + Build event streaming apps with a lightweight SQL syntax.


Annual Commitments - update

Pay for only + what you use - update\",\"offerType\":\"SaaS\",\"isPrivate\":false,\"isPreview\":false,\"isStopSell\":false,\"fulfillBeforeChargeEligible\":true,\"isvContactDetails\":{\"us\":\"azureteam@confluent.io\"},\"bigId\":\"DZH318Z0D8ZC\",\"legalTermsUri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJD\",\"cspLegalTermsUri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJD\",\"legalTermsType\":\"None\",\"privacyPolicyUri\":\"https://www.confluent.io/confluent-privacy-statement\",\"supportUri\":\"https://www.confluent.io/confluent-cloud/support\",\"version\":\"78ce1bec-d80b-42f5-abde-3d372576b579\",\"categoryIds\":[\"analytics\",\"big-data\",\"real-time-streaming-analytics\",\"azureCertified\",\"fromPublishingPortal\"],\"industryIds\":[],\"links\":[{\"id\":\"Docs\",\"displayName\":\"Docs\",\"uri\":\"https://docs.confluent.io/current/cloud/?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Quick + Start\",\"displayName\":\"Quick Start\",\"uri\":\"https://docs.confluent.io/current/quickstart/cloud-quickstart/index.html?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Community + Forums / Slack\",\"displayName\":\"Community Forums / Slack\",\"uri\":\"https://launchpass.com/confluentcommunity\"},{\"id\":\"FAQs\",\"displayName\":\"FAQs\",\"uri\":\"https://www.confluent.io/confluent-cloud-faqs/?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + Why Use Kafka to Migrate to the Cloud\",\"displayName\":\"Whitepaper: Why + Use Kafka to Migrate to the Cloud\",\"uri\":\"https://www.confluent.io/resources/why-use-apache-kafka-to-migrate-to-cloud?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + How to Create a Bridge to Cloud with Kafka and Confluent Cloud\",\"displayName\":\"Whitepaper: + How to Create a Bridge to Cloud with Kafka and Confluent Cloud\",\"uri\":\"https://www.confluent.io/resources/bridge-to-cloud?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + Confluent Cloud Security Overview\",\"displayName\":\"Whitepaper: Confluent + Cloud Security Overview\",\"uri\":\"https://www.confluent.io/resources/confluent-cloud-security-overview?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_pliftr\"},{\"id\":\"Whitepaper: + End to End Encryption with Confluent Cloud\",\"displayName\":\"Whitepaper: + End to End Encryption with Confluent Cloud\",\"uri\":\"https://www.confluent.io/resources/end-to-end-encryption-with-confluent-cloud?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + Best Practices for Developing Kafka Applications on Confluent Cloud\",\"displayName\":\"Whitepaper: + Best Practices for Developing Kafka Applications on Confluent Cloud\",\"uri\":\"https://assets.confluent.io/m/14397e757459a58d/original/20200205-WP-Best_Practices_for_Developing_Apache_Kafka_Applications_on_Confluent_Cloud.pdf?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Customer + Case Study: BAADER Blog Post\",\"displayName\":\"Customer Case Study: BAADER + Blog Post\",\"uri\":\"https://www.confluent.io/blog/reshaping-entire-industries-with-iot-and-confluent-cloud/?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Customer + Case Study: Bosch\",\"displayName\":\"Customer Case Study: Bosch\",\"uri\":\"https://www.confluent.io/customers/bosch?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"}],\"iconFileUris\":{\"small\":\"https://store-images.s-microsoft.com/image/apps.9151.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d799c8e6-bc69-4d6b-8fb9-761dea08888d\",\"medium\":\"https://store-images.s-microsoft.com/image/apps.16931.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.a39a0711-e5f3-4da0-bd24-c9726b6d9b77\",\"wide\":\"https://store-images.s-microsoft.com/image/apps.32637.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.89791b8b-40f5-44dd-9589-622611195143\",\"large\":\"https://store-images.s-microsoft.com/image/apps.8342.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.31aa7943-0cf5-48bd-a932-f4e5bfab0736\"},\"metadata\":{\"leadGeneration\":{\"productId\":null},\"testDrive\":null},\"images\":[{\"context\":\"ibiza\",\"items\":[{\"id\":\"small\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.9151.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d799c8e6-bc69-4d6b-8fb9-761dea08888d\",\"type\":\"icon\"},{\"id\":\"medium\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.16931.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.a39a0711-e5f3-4da0-bd24-c9726b6d9b77\",\"type\":\"icon\"},{\"id\":\"wide\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.32637.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.89791b8b-40f5-44dd-9589-622611195143\",\"type\":\"icon\"},{\"id\":\"large\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.8342.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.31aa7943-0cf5-48bd-a932-f4e5bfab0736\",\"type\":\"icon\"},{\"id\":\"screenshot0\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.53299.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d40b0f87-579b-45f9-a957-933458800e86\",\"type\":\"screenshot\"}]}],\"videos\":[],\"plans\":[{\"id\":\"0001\",\"displayName\":\"Confluent + Cloud - Pay as you Go\",\"description\":\"

Consumption Based Pricing

Elastically + scale up to 100MBps
Retention of up to 5TB
24x7 expert Kafka support + - optional add-on
VNet peering not supported

Further + explanations of monthly pricing at: http://docs.confluent.io/current/cloud/marketplace/units.html
\",\"restrictedAudience\":{},\"skuId\":\"0001\",\"planId\":\"confluent-cloud-azure-payg-stag\",\"legacyPlanId\":\"confluentinc.confluent-cloud-azure-stagconfluent-cloud-azure-payg-stag\",\"keywords\":[],\"type\":\"SaaS\",\"leadGeneration\":{\"productId\":\"confluentinc.confluent-cloud-azure-stag\"},\"testDrive\":null,\"availabilities\":[{\"actions\":[\"Browse\",\"Curate\",\"Details\",\"Purchase\",\"Renew\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":null,\"meter\":null,\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"hjdtn7tfnxcy\",\"termUnits\":\"P1M\",\"prorationPolicy\":{\"minimumProratedUnits\":\"P1D\"},\"termDescription\":\"1 + Month Subscription\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.0,\"msrp\":0.0},\"renewTermId\":\"hjdtn7tfnxcy\",\"renewTermUnits\":\"P1M\"}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"assetBehaviors\":[\"TermBased\",\"FutureBilling\"],\"consumptionUnitType\":\"DAY\",\"displayRank\":0,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL35\",\"_ts\":0,\"_etag\":null},{\"actions\":[\"Browse\",\"Consume\",\"Curate\",\"Details\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":\"confluent_consumption_unit\",\"meter\":{\"meterId\":\"confluent_consumption_unit\",\"partNumber\":\"RJXCLNKF4EN2WOVECCT376MFZEOB7QZJQBNDYDV6A22LAUCLA5EIW3KTDSLR2C6JPZJ6PF2UOI3CWVB66APO4FXCHIAWMHALDNXEWIY\",\"consumptionResourceId\":\"confluent_consumption_unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"type\":\"confluent_consumption_unit\",\"includedQuantityProperties\":[{\"termId\":\"hjdtn7tfnxcy\",\"quantity\":\"0\"}]},\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"rro4hcfnkdoy\",\"termUnits\":\"1\",\"prorationPolicy\":{\"minimumProratedUnits\":null},\"termDescription\":\"Confluent + Consumption Unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"renewTermId\":null,\"renewTermUnits\":null}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"consumptionUnitType\":\"usageunit\",\"displayRank\":1,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL2N\",\"_ts\":0,\"_etag\":null},{\"actions\":[\"Browse\",\"Consume\",\"Curate\",\"Details\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":\"confluent_free_unit\",\"meter\":{\"meterId\":\"confluent_free_unit\",\"partNumber\":\"RJXCLNKF4EN2WOVECCT376MFZEOB7QZJQBNDYDV6A22LAUCLA5EIW3KTDSLR2C6JPZJ6PF2UOI3CWVB66APO4FXCHIAWMHALDNXEWIY\",\"consumptionResourceId\":\"confluent_free_unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.0,\"msrp\":0.0},\"type\":\"confluent_free_unit\",\"includedQuantityProperties\":[{\"termId\":\"hjdtn7tfnxcy\",\"quantity\":\"0\"}]},\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"438w39nkhnjy\",\"termUnits\":\"1\",\"prorationPolicy\":{\"minimumProratedUnits\":null},\"termDescription\":\"Confluent + Free Unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.0,\"msrp\":0.0},\"renewTermId\":null,\"renewTermUnits\":null}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"consumptionUnitType\":\"freeunit\",\"displayRank\":2,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL30\",\"_ts\":0,\"_etag\":null},{\"actions\":[\"Browse\",\"Consume\",\"Curate\",\"Details\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":\"confluent_support_unit\",\"meter\":{\"meterId\":\"confluent_support_unit\",\"partNumber\":\"RJXCLNKF4EN2WOVECCT376MFZEOB7QZJQBNDYDV6A22LAUCLA5EIW3KTDSLR2C6JPZJ6PF2UOI3CWVB66APO4FXCHIAWMHALDNXEWIY\",\"consumptionResourceId\":\"confluent_support_unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"type\":\"confluent_support_unit\",\"includedQuantityProperties\":[{\"termId\":\"hjdtn7tfnxcy\",\"quantity\":\"0\"}]},\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"b19e6d5jyexy\",\"termUnits\":\"1\",\"prorationPolicy\":{\"minimumProratedUnits\":null},\"termDescription\":\"Confluent + Support Unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"renewTermId\":null,\"renewTermUnits\":null}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"consumptionUnitType\":\"supportunit\",\"displayRank\":3,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL33\",\"_ts\":0,\"_etag\":null}],\"categoryIds\":[],\"conversionPaths\":[\"0004\"],\"metadata\":{},\"uiDefinitionUri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJy\",\"artifacts\":[{\"name\":\"UiDefinition.json\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/UiDefinition.json\",\"type\":\"Custom\"},{\"name\":\"DefaultTemplate\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/Artifacts/mainTemplate.json\",\"type\":\"Template\"},{\"name\":\"Documents_recommendations-developers-using-confluent-cloud.pdf\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/Artifacts/Documents/recommendations-developers-using-confluent-cloud.pdf\",\"type\":\"Custom\"},{\"name\":\"SampleImage_apps.53299.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d40b0f87-579b-45f9-a957-933458800e86\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/Artifacts/SampleImage/apps.53299.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d40b0f87-579b-45f9-a957-933458800e86\",\"type\":\"Custom\"}],\"isPrivate\":true,\"isHidden\":false,\"hasFreeTrials\":false,\"isByol\":false,\"isFree\":false,\"isPayg\":false,\"isStopSell\":false,\"cspState\":\"OptIn\",\"isQuantifiable\":false,\"vmSecuritytype\":\"None\"}],\"isThirdParty\":true,\"keywords\":[\"Kafka\",\"Event + streaming\",\"Real time data integration\",\"Apache Kafka\xAE on Confluent + Cloud\u2122 [STAG-LIFTR]\"],\"popularity\":0.0,\"hasFreeTrials\":false,\"isByol\":false,\"isMacc\":false,\"hasFreePlans\":false,\"isQuantifiable\":false,\"hasPaygPlans\":false,\"isReseller\":false,\"isExcludedFromSearch\":false,\"applicableStoreFronts\":1,\"offerVersion\":\"1021\",\"isMicrosoftProduct\":true,\"productOwnershipSellingMotion\":\"3PPAgency\",\"documentLinks\":[{\"id\":\"document0\",\"displayName\":\"Whitepaper: + Recommendations for Developers Using Confluent Cloud\",\"uri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJC\"}],\"offerEnvironment\":0,\"linkedAddIns\":[],\"excludeFromBootstrap\":false,\"disableSendEmailOnPurchase\":true,\"hideFromSaasBlade\":true,\"integratedWithMicrosoftGraphApi\":false,\"id\":\"confluentinc.confluent-cloud-azure-stag\",\"partitionKey\":null,\"_ts\":0,\"_etag\":null}" + headers: + cache-control: + - no-cache + content-length: + - '16295' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 May 2021 03:35:21 GMT expires: - '-1' pragma: - no-cache server: - - Kestrel + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=0c1a6972157af12ca575fb7a0ce73c735c8fb0151334f0283fcc042a338a2cb6;Path=/;HttpOnly;Secure;Domain=marketplacerp.azure.com + - ARRAffinitySameSite=0c1a6972157af12ca575fb7a0ce73c735c8fb0151334f0283fcc042a338a2cb6;Path=/;HttpOnly;SameSite=None;Secure;Domain=marketplacerp.azure.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-catalog-claims: + - eyJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL21hcmtldHBsYWNlLzIwMTQvMDYvY2xhaW1zL2Nhbm9udHlwZSI6Ik90aGVyIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9tYXJrZXRwbGFjZS8yMDE2LzEyL2NsYWltcy9wcmljaW5nYXVkaWVuY2UiOiJEaXJlY3QtQ29tbWVyY2lhbCIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vbWFya2V0cGxhY2UvMjAxNC8wNi9jbGFpbXMvdGVuYW50aWQiOiIyZDY1MTM4NC0wMzgzLTQzMTgtYWJjZi1jYjdkNzBkNTQ2OWUiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL21hcmtldHBsYWNlLzIwMTgvMDcvY2xhaW1zL25hdGlvbmFsY2xvdWQiOiJHbG9iYWwiLCJ1cm46bWFya2V0cGxhY2VzZXJ2aWNlczpwZXJtaXNzaW9uIjoiRW50ZXJwcmlzZUNhdGFsb2dCcm93c2UifQ== + x-ms-catalog-parameters: + - eyJhZ3JlZW1lbnRUeXBlIjoiTW9kZXJuIiwiU3VwcG9ydGVkQ29udGVudFZlcnNpb24iOiIyMDE4LjA4LjMxLjAifQ== + x-ms-version: + - 1.0.0.1674 (AzureUX-MarketPlaceRP:branch-from-1673.8d92b2415.210504-0130) + x-powered-by: + - ASP.NET + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.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%27e529c1e5-76ca-44a1-9176-61e364c62876%27%29&api-version=1.6 + response: + body: + string: '{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient + privileges to complete the operation."},"requestId":"9f3a8731-4ca9-41ce-a1b9-f18bf506fa6e","date":"2021-05-14T03:35:26"}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '219' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Fri, 14 May 2021 03:35:26 GMT + duration: + - '2467017' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - vStVqzQot1HgIEgBpmUDU84aCb2v60XjAsipYT59v04= + ocp-aad-session-key: + - Z0TUV3B5U7BUR1kXixX4RkryUC4DS7n_aDQX9lDnjqkFA-AEW27A8xOEWe2LAQ5FC9uELblEt0XfTL9phyC-ORAUxGBHI3l0NyQL-OUK4F5E74qQUU8adXX3sm0lIYnq.30BdBxxOj72n57D6m5FzQKsVEgEPVMkhgG5nk1l5xds + pragma: + - no-cache + request-id: + - 9f3a8731-4ca9-41ce-a1b9-f18bf506fa6e + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '1' + x-powered-by: + - ASP.NET + status: + code: 403 + message: Forbidden +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2020-04-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"51db33ad-a601-465a-8b47-cbb256be170a","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T10:43:17.9528711Z","updatedOn":"2021-05-06T10:43:17.9528711Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3952eca-35cf-4bf0-ad93-26608649f3af","type":"Microsoft.Authorization/roleAssignments","name":"c3952eca-35cf-4bf0-ad93-26608649f3af"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T09:31:39.3308127Z","updatedOn":"2021-05-06T09:31:39.3308127Z","createdBy":"","updatedBy":"","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f683861e-c3cd-46c7-9bb9-f698a3f30893","type":"Microsoft.Authorization/roleAssignments","name":"f683861e-c3cd-46c7-9bb9-f698a3f30893"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"dd8aace2-fe12-4e8f-90d3-f884d7ef55f7","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:06:39.5782089Z","updatedOn":"2021-05-06T11:06:39.5782089Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ad8a9e7e-9e0e-4ca1-990b-e86fdaa7795a","type":"Microsoft.Authorization/roleAssignments","name":"ad8a9e7e-9e0e-4ca1-990b-e86fdaa7795a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"1c002c0a-b68e-4278-aaae-a937f9f66718","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:07:38.3569260Z","updatedOn":"2021-05-06T11:07:38.3569260Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33811e77-2049-45ad-a098-3a8f00d000e2","type":"Microsoft.Authorization/roleAssignments","name":"33811e77-2049-45ad-a098-3a8f00d000e2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"1c80e840-6a28-4c22-9e3b-b3bc6c9a6c90","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-11T11:26:36.8702206Z","updatedOn":"2021-05-11T11:26:36.8702206Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8737c5a0-51e6-40a4-8e81-46b3b1de35f9","type":"Microsoft.Authorization/roleAssignments","name":"8737c5a0-51e6-40a4-8e81-46b3b1de35f9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"303de27b-b55c-422a-b4b1-0b43de91e070","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:08:04.6545603Z","updatedOn":"2021-05-06T11:08:04.6545603Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2859d47-90b7-4812-8324-e7a064ce7613","type":"Microsoft.Authorization/roleAssignments","name":"d2859d47-90b7-4812-8324-e7a064ce7613"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"37795044-e781-4806-932b-cc30af6d9f5c","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:10:18.5571652Z","updatedOn":"2021-05-06T11:10:18.5571652Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/74954add-7f1c-4b2a-a5e8-ccc194820631","type":"Microsoft.Authorization/roleAssignments","name":"74954add-7f1c-4b2a-a5e8-ccc194820631"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"76fa7171-2585-4c07-ab64-7c418e9eb56c","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:08:32.7458569Z","updatedOn":"2021-05-06T11:08:32.7458569Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3af05309-75a5-43f8-9c3f-0d33f508dd70","type":"Microsoft.Authorization/roleAssignments","name":"3af05309-75a5-43f8-9c3f-0d33f508dd70"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"e33ebaeb-83f6-4bb2-acb6-eac394d601ff","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:06:10.5504295Z","updatedOn":"2021-05-06T11:06:10.5504295Z","createdBy":"51db33ad-a601-465a-8b47-cbb256be170a","updatedBy":"51db33ad-a601-465a-8b47-cbb256be170a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9802ad0b-c3b1-4d69-ab87-f6de2e94197b","type":"Microsoft.Authorization/roleAssignments","name":"9802ad0b-c3b1-4d69-ab87-f6de2e94197b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"e529c1e5-76ca-44a1-9176-61e364c62876","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-13T09:10:12.1860376Z","updatedOn":"2021-05-13T09:10:12.1860376Z","createdBy":"51db33ad-a601-465a-8b47-cbb256be170a","updatedBy":"51db33ad-a601-465a-8b47-cbb256be170a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0edef328-7eb6-4370-8898-18926dadfcf5","type":"Microsoft.Authorization/roleAssignments","name":"0edef328-7eb6-4370-8898-18926dadfcf5"}]}' + headers: + cache-control: + - no-cache + content-length: + - '8400' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 May 2021 03:35:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -45,11 +275,7 @@ interactions: code: 200 message: OK - request: - body: '{"tags": {"environment": "Dev"}, "location": "eastus2euap", "properties": - {"offerDetail": {"publisherId": "confluentinc", "id": "confluent-cloud-azure-stag", - "planId": "confluent-cloud-azure-payg-stag", "planName": "Confluent Cloud - - Pay as you Go", "termUnit": "P1M"}, "userDetail": {"firstName": "contoso", "lastName": - "zhou", "emailAddress": "contoso@microsoft.com"}}}' + body: null headers: Accept: - application/json @@ -59,91 +285,205 @@ interactions: - confluent organization create Connection: - keep-alive - Content-Length: - - '370' - Content-Type: + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Owner%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Owner","type":"BuiltInRole","description":"Grants + full access to manage all resources, including the ability to assign roles + in Azure RBAC.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-08-14T20:13:58.4137852Z","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"}]}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 May 2021 03:35:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; 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: + - confluent organization create + Connection: + - keep-alive ParameterSetName: - - --location --offer-detail --user-detail --tags --name --resource-group + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization?api-version=2020-03-01-preview + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.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%27e529c1e5-76ca-44a1-9176-61e364c62876%27%29&api-version=1.6 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","name":"myOrganization","type":"Microsoft.Confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2020-12-21T10:08:10.4539598Z","provisioningState":"Accepted","organizationId":null,"ssoUrl":null,"offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent - Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"zhou","emailAddress":"contoso@microsoft.com"}}}' + string: '{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient + privileges to complete the operation."},"requestId":"1afbbe7b-bf53-40b7-9575-5a4c549222af","date":"2021-05-14T03:35:27"}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '219' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Fri, 14 May 2021 03:35:27 GMT + duration: + - '2367515' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - d8mJZj/FCXoCPHD8rwVx6YMmIBFyEzt5qVY/RE3ELLk= + ocp-aad-session-key: + - qiJJ2awPcPR4CZ4H1bmL5hh5kKr-SXFF7AvfGugNYLfJSYPFtDfgFx1xIZm83A2rXUNTPr0aJUapkwBb6BawzT5mrfjxrPWMqTom00CgdC9EdiFY7mlZeGr9SOIzzxh2.O9RvxTZIlYRd8DSUa1M3VBJ3VDuG-AdAWYhn_atcSfc + pragma: + - no-cache + request-id: + - 1afbbe7b-bf53-40b7-9575-5a4c549222af + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '1' + x-powered-by: + - ASP.NET + status: + code: 403 + message: Forbidden +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2020-04-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"51db33ad-a601-465a-8b47-cbb256be170a","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T10:43:17.9528711Z","updatedOn":"2021-05-06T10:43:17.9528711Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3952eca-35cf-4bf0-ad93-26608649f3af","type":"Microsoft.Authorization/roleAssignments","name":"c3952eca-35cf-4bf0-ad93-26608649f3af"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T09:31:39.3308127Z","updatedOn":"2021-05-06T09:31:39.3308127Z","createdBy":"","updatedBy":"","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f683861e-c3cd-46c7-9bb9-f698a3f30893","type":"Microsoft.Authorization/roleAssignments","name":"f683861e-c3cd-46c7-9bb9-f698a3f30893"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"dd8aace2-fe12-4e8f-90d3-f884d7ef55f7","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:06:39.5782089Z","updatedOn":"2021-05-06T11:06:39.5782089Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ad8a9e7e-9e0e-4ca1-990b-e86fdaa7795a","type":"Microsoft.Authorization/roleAssignments","name":"ad8a9e7e-9e0e-4ca1-990b-e86fdaa7795a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"1c002c0a-b68e-4278-aaae-a937f9f66718","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:07:38.3569260Z","updatedOn":"2021-05-06T11:07:38.3569260Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33811e77-2049-45ad-a098-3a8f00d000e2","type":"Microsoft.Authorization/roleAssignments","name":"33811e77-2049-45ad-a098-3a8f00d000e2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"1c80e840-6a28-4c22-9e3b-b3bc6c9a6c90","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-11T11:26:36.8702206Z","updatedOn":"2021-05-11T11:26:36.8702206Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8737c5a0-51e6-40a4-8e81-46b3b1de35f9","type":"Microsoft.Authorization/roleAssignments","name":"8737c5a0-51e6-40a4-8e81-46b3b1de35f9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"303de27b-b55c-422a-b4b1-0b43de91e070","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:08:04.6545603Z","updatedOn":"2021-05-06T11:08:04.6545603Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2859d47-90b7-4812-8324-e7a064ce7613","type":"Microsoft.Authorization/roleAssignments","name":"d2859d47-90b7-4812-8324-e7a064ce7613"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"37795044-e781-4806-932b-cc30af6d9f5c","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:10:18.5571652Z","updatedOn":"2021-05-06T11:10:18.5571652Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/74954add-7f1c-4b2a-a5e8-ccc194820631","type":"Microsoft.Authorization/roleAssignments","name":"74954add-7f1c-4b2a-a5e8-ccc194820631"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"76fa7171-2585-4c07-ab64-7c418e9eb56c","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:08:32.7458569Z","updatedOn":"2021-05-06T11:08:32.7458569Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3af05309-75a5-43f8-9c3f-0d33f508dd70","type":"Microsoft.Authorization/roleAssignments","name":"3af05309-75a5-43f8-9c3f-0d33f508dd70"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"e33ebaeb-83f6-4bb2-acb6-eac394d601ff","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-06T11:06:10.5504295Z","updatedOn":"2021-05-06T11:06:10.5504295Z","createdBy":"51db33ad-a601-465a-8b47-cbb256be170a","updatedBy":"51db33ad-a601-465a-8b47-cbb256be170a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9802ad0b-c3b1-4d69-ab87-f6de2e94197b","type":"Microsoft.Authorization/roleAssignments","name":"9802ad0b-c3b1-4d69-ab87-f6de2e94197b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"e529c1e5-76ca-44a1-9176-61e364c62876","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-13T09:10:12.1860376Z","updatedOn":"2021-05-13T09:10:12.1860376Z","createdBy":"51db33ad-a601-465a-8b47-cbb256be170a","updatedBy":"51db33ad-a601-465a-8b47-cbb256be170a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0edef328-7eb6-4370-8898-18926dadfcf5","type":"Microsoft.Authorization/roleAssignments","name":"0edef328-7eb6-4370-8898-18926dadfcf5"}]}' headers: - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3?api-version=2020-03-01-preview cache-control: - no-cache content-length: - - '754' + - '8400' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:08:11 GMT - etag: - - '"020053ea-0000-3400-0000-5fe0740b0000"' + - Fri, 14 May 2021 03:35:27 GMT expires: - '-1' - location: - - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3?api-version=2020-03-01-preview pragma: - no-cache - request-context: - - appId=cid-v1:44fd1f8b-df35-48c9-8fa6-f5e19b8bb5be - server: - - Kestrel + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly 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: 201 - message: Created + code: 200 + message: OK - request: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - confluent organization create Connection: - keep-alive + Cookie: + - x-ms-gateway-slice=Production ParameterSetName: - - --location --offer-detail --user-detail --tags --name --resource-group + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Contributor%27&api-version=2018-01-01-preview response: body: - string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3","name":"eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","status":"Creating","startTime":"2020-12-21T10:08:09.7905307Z","error":{}}' + string: '{"value":[{"properties":{"roleName":"Contributor","type":"BuiltInRole","description":"Grants + full access to manage all resources, but does not allow you to assign roles + in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-12-04T00:34:54.8501087Z","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: - - '453' + - '984' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:08:42 GMT - etag: - - '"00002129-0000-3400-0000-5fe074110000"' + - Fri, 14 May 2021 03:35:27 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -155,6 +495,797 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions?api-version=2018-01-01-preview + response: + body: + string: "{\"value\":[{\"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/generateLiveToken/read\",\"Microsoft.Insights/metricAlerts/*\",\"Microsoft.Insights/components/*\",\"Microsoft.Insights/scheduledqueryrules/*\",\"Microsoft.Insights/topology/read\",\"Microsoft.Insights/transactions/read\",\"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\":\"2021-01-19T19:26:12.8117169Z\",\"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/proximityPlacementGroups/*\",\"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-27T06:48:54.4896867Z\",\"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\",\"Microsoft.ContainerService/managedClusters/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T21:38:18.5953853Z\",\"updatedOn\":\"2020-08-10T21:30:17.4985976Z\",\"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\",\"Microsoft.ContainerService/managedClusters/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T22:04:53.4037241Z\",\"updatedOn\":\"2020-08-10T23:33:17.4901670Z\",\"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/edgeSubscriptions/read\",\"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\":\"2020-06-29T22:11:17.0759529Z\",\"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/accessToken/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/locations/backupAadProperties/read\",\"Microsoft.RecoveryServices/locations/backupCrrJobs/action\",\"Microsoft.RecoveryServices/locations/backupCrrJob/action\",\"Microsoft.RecoveryServices/locations/backupCrossRegionRestore/action\",\"Microsoft.RecoveryServices/locations/backupCrrOperationResults/read\",\"Microsoft.RecoveryServices/locations/backupCrrOperationsStatus/read\",\"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\":\"2021-01-19T09:16:14.1372232Z\",\"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\":\"Grants + full access to manage all resources, but does not allow you to assign roles + in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[\"Microsoft.Authorization/*/Delete\",\"Microsoft.Authorization/*/Write\",\"Microsoft.Authorization/elevateAccess/Action\",\"Microsoft.Blueprint/blueprintAssignments/write\",\"Microsoft.Blueprint/blueprintAssignments/delete\",\"Microsoft.Compute/galleries/share/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-12-04T00:34:54.8501087Z\",\"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\",\"Microsoft.Billing/billingProperty/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2020-12-07T19:54:47.1563148Z\",\"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\",\"Microsoft.Billing/billingProperty/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2020-12-07T19:53:58.6391267Z\",\"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/*\",\"Microsoft.KeyVault/managedHsms/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-02-25T17:08:28.5184971Z\",\"updatedOn\":\"2020-09-17T00:42:51.7334302Z\",\"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 new labs + under your Azure Lab Accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.LabServices/labAccounts/*/read\",\"Microsoft.LabServices/labAccounts/createLab/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-07-10T17:45:43.2289715Z\",\"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\",\"Microsoft.Management/managementGroups/subscriptions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:28:29.0523964Z\",\"updatedOn\":\"2020-07-06T18:13:34.9045672Z\",\"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\",\"Microsoft.Management/managementGroups/subscriptions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:31:03.4295347Z\",\"updatedOn\":\"2020-07-06T18:09:27.1441705Z\",\"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/dataCollectionRules/*\",\"Microsoft.Insights/dataCollectionRuleAssociations/*\",\"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.AlertsManagement/smartDetectorAlertRules/*\",\"Microsoft.AlertsManagement/actionRules/*\",\"Microsoft.AlertsManagement/smartGroups/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-09-21T19:21:08.4345976Z\",\"updatedOn\":\"2020-11-18T00:02:00.4868141Z\",\"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\":\"Grants + full access to manage all resources, including the ability to assign roles + in Azure RBAC.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-08-14T20:13:58.4137852Z\",\"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\":\"View + all resources, but does not allow you to make any changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-08-14T20:16:04.3791205Z\",\"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/register/action\",\"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\":\"2020-07-16T00:20:31.8240854Z\",\"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/policyexemptions/*\",\"Microsoft.Authorization/policysetdefinitions/*\",\"Microsoft.PolicyInsights/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-08-25T19:08:01.3861639Z\",\"updatedOn\":\"2020-08-20T19:01:05.4449634Z\",\"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/policyExemptions/*\",\"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\":\"2020-08-20T19:15:25.4574979Z\",\"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/read\",\"Microsoft.operationalInsights/workspaces/*/read\",\"Microsoft.Resources/deployments/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*/read\",\"Microsoft.Support/*/read\",\"Microsoft.Security/iotDefenderSettings/packageDownloads/action\",\"Microsoft.Security/iotDefenderSettings/downloadManagerActivation/action\",\"Microsoft.Security/iotSensors/downloadResetPassword/action\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-03T07:48:49.0516559Z\",\"updatedOn\":\"2021-01-04T13:31:17.6216549Z\",\"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/locations/instanceFailoverGroups/*\",\"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\":[\"Microsoft.Sql/managedInstances/azureADOnlyAuthentications/delete\",\"Microsoft.Sql/managedInstances/azureADOnlyAuthentications/write\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-12-10T22:57:14.2937983Z\",\"updatedOn\":\"2020-09-23T23:26:54.2667459Z\",\"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/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"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\":\"2020-10-19T18:19:24.4927972Z\",\"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/locations/administratorAzureAsyncOperation/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/auditingSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/read\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"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/devOpsAuditingSettings/*\",\"Microsoft.Sql/servers/firewallRules/*\",\"Microsoft.Sql/servers/read\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\",\"Microsoft.Support/*\",\"Microsoft.Sql/servers/azureADOnlyAuthentications/*\",\"Microsoft.Sql/managedInstances/read\",\"Microsoft.Sql/managedInstances/azureADOnlyAuthentications/*\",\"Microsoft.Security/sqlVulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/administrators/read\",\"Microsoft.Sql/servers/administrators/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-16T18:44:40.4607572Z\",\"updatedOn\":\"2021-03-08T21:18:46.2003218Z\",\"createdBy\":null,\"updatedBy\":null},\"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/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"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/devOpsAuditingSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/azureADOnlyAuthentications/delete\",\"Microsoft.Sql/servers/azureADOnlyAuthentications/write\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2021-03-08T21:19:28.9102955Z\",\"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/write\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2021-02-04T07:04:50.1529191Z\",\"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\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2021-01-25T01:32:24.1141692Z\",\"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/*\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/delete\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-26T17:01:17.0169383Z\",\"updatedOn\":\"2021-02-25T21:29:52.2924071Z\",\"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.Insights/myworkbooks/read\",\"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-11-04T07:51:14.5680135Z\",\"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/automationRules/*\",\"Microsoft.SecurityInsights/cases/*\",\"Microsoft.SecurityInsights/incidents/*\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/appendTags/action\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/query/action\",\"Microsoft.SecurityInsights/threatIntelligence/bulkTag/action\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/appendTags/action\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/replaceTags/action\",\"Microsoft.SecurityInsights/threatIntelligence/queryIndicators/action\",\"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.Insights/myworkbooks/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.SecurityInsights/cases/*/Delete\",\"Microsoft.SecurityInsights/incidents/*/Delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:54:07.6467264Z\",\"updatedOn\":\"2020-12-08T13:06:10.4848344Z\",\"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.SecurityInsights/threatIntelligence/indicators/query/action\",\"Microsoft.SecurityInsights/threatIntelligence/queryIndicators/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.Insights/myworkbooks/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-11-04T07:55:29.9187377Z\",\"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/policyexemptions/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\":\"2020-08-20T20:57:17.1579311Z\",\"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.HybridCompute/privateLinkScopes/read\",\"Microsoft.GuestConfiguration/guestConfigurationAssignments/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:15:07.1372870Z\",\"updatedOn\":\"2021-03-23T20:13:08.5139847Z\",\"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/extensions/read\",\"Microsoft.HybridCompute/machines/extensions/write\",\"Microsoft.HybridCompute/machines/extensions/delete\",\"Microsoft.HybridCompute/privateLinkScopes/*\",\"Microsoft.HybridCompute/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:24:59.1474607Z\",\"updatedOn\":\"2021-04-28T17:05:32.7694012Z\",\"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\",\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/write\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/delete\",\"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\":\"2021-03-05T16:02:04.1620231Z\",\"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\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointsettings/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:26:12.3329439Z\",\"updatedOn\":\"2021-03-11T06:28:58.3427040Z\",\"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\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/create/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/train/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/alterations/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointkeys/refreshkeys/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointsettings/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/operations/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:27:30.6434556Z\",\"updatedOn\":\"2021-03-11T06:28:27.6422359Z\",\"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\",\"Microsoft.Experimentation/experimentWorkspaces/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\",\"Microsoft.Experimentation/experimentWorkspaces/metricwrite/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/metricwrite/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-18T22:46:33.1116612Z\",\"updatedOn\":\"2021-03-05T15:59:31.1406998Z\",\"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-12-13T02:18:15.6697797Z\",\"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\":\"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 Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + role for Digital Twins data-plane properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DigitalTwins/digitaltwins/read\",\"Microsoft.DigitalTwins/digitaltwins/relationships/read\",\"Microsoft.DigitalTwins/eventroutes/read\",\"Microsoft.DigitalTwins/models/read\",\"Microsoft.DigitalTwins/query/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-10T23:48:14.7057381Z\",\"updatedOn\":\"2020-10-22T21:06:59.5157226Z\",\"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 Data Owner\",\"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-10-22T21:07:31.8108410Z\",\"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\":[\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-25T18:05:14.8375678Z\",\"updatedOn\":\"2021-01-11T18:32:43.8283983Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform all + data plane operations on a key vault and all objects in it, including certificates, + keys, and secrets. Cannot manage key vault resources or manage role assignments. + Only works for key vaults that use the 'Azure role-based access control' permission + model.\",\"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\":\"2021-01-27T23:26:39.6321098Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform + any action on the keys of a key vault, except manage permissions. Only works + for key vaults that use the 'Azure role-based access control' permission model.\",\"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\":\"2021-01-27T23:23:43.2358783Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform cryptographic + operations using keys. Only works for key vaults that use the 'Azure role-based + access control' permission model.\",\"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\":\"2021-01-27T23:18:47.5002809Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform + any action on the secrets of a key vault, except manage permissions. Only + works for key vaults that use the 'Azure role-based access control' permission + model.\",\"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\":\"2021-01-27T23:07:56.2221281Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Read secret + contents. Only works for key vaults that use the 'Azure role-based access + control' permission model.\",\"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\":\"2021-01-27T22:15:29.1682455Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform + any action on the certificates of a key vault, except manage permissions. + Only works for key vaults that use the 'Azure role-based access control' permission + model.\",\"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\":\"2021-01-27T23:25:14.4723643Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Read metadata of + key vaults and its certificates, keys, and secrets. Cannot read sensitive + values such as secret contents or key material. Only works for key vaults + that use the 'Azure role-based access control' permission model.\",\"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\":\"2021-01-27T23:14:42.7151440Z\",\"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 User\",\"type\":\"BuiltInRole\",\"description\":\"Read + metadata of keys and perform wrap/unwrap operations. Only works for key vaults + that use the 'Azure role-based access control' permission model.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventGrid/eventSubscriptions/write\",\"Microsoft.EventGrid/eventSubscriptions/read\",\"Microsoft.EventGrid/eventSubscriptions/delete\"],\"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\":\"2021-01-27T23:22:10.9466372Z\",\"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\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Viewer\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + view all resources in cluster/namespace, except secrets.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/apps/controllerrevisions/read\",\"Microsoft.Kubernetes/connectedClusters/apps/daemonsets/read\",\"Microsoft.Kubernetes/connectedClusters/apps/deployments/read\",\"Microsoft.Kubernetes/connectedClusters/apps/replicasets/read\",\"Microsoft.Kubernetes/connectedClusters/apps/statefulsets/read\",\"Microsoft.Kubernetes/connectedClusters/autoscaling/horizontalpodautoscalers/read\",\"Microsoft.Kubernetes/connectedClusters/batch/cronjobs/read\",\"Microsoft.Kubernetes/connectedClusters/batch/jobs/read\",\"Microsoft.Kubernetes/connectedClusters/configmaps/read\",\"Microsoft.Kubernetes/connectedClusters/endpoints/read\",\"Microsoft.Kubernetes/connectedClusters/events.k8s.io/events/read\",\"Microsoft.Kubernetes/connectedClusters/events/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/daemonsets/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/deployments/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/ingresses/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/networkpolicies/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/replicasets/read\",\"Microsoft.Kubernetes/connectedClusters/limitranges/read\",\"Microsoft.Kubernetes/connectedClusters/namespaces/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/ingresses/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/networkpolicies/read\",\"Microsoft.Kubernetes/connectedClusters/persistentvolumeclaims/read\",\"Microsoft.Kubernetes/connectedClusters/pods/read\",\"Microsoft.Kubernetes/connectedClusters/policy/poddisruptionbudgets/read\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/read\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/read\",\"Microsoft.Kubernetes/connectedClusters/resourcequotas/read\",\"Microsoft.Kubernetes/connectedClusters/serviceaccounts/read\",\"Microsoft.Kubernetes/connectedClusters/services/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:51:12.8801199Z\",\"updatedOn\":\"2020-11-02T23:50:46.3225174Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/63f0a09d-1495-4db4-a681-037d84835eb4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"63f0a09d-1495-4db4-a681-037d84835eb4\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Writer\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + update everything in cluster/namespace, except (cluster)roles and (cluster)role + bindings.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/apps/controllerrevisions/read\",\"Microsoft.Kubernetes/connectedClusters/apps/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/apps/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/statefulsets/*\",\"Microsoft.Kubernetes/connectedClusters/autoscaling/horizontalpodautoscalers/*\",\"Microsoft.Kubernetes/connectedClusters/batch/cronjobs/*\",\"Microsoft.Kubernetes/connectedClusters/batch/jobs/*\",\"Microsoft.Kubernetes/connectedClusters/configmaps/*\",\"Microsoft.Kubernetes/connectedClusters/endpoints/*\",\"Microsoft.Kubernetes/connectedClusters/events.k8s.io/events/read\",\"Microsoft.Kubernetes/connectedClusters/events/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/limitranges/read\",\"Microsoft.Kubernetes/connectedClusters/namespaces/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/persistentvolumeclaims/*\",\"Microsoft.Kubernetes/connectedClusters/pods/*\",\"Microsoft.Kubernetes/connectedClusters/policy/poddisruptionbudgets/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/resourcequotas/read\",\"Microsoft.Kubernetes/connectedClusters/secrets/*\",\"Microsoft.Kubernetes/connectedClusters/serviceaccounts/*\",\"Microsoft.Kubernetes/connectedClusters/services/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:53:50.6749823Z\",\"updatedOn\":\"2020-11-02T23:48:04.7027508Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5b999177-9696-4545-85c7-50de3797e5a1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5b999177-9696-4545-85c7-50de3797e5a1\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Cluster Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage all resources in the cluster.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:55:30.9910462Z\",\"updatedOn\":\"2020-06-12T20:55:30.9910462Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8393591c-06b9-48a2-a542-1bd6b377f6a2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8393591c-06b9-48a2-a542-1bd6b377f6a2\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage all resources under cluster/namespace, except update or delete resource + quotas and namespaces.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/apps/controllerrevisions/read\",\"Microsoft.Kubernetes/connectedClusters/apps/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/apps/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/statefulsets/*\",\"Microsoft.Kubernetes/connectedClusters/authorization.k8s.io/localsubjectaccessreviews/write\",\"Microsoft.Kubernetes/connectedClusters/autoscaling/horizontalpodautoscalers/*\",\"Microsoft.Kubernetes/connectedClusters/batch/cronjobs/*\",\"Microsoft.Kubernetes/connectedClusters/batch/jobs/*\",\"Microsoft.Kubernetes/connectedClusters/configmaps/*\",\"Microsoft.Kubernetes/connectedClusters/endpoints/*\",\"Microsoft.Kubernetes/connectedClusters/events.k8s.io/events/read\",\"Microsoft.Kubernetes/connectedClusters/events/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/limitranges/read\",\"Microsoft.Kubernetes/connectedClusters/namespaces/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/persistentvolumeclaims/*\",\"Microsoft.Kubernetes/connectedClusters/pods/*\",\"Microsoft.Kubernetes/connectedClusters/policy/poddisruptionbudgets/*\",\"Microsoft.Kubernetes/connectedClusters/rbac.authorization.k8s.io/rolebindings/*\",\"Microsoft.Kubernetes/connectedClusters/rbac.authorization.k8s.io/roles/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/resourcequotas/read\",\"Microsoft.Kubernetes/connectedClusters/secrets/*\",\"Microsoft.Kubernetes/connectedClusters/serviceaccounts/*\",\"Microsoft.Kubernetes/connectedClusters/services/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:57:06.0391177Z\",\"updatedOn\":\"2020-11-02T23:52:48.6202974Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/dffb1e0c-446f-4dde-a09f-99eb5cc68b96\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"dffb1e0c-446f-4dde-a09f-99eb5cc68b96\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Cluster Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage all resources in the cluster.\",\"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.Support/*\",\"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-02T17:47:24.4071415Z\",\"updatedOn\":\"2020-07-02T17:47:24.4071415Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage all resources under cluster/namespace, except update or delete + resource quotas and namespaces.\",\"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.Support/*\",\"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/*\"],\"notDataActions\":[\"Microsoft.ContainerService/managedClusters/resourcequotas/write\",\"Microsoft.ContainerService/managedClusters/resourcequotas/delete\",\"Microsoft.ContainerService/managedClusters/namespaces/write\",\"Microsoft.ContainerService/managedClusters/namespaces/delete\"]}],\"createdOn\":\"2020-07-02T17:50:30.4020311Z\",\"updatedOn\":\"2020-07-02T17:50:30.4020311Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3498e952-d568-435e-9b2c-8d77e338d7f7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3498e952-d568-435e-9b2c-8d77e338d7f7\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read-only access to see most objects in a namespace. It does not allow viewing + roles or role bindings. This role does not allow viewing Secrets, since reading + the contents of Secrets enables access to ServiceAccount credentials in the + namespace, which would allow API access as any ServiceAccount in the namespace + (a form of privilege escalation). Applying this role at cluster scope will + give access across all namespaces.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read\",\"Microsoft.ContainerService/managedClusters/apps/daemonsets/read\",\"Microsoft.ContainerService/managedClusters/apps/deployments/read\",\"Microsoft.ContainerService/managedClusters/apps/replicasets/read\",\"Microsoft.ContainerService/managedClusters/apps/statefulsets/read\",\"Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read\",\"Microsoft.ContainerService/managedClusters/batch/cronjobs/read\",\"Microsoft.ContainerService/managedClusters/batch/jobs/read\",\"Microsoft.ContainerService/managedClusters/configmaps/read\",\"Microsoft.ContainerService/managedClusters/endpoints/read\",\"Microsoft.ContainerService/managedClusters/events.k8s.io/events/read\",\"Microsoft.ContainerService/managedClusters/events/read\",\"Microsoft.ContainerService/managedClusters/extensions/daemonsets/read\",\"Microsoft.ContainerService/managedClusters/extensions/deployments/read\",\"Microsoft.ContainerService/managedClusters/extensions/ingresses/read\",\"Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read\",\"Microsoft.ContainerService/managedClusters/extensions/replicasets/read\",\"Microsoft.ContainerService/managedClusters/limitranges/read\",\"Microsoft.ContainerService/managedClusters/namespaces/read\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read\",\"Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read\",\"Microsoft.ContainerService/managedClusters/pods/read\",\"Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/read\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/read\",\"Microsoft.ContainerService/managedClusters/resourcequotas/read\",\"Microsoft.ContainerService/managedClusters/serviceaccounts/read\",\"Microsoft.ContainerService/managedClusters/services/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-02T17:53:05.5728294Z\",\"updatedOn\":\"2020-10-22T16:08:11.1332215Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f6c6a51-bcf8-42ba-9220-52d62157d7db\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f6c6a51-bcf8-42ba-9220-52d62157d7db\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Writer\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read/write access to most objects in a namespace.This role does not allow + viewing or modifying roles or role bindings. However, this role allows accessing + Secrets and running Pods as any ServiceAccount in the namespace, so it can + be used to gain the API access levels of any ServiceAccount in the namespace. + Applying this role at cluster scope will give access across all namespaces.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read\",\"Microsoft.ContainerService/managedClusters/apps/daemonsets/*\",\"Microsoft.ContainerService/managedClusters/apps/deployments/*\",\"Microsoft.ContainerService/managedClusters/apps/replicasets/*\",\"Microsoft.ContainerService/managedClusters/apps/statefulsets/*\",\"Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/*\",\"Microsoft.ContainerService/managedClusters/batch/cronjobs/*\",\"Microsoft.ContainerService/managedClusters/batch/jobs/*\",\"Microsoft.ContainerService/managedClusters/configmaps/*\",\"Microsoft.ContainerService/managedClusters/endpoints/*\",\"Microsoft.ContainerService/managedClusters/events.k8s.io/events/read\",\"Microsoft.ContainerService/managedClusters/events/read\",\"Microsoft.ContainerService/managedClusters/extensions/daemonsets/*\",\"Microsoft.ContainerService/managedClusters/extensions/deployments/*\",\"Microsoft.ContainerService/managedClusters/extensions/ingresses/*\",\"Microsoft.ContainerService/managedClusters/extensions/networkpolicies/*\",\"Microsoft.ContainerService/managedClusters/extensions/replicasets/*\",\"Microsoft.ContainerService/managedClusters/limitranges/read\",\"Microsoft.ContainerService/managedClusters/namespaces/read\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/*\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/*\",\"Microsoft.ContainerService/managedClusters/persistentvolumeclaims/*\",\"Microsoft.ContainerService/managedClusters/pods/*\",\"Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/*\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/*\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/*\",\"Microsoft.ContainerService/managedClusters/resourcequotas/read\",\"Microsoft.ContainerService/managedClusters/secrets/*\",\"Microsoft.ContainerService/managedClusters/serviceaccounts/*\",\"Microsoft.ContainerService/managedClusters/services/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-02T17:54:51.9644983Z\",\"updatedOn\":\"2020-10-22T16:10:35.0181117Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb\"},{\"properties\":{\"roleName\":\"Services + Hub Operator\",\"type\":\"BuiltInRole\",\"description\":\"Services Hub Operator + allows you to perform all read, write, and deletion operations related to + Services Hub Connectors.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.ServicesHub/connectors/write\",\"Microsoft.ServicesHub/connectors/read\",\"Microsoft.ServicesHub/connectors/delete\",\"Microsoft.ServicesHub/connectors/checkAssessmentEntitlement/action\",\"Microsoft.ServicesHub/supportOfferingEntitlement/read\",\"Microsoft.ServicesHub/workspaces/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-07-20T17:57:22.0644902Z\",\"updatedOn\":\"2020-10-06T17:18:28.4647301Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/82200a5b-e217-47a5-b665-6d8765ee745b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"82200a5b-e217-47a5-b665-6d8765ee745b\"},{\"properties\":{\"roleName\":\"Object + Understanding Account Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read ingestion jobs for an object understanding account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectUnderstandingAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-23T19:16:31.9929119Z\",\"updatedOn\":\"2020-07-23T19:16:31.9929119Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d18777c0-1514-4662-8490-608db7d334b6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d18777c0-1514-4662-8490-608db7d334b6\"},{\"properties\":{\"roleName\":\"Azure + Arc Enabled Kubernetes Cluster User Role\",\"type\":\"BuiltInRole\",\"description\":\"List + cluster user credentials action.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/deployments/write\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Kubernetes/connectedClusters/listClusterUserCredentials/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-07-28T17:37:00.7637445Z\",\"updatedOn\":\"2020-07-30T18:00:32.2764334Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00493d72-78f6-4148-b6c5-d3ce8e4799dd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"00493d72-78f6-4148-b6c5-d3ce8e4799dd\"},{\"properties\":{\"roleName\":\"SignalR + App Server (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets your + app server access SignalR Service with AAD auth options.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/auth/accessKey/action\",\"Microsoft.SignalRService/SignalR/serverConnection/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-29T06:54:40.1201435Z\",\"updatedOn\":\"2020-10-23T08:23:46.8454102Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/420fcaa2-552c-430f-98ca-3264be4806c7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"420fcaa2-552c-430f-98ca-3264be4806c7\"},{\"properties\":{\"roleName\":\"SignalR + Serverless Contributor (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets + your app access service in serverless mode with AAD auth options.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/auth/clientToken/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-29T09:35:32.2764751Z\",\"updatedOn\":\"2020-10-23T08:24:24.5713531Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd53cd77-2268-407a-8f46-7e7863d0f521\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fd53cd77-2268-407a-8f46-7e7863d0f521\"},{\"properties\":{\"roleName\":\"Collaborative + Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage data + packages of a collaborative.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/*/read\",\"Microsoft.IndustryDataLifecycle/memberCollaboratives/*/read\",\"Microsoft.IndustryDataLifecycle/locations/dataPackages/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/receivedDataPackages/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/rejectDataPackage/action\",\"Microsoft.IndustryDataLifecycle/memberCollaboratives/sharedDataPackages/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/dataModels/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/auditLogs/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-08-14T11:58:31.8973556Z\",\"updatedOn\":\"2021-03-17T06:19:53.4915361Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/daa9e50b-21df-454c-94a6-a8050adab352\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"daa9e50b-21df-454c-94a6-a8050adab352\"},{\"properties\":{\"roleName\":\"Device + Update Reader\",\"type\":\"BuiltInRole\",\"description\":\"Gives you read + access to management and content operations, but does not allow making changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\",\"Microsoft.DeviceUpdate/accounts/instances/management/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:40:19.2373610Z\",\"updatedOn\":\"2020-08-21T23:40:19.2373610Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e9dba6fb-3d52-4cf0-bce3-f06ce71b9e0f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e9dba6fb-3d52-4cf0-bce3-f06ce71b9e0f\"},{\"properties\":{\"roleName\":\"Device + Update Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Gives you + full access to management and content operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\",\"Microsoft.DeviceUpdate/accounts/instances/updates/write\",\"Microsoft.DeviceUpdate/accounts/instances/updates/delete\",\"Microsoft.DeviceUpdate/accounts/instances/management/read\",\"Microsoft.DeviceUpdate/accounts/instances/management/write\",\"Microsoft.DeviceUpdate/accounts/instances/management/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:56:22.3520510Z\",\"updatedOn\":\"2020-08-21T23:56:22.3520510Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/02ca0879-e8e4-47a5-a61e-5c618b76e64a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"02ca0879-e8e4-47a5-a61e-5c618b76e64a\"},{\"properties\":{\"roleName\":\"Device + Update Content Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Gives + you full access to content operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\",\"Microsoft.DeviceUpdate/accounts/instances/updates/write\",\"Microsoft.DeviceUpdate/accounts/instances/updates/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:58:18.4255500Z\",\"updatedOn\":\"2020-08-21T23:58:18.4255500Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0378884a-3af5-44ab-8323-f5b22f9f3c98\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0378884a-3af5-44ab-8323-f5b22f9f3c98\"},{\"properties\":{\"roleName\":\"Device + Update Deployments Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Gives + you full access to management operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/management/read\",\"Microsoft.DeviceUpdate/accounts/instances/management/write\",\"Microsoft.DeviceUpdate/accounts/instances/management/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:59:52.1001666Z\",\"updatedOn\":\"2020-08-21T23:59:52.1001666Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e4237640-0e3d-4a46-8fda-70bc94856432\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e4237640-0e3d-4a46-8fda-70bc94856432\"},{\"properties\":{\"roleName\":\"Device + Update Deployments Reader\",\"type\":\"BuiltInRole\",\"description\":\"Gives + you read access to management operations, but does not allow making changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/management/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-22T00:01:34.7053630Z\",\"updatedOn\":\"2020-08-22T00:01:34.7053630Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/49e2f5d2-7741-4835-8efa-19e1fe35e47f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"49e2f5d2-7741-4835-8efa-19e1fe35e47f\"},{\"properties\":{\"roleName\":\"Device + Update Content Reader\",\"type\":\"BuiltInRole\",\"description\":\"Gives you + read access to content operations, but does not allow making changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-22T00:02:43.3299181Z\",\"updatedOn\":\"2020-08-22T00:02:43.3299181Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d1ee9a80-8b14-47f0-bdc2-f4a351625a7b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d1ee9a80-8b14-47f0-bdc2-f4a351625a7b\"},{\"properties\":{\"roleName\":\"Cognitive + Services Metrics Advisor Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to the project, including the system level configuration.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/MetricsAdvisor/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-10T07:46:47.5804491Z\",\"updatedOn\":\"2020-09-16T12:07:16.3975746Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cb43c632-a144-4ec5-977c-e80c4affc34a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cb43c632-a144-4ec5-977c-e80c4affc34a\"},{\"properties\":{\"roleName\":\"Cognitive + Services Metrics Advisor User\",\"type\":\"BuiltInRole\",\"description\":\"Access + to the project.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/MetricsAdvisor/*\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/MetricsAdvisor/stats/*\"]}],\"createdOn\":\"2020-09-10T07:47:59.6195639Z\",\"updatedOn\":\"2020-09-16T12:06:29.1731967Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3b20f47b-3825-43cb-8114-4bd2201156a8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3b20f47b-3825-43cb-8114-4bd2201156a8\"},{\"properties\":{\"roleName\":\"Schema + Registry Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read + and list Schema Registry groups and schemas.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/namespaces/schemagroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/namespaces/schemas/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-13T06:31:38.0272740Z\",\"updatedOn\":\"2020-09-13T06:31:38.0272740Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2c56ea50-c6b3-40a6-83c0-9d98858bc7d2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2c56ea50-c6b3-40a6-83c0-9d98858bc7d2\"},{\"properties\":{\"roleName\":\"Schema + Registry Contributor (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read, + write, and delete Schema Registry groups and schemas.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/namespaces/schemagroups/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/namespaces/schemas/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-13T06:48:26.6032931Z\",\"updatedOn\":\"2020-09-13T06:48:26.6032931Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5dffeca3-4936-4216-b2bc-10343a5abb25\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5dffeca3-4936-4216-b2bc-10343a5abb25\"},{\"properties\":{\"roleName\":\"AgFood + Platform Service Reader\",\"type\":\"BuiltInRole\",\"description\":\"Provides + read access to AgFood Platform Service\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AgFoodPlatform/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-14T10:21:08.9138820Z\",\"updatedOn\":\"2020-09-14T10:21:08.9138820Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7ec7ccdc-f61e-41fe-9aaf-980df0a44eba\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7ec7ccdc-f61e-41fe-9aaf-980df0a44eba\"},{\"properties\":{\"roleName\":\"AgFood + Platform Service Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Provides + contribute access to AgFood Platform Service\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AgFoodPlatform/*/action\",\"Microsoft.AgFoodPlatform/*/read\",\"Microsoft.AgFoodPlatform/*/write\"],\"notDataActions\":[\"Microsoft.AgFoodPlatform/farmers/write\"]}],\"createdOn\":\"2020-09-14T10:21:09.7239169Z\",\"updatedOn\":\"2020-10-27T09:45:30.5740183Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8508508a-4469-4e45-963b-2518ee0bb728\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8508508a-4469-4e45-963b-2518ee0bb728\"},{\"properties\":{\"roleName\":\"AgFood + Platform Service Admin\",\"type\":\"BuiltInRole\",\"description\":\"Provides + admin access to AgFood Platform Service\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AgFoodPlatform/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-14T10:21:09.8039209Z\",\"updatedOn\":\"2020-09-14T10:21:09.8039209Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f8da80de-1ff9-4747-ad80-a19b7f6079e3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f8da80de-1ff9-4747-ad80-a19b7f6079e3\"},{\"properties\":{\"roleName\":\"Managed + HSM contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + managed HSM pools, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.KeyVault/managedHSMs/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-09-16T21:47:01.1291104Z\",\"updatedOn\":\"2020-09-16T21:47:01.1291104Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18500a29-7fe2-46b2-a342-b16a415e101d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"18500a29-7fe2-46b2-a342-b16a415e101d\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Submitter\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to create submissions to Security Detonation Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/submissions/delete\",\"Microsoft.SecurityDetonation/chambers/submissions/write\",\"Microsoft.SecurityDetonation/chambers/submissions/read\",\"Microsoft.SecurityDetonation/chambers/submissions/files/read\",\"Microsoft.SecurityDetonation/chambers/submissions/accesskeyview/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-10-01T08:55:21.3980274Z\",\"updatedOn\":\"2021-01-24T09:15:55.0454625Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0b555d9b-b4a7-4f43-b330-627f0e5be8f0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0b555d9b-b4a7-4f43-b330-627f0e5be8f0\"},{\"properties\":{\"roleName\":\"SignalR + Service Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + access to Azure SignalR Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/group/read\",\"Microsoft.SignalRService/SignalR/clientConnection/read\",\"Microsoft.SignalRService/SignalR/user/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-10-13T09:19:05.6463616Z\",\"updatedOn\":\"2020-10-23T08:25:22.8928130Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ddde6b66-c0df-4114-a159-3618637b3035\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ddde6b66-c0df-4114-a159-3618637b3035\"},{\"properties\":{\"roleName\":\"SignalR + Service Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to Azure SignalR Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/auth/accessKey/action\",\"Microsoft.SignalRService/SignalR/auth/clientToken/action\",\"Microsoft.SignalRService/SignalR/hub/send/action\",\"Microsoft.SignalRService/SignalR/group/send/action\",\"Microsoft.SignalRService/SignalR/group/read\",\"Microsoft.SignalRService/SignalR/group/write\",\"Microsoft.SignalRService/SignalR/clientConnection/send/action\",\"Microsoft.SignalRService/SignalR/clientConnection/read\",\"Microsoft.SignalRService/SignalR/clientConnection/write\",\"Microsoft.SignalRService/SignalR/user/send/action\",\"Microsoft.SignalRService/SignalR/user/read\",\"Microsoft.SignalRService/SignalR/user/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-10-13T09:20:32.1501410Z\",\"updatedOn\":\"2021-03-24T09:39:35.1558342Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7e4f1700-ea5a-4f59-8f37-079cfe29dce3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7e4f1700-ea5a-4f59-8f37-079cfe29dce3\"},{\"properties\":{\"roleName\":\"Reservation + Purchaser\",\"type\":\"BuiltInRole\",\"description\":\"Lets you purchase reservations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Capacity/register/action\",\"Microsoft.Compute/register/action\",\"Microsoft.SQL/register/action\",\"Microsoft.Consumption/register/action\",\"Microsoft.Capacity/catalogs/read\",\"Microsoft.Authorization/roleAssignments/read\",\"Microsoft.Consumption/reservationRecommendations/read\",\"Microsoft.Support/supporttickets/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-10-23T20:22:48.9217751Z\",\"updatedOn\":\"2020-10-23T20:22:48.9217751Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f7b75c60-3036-4b75-91c3-6b41c27c1689\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f7b75c60-3036-4b75-91c3-6b41c27c1689\"},{\"properties\":{\"roleName\":\"AzureML + Metrics Writer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you write metrics to AzureML workspace\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.MachineLearningServices/workspaces/metrics/*/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-10-27T16:55:19.5664950Z\",\"updatedOn\":\"2020-10-28T19:17:09.2941184Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/635dd51f-9968-44d3-b7fb-6d9a6bd613ae\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"635dd51f-9968-44d3-b7fb-6d9a6bd613ae\"},{\"properties\":{\"roleName\":\"Storage + Account Backup Contributor Role\",\"type\":\"BuiltInRole\",\"description\":\"Storage + Account Backup Contributors are allowed to perform backup and restore of Storage + Account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Authorization/locks/read\",\"Microsoft.Authorization/locks/write\",\"Microsoft.Authorization/locks/delete\",\"Microsoft.Features/features/read\",\"Microsoft.Features/providers/features/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/operations/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/read\",\"Microsoft.Storage/storageAccounts/blobServices/write\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Storage/storageAccounts/restoreBlobRanges/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-11-02T23:32:50.4203469Z\",\"updatedOn\":\"2020-11-18T22:53:07.0632395Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e5e2a7ff-d759-4cd2-bb51-3152d37e2eb1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e5e2a7ff-d759-4cd2-bb51-3152d37e2eb1\"},{\"properties\":{\"roleName\":\"Experimentation + Metric Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + creation, writes and reads to the metric set via the metrics service APIs.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/metricwrite/action\",\"Microsoft.Experimentation/experimentWorkspaces/metricwrite/action\",\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-10T20:07:53.7535885Z\",\"updatedOn\":\"2021-03-05T16:14:20.5696005Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6188b7c9-7d01-4f99-a59f-c88b630326c0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6188b7c9-7d01-4f99-a59f-c88b630326c0\"},{\"properties\":{\"roleName\":\"Project + Babylon Data Curator\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.ProjectBabylon + data curator can create, read, modify and delete catalog data objects and + establish relationships between objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ProjectBabylon/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ProjectBabylon/accounts/data/read\",\"Microsoft.ProjectBabylon/accounts/data/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:31:33.7988825Z\",\"updatedOn\":\"2020-11-20T21:21:21.9658575Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9ef4ef9c-a049-46b0-82ab-dd8ac094c889\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9ef4ef9c-a049-46b0-82ab-dd8ac094c889\"},{\"properties\":{\"roleName\":\"Project + Babylon Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.ProjectBabylon + data reader can read catalog data objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ProjectBabylon/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ProjectBabylon/accounts/data/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:33:13.5342351Z\",\"updatedOn\":\"2020-11-20T21:21:51.9362426Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c8d896ba-346d-4f50-bc1d-7d1c84130446\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c8d896ba-346d-4f50-bc1d-7d1c84130446\"},{\"properties\":{\"roleName\":\"Project + Babylon Data Source Administrator\",\"type\":\"BuiltInRole\",\"description\":\"The + Microsoft.ProjectBabylon data source administrator can manage data sources + and data scans. This role is in preview and subject to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ProjectBabylon/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ProjectBabylon/accounts/scan/read\",\"Microsoft.ProjectBabylon/accounts/scan/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:34:01.8401954Z\",\"updatedOn\":\"2020-11-20T21:22:15.6138058Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/05b7651b-dc44-475e-b74d-df3db49fae0f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"05b7651b-dc44-475e-b74d-df3db49fae0f\"},{\"properties\":{\"roleName\":\"Purview + Data Curator\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.Purview + data curator can create, read, modify and delete catalog data objects and + establish relationships between objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Purview/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Purview/accounts/data/read\",\"Microsoft.Purview/accounts/data/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:37:15.0123345Z\",\"updatedOn\":\"2020-11-20T21:24:12.8131677Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8a3c2885-9b38-4fd2-9d99-91af537c1347\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8a3c2885-9b38-4fd2-9d99-91af537c1347\"},{\"properties\":{\"roleName\":\"Purview + Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.Purview + data reader can read catalog data objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Purview/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Purview/accounts/data/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:39:22.2344740Z\",\"updatedOn\":\"2020-11-20T21:24:29.5157346Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ff100721-1b9d-43d8-af52-42b69c1272db\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ff100721-1b9d-43d8-af52-42b69c1272db\"},{\"properties\":{\"roleName\":\"Purview + Data Source Administrator\",\"type\":\"BuiltInRole\",\"description\":\"The + Microsoft.Purview data source administrator can manage data sources and data + scans. This role is in preview and subject to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Purview/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Purview/accounts/scan/read\",\"Microsoft.Purview/accounts/scan/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:40:05.0975648Z\",\"updatedOn\":\"2020-11-20T21:24:43.5940624Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/200bba9e-f0c8-430f-892b-6f0794863803\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"200bba9e-f0c8-430f-892b-6f0794863803\"},{\"properties\":{\"roleName\":\"Application + Group Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Application Group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/applicationgroups/*\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.DesktopVirtualization/workspaces/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-03T23:26:00.2784962Z\",\"updatedOn\":\"2020-12-04T23:46:35.0341772Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ca6382a4-1721-4bcf-a114-ff0c70227b6b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ca6382a4-1721-4bcf-a114-ff0c70227b6b\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of Desktop Virtualization.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:36:19.0140629Z\",\"updatedOn\":\"2020-12-11T21:36:19.0140629Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/49a72310-ab8d-41df-bbb0-79b649203868\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"49a72310-ab8d-41df-bbb0-79b649203868\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of Desktop Virtualization.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:37:16.2910337Z\",\"updatedOn\":\"2020-12-11T21:37:16.2910337Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/082f0a83-3be5-4ba1-904c-961cca79b387\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"082f0a83-3be5-4ba1-904c-961cca79b387\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Workspace Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Desktop Virtualization Workspace.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/workspaces/*\",\"Microsoft.DesktopVirtualization/applicationgroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:38:29.6089216Z\",\"updatedOn\":\"2020-12-11T21:38:29.6089216Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/21efdde3-836f-432b-bf3d-3e8e734d4b2b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"21efdde3-836f-432b-bf3d-3e8e734d4b2b\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization User Session Operator\",\"type\":\"BuiltInRole\",\"description\":\"Operator + of the Desktop Virtualization Uesr Session.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:39:16.9100273Z\",\"updatedOn\":\"2020-12-11T21:39:16.9100273Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ea4bfff8-7fb4-485a-aadd-d4129a0ffaa6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ea4bfff8-7fb4-485a-aadd-d4129a0ffaa6\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Session Host Operator\",\"type\":\"BuiltInRole\",\"description\":\"Operator + of the Desktop Virtualization Session Host.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:39:53.2569741Z\",\"updatedOn\":\"2020-12-11T21:39:53.2569741Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2ad6aaab-ead9-4eaa-8ac5-da422f562408\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2ad6aaab-ead9-4eaa-8ac5-da422f562408\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Host Pool Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of the Desktop Virtualization Host Pool.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/*/read\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:40:33.1430834Z\",\"updatedOn\":\"2020-12-11T21:40:33.1430834Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ceadfde2-b300-400a-ab7b-6143895aa822\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ceadfde2-b300-400a-ab7b-6143895aa822\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Host Pool Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Desktop Virtualization Host Pool.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:40:57.2976187Z\",\"updatedOn\":\"2020-12-11T21:40:57.2976187Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e307426c-f9b6-4e81-87de-d99efb3c32bc\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e307426c-f9b6-4e81-87de-d99efb3c32bc\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Application Group Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of the Desktop Virtualization Application Group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/applicationgroups/*/read\",\"Microsoft.DesktopVirtualization/applicationgroups/read\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:41:18.0287398Z\",\"updatedOn\":\"2020-12-11T21:41:18.0287398Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/aebf23d0-b568-4e86-b8f9-fe83a2c6ab55\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"aebf23d0-b568-4e86-b8f9-fe83a2c6ab55\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Application Group Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Desktop Virtualization Application Group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/applicationgroups/*\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:41:38.6205531Z\",\"updatedOn\":\"2020-12-11T21:41:38.6205531Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/86240b0e-9422-4c43-887b-b61143f32ba8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"86240b0e-9422-4c43-887b-b61143f32ba8\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Workspace Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of the Desktop Virtualization Workspace.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/workspaces/read\",\"Microsoft.DesktopVirtualization/applicationgroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:41:58.1892707Z\",\"updatedOn\":\"2020-12-11T21:41:58.1892707Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0fa44ee9-7a7d-466b-9bb2-2bf446b1204d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0fa44ee9-7a7d-466b-9bb2-2bf446b1204d\"},{\"properties\":{\"roleName\":\"Disk + Backup Reader\",\"type\":\"BuiltInRole\",\"description\":\"Provides permission + to backup vault to perform disk backup.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/disks/read\",\"Microsoft.Compute/disks/beginGetAccess/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T07:39:03.8394514Z\",\"updatedOn\":\"2020-12-18T05:00:23.3015246Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3e5e47e6-65f7-47ef-90b5-e5dd4d455f24\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3e5e47e6-65f7-47ef-90b5-e5dd4d455f24\"},{\"properties\":{\"roleName\":\"Autonomous + Development Platform Data Contributor (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Grants + permissions to upload and manage new Autonomous Development Platform measurements.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/discoveries/*\",\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/uploads/*\",\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/measurements/states/new/*\",\"Microsoft.AutonomousDevelopmentPlatform/accounts/measurementCollections/*\"],\"notDataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/measurements/states/new/changeState/action\"]}],\"createdOn\":\"2020-12-15T11:30:01.7459379Z\",\"updatedOn\":\"2021-02-08T20:04:29.9188777Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b8b15564-4fa6-4a59-ab12-03e1d9594795\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b8b15564-4fa6-4a59-ab12-03e1d9594795\"},{\"properties\":{\"roleName\":\"Autonomous + Development Platform Data Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Grants + read access to Autonomous Development Platform data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:11:31.9843256Z\",\"updatedOn\":\"2021-02-08T16:16:53.0489887Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d63b75f7-47ea-4f27-92ac-e0d173aaf093\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d63b75f7-47ea-4f27-92ac-e0d173aaf093\"},{\"properties\":{\"roleName\":\"Autonomous + Development Platform Data Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Grants + full access to Autonomous Development Platform data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:13:59.9702378Z\",\"updatedOn\":\"2021-02-08T16:12:28.8035230Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/27f8b550-c507-4db9-86f2-f4b8e816d59d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"27f8b550-c507-4db9-86f2-f4b8e816d59d\"},{\"properties\":{\"roleName\":\"Disk + Restore Operator\",\"type\":\"BuiltInRole\",\"description\":\"Provides permission + to backup vault to perform disk restore.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Compute/disks/write\",\"Microsoft.Compute/disks/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:18:31.8481619Z\",\"updatedOn\":\"2020-12-18T05:00:53.9562743Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b50d9833-a0cb-478e-945f-707fcc997c13\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b50d9833-a0cb-478e-945f-707fcc997c13\"},{\"properties\":{\"roleName\":\"Disk + Snapshot Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Provides + permission to backup vault to manage disk snapshots.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Compute/snapshots/delete\",\"Microsoft.Compute/snapshots/write\",\"Microsoft.Compute/snapshots/read\",\"Microsoft.Compute/snapshots/beginGetAccess/action\",\"Microsoft.Compute/snapshots/endGetAccess/action\",\"Microsoft.Compute/disks/beginGetAccess/action\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/write\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Storage/storageAccounts/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:18:51.4471411Z\",\"updatedOn\":\"2021-01-06T04:00:07.5681241Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7efff54f-a5b4-42b5-a1c5-5411624893ce\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7efff54f-a5b4-42b5-a1c5-5411624893ce\"},{\"properties\":{\"roleName\":\"Microsoft.Kubernetes + connected cluster role\",\"type\":\"BuiltInRole\",\"description\":\"Microsoft.Kubernetes + connected cluster role.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Kubernetes/connectedClusters/read\",\"Microsoft.Kubernetes/connectedClusters/write\",\"Microsoft.Kubernetes/connectedClusters/delete\",\"Microsoft.Kubernetes/registeredSubscriptions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-07T23:57:10.9923232Z\",\"updatedOn\":\"2021-01-07T23:57:10.9923232Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5548b2cf-c94c-4228-90ba-30851930a12f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5548b2cf-c94c-4228-90ba-30851930a12f\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Submission Manager\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to create and manage submissions to Security Detonation Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/submissions/delete\",\"Microsoft.SecurityDetonation/chambers/submissions/write\",\"Microsoft.SecurityDetonation/chambers/submissions/read\",\"Microsoft.SecurityDetonation/chambers/submissions/files/read\",\"Microsoft.SecurityDetonation/chambers/submissions/accesskeyview/read\",\"Microsoft.SecurityDetonation/chambers/submissions/adminview/read\",\"Microsoft.SecurityDetonation/chambers/submissions/analystview/read\",\"Microsoft.SecurityDetonation/chambers/submissions/publicview/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-01-18T09:35:36.5739297Z\",\"updatedOn\":\"2021-01-24T09:12:30.4145975Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a37b566d-3efa-4beb-a2f2-698963fa42ce\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a37b566d-3efa-4beb-a2f2-698963fa42ce\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Publisher\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to publish and modify platforms, workflows and toolsets to Security Detonation + Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/platforms/read\",\"Microsoft.SecurityDetonation/chambers/platforms/write\",\"Microsoft.SecurityDetonation/chambers/platforms/delete\",\"Microsoft.SecurityDetonation/chambers/platforms/metadata/read\",\"Microsoft.SecurityDetonation/chambers/workflows/read\",\"Microsoft.SecurityDetonation/chambers/workflows/write\",\"Microsoft.SecurityDetonation/chambers/workflows/delete\",\"Microsoft.SecurityDetonation/chambers/workflows/metadata/read\",\"Microsoft.SecurityDetonation/chambers/toolsets/read\",\"Microsoft.SecurityDetonation/chambers/toolsets/write\",\"Microsoft.SecurityDetonation/chambers/toolsets/delete\",\"Microsoft.SecurityDetonation/chambers/toolsets/metadata/read\",\"Microsoft.SecurityDetonation/chambers/publishRequests/read\",\"Microsoft.SecurityDetonation/chambers/publishRequests/cancel/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-01-18T11:43:14.0858184Z\",\"updatedOn\":\"2021-03-07T13:06:15.7172517Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/352470b3-6a9c-4686-b503-35deb827e500\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"352470b3-6a9c-4686-b503-35deb827e500\"},{\"properties\":{\"roleName\":\"Collaborative + Runtime Operator\",\"type\":\"BuiltInRole\",\"description\":\"Can manage resources + created by AICS at runtime\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.IndustryDataLifecycle/derivedModels/*\",\"Microsoft.IndustryDataLifecycle/pipelineSets/*\",\"Microsoft.IndustryDataLifecycle/modelMappings/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-19T10:00:27.3464971Z\",\"updatedOn\":\"2021-04-26T06:26:59.0344457Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7a6f0e70-c033-4fb1-828c-08514e5f4102\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7a6f0e70-c033-4fb1-828c-08514e5f4102\"},{\"properties\":{\"roleName\":\"CosmosRestoreOperator\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform restore action for Cosmos DB database account with continuous backup + mode\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action\",\"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read\",\"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-21T19:51:35.3884884Z\",\"updatedOn\":\"2021-01-23T01:40:20.9862312Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5432c526-bc82-444a-b7ba-57c5b0b5b34f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5432c526-bc82-444a-b7ba-57c5b0b5b34f\"},{\"properties\":{\"roleName\":\"FHIR + Data Converter\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to convert data from legacy format to FHIR\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/convertData/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-01-22T19:39:01.1601069Z\",\"updatedOn\":\"2021-01-22T19:39:01.1601069Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a1705bd2-3a8f-45a5-8683-466fcfd5cc24\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Automation Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Azure + Sentinel Automation Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Logic/workflows/triggers/read\",\"Microsoft.Logic/workflows/triggers/listCallbackUrl/action\",\"Microsoft.Logic/workflows/runs/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-24T08:50:52.0382991Z\",\"updatedOn\":\"2021-01-25T19:48:16.7893833Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f4c81013-99ee-4d62-a7ee-b3f1f648599a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f4c81013-99ee-4d62-a7ee-b3f1f648599a\"},{\"properties\":{\"roleName\":\"Quota + Request Operator\",\"type\":\"BuiltInRole\",\"description\":\"Read and create + quota requests, get quota request status, and create support tickets.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Capacity/resourceProviders/locations/serviceLimits/read\",\"Microsoft.Capacity/resourceProviders/locations/serviceLimits/write\",\"Microsoft.Capacity/resourceProviders/locations/serviceLimitsRequests/read\",\"Microsoft.Capacity/register/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-02-03T00:06:35.8404575Z\",\"updatedOn\":\"2021-03-22T21:53:11.9852943Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0e5f05e5-9ab9-446b-b98d-1e2157c94125\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0e5f05e5-9ab9-446b-b98d-1e2157c94125\"},{\"properties\":{\"roleName\":\"EventGrid + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage EventGrid + operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.EventGrid/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-02-08T18:46:18.8999557Z\",\"updatedOn\":\"2021-02-11T00:02:16.0328078Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1e241071-0855-49ea-94dc-649edcd759de\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1e241071-0855-49ea-94dc-649edcd759de\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to query submission info and files from Security Detonation Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/submissions/read\",\"Microsoft.SecurityDetonation/chambers/submissions/files/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-01T14:06:46.2814905Z\",\"updatedOn\":\"2021-03-01T14:09:25.0080904Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/28241645-39f8-410b-ad48-87863e2951d5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"28241645-39f8-410b-ad48-87863e2951d5\"},{\"properties\":{\"roleName\":\"Object + Anchors Account Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + read ingestion jobs for an object anchors account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectAnchorsAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-02T01:20:47.0279813Z\",\"updatedOn\":\"2021-03-02T01:34:08.6743401Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4a167cdf-cb95-4554-9203-2347fe489bd9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4a167cdf-cb95-4554-9203-2347fe489bd9\"},{\"properties\":{\"roleName\":\"Object + Anchors Account Owner\",\"type\":\"BuiltInRole\",\"description\":\"Provides + user with ingestion capabilities for an object anchors account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectAnchorsAccounts/ingest/action\",\"Microsoft.MixedReality/ObjectAnchorsAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-02T01:42:02.0014737Z\",\"updatedOn\":\"2021-03-02T01:45:23.2472961Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ca0835dd-bacc-42dd-8ed2-ed5e7230d15b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ca0835dd-bacc-42dd-8ed2-ed5e7230d15b\"},{\"properties\":{\"roleName\":\"WorkloadBuilder + Migration Agent Role\",\"type\":\"BuiltInRole\",\"description\":\"WorkloadBuilder + Migration Agent Role.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.WorkloadBuilder/migrationAgents/Read\",\"Microsoft.WorkloadBuilder/migrationAgents/Write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-03-11T17:07:20.0828003Z\",\"updatedOn\":\"2021-03-11T17:07:20.0828003Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d17ce0a2-0697-43bc-aac5-9113337ab61c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d17ce0a2-0697-43bc-aac5-9113337ab61c\"},{\"properties\":{\"roleName\":\"Web + PubSub Service Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to Azure Web PubSub Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/WebPubSub/clientConnection/read\",\"Microsoft.SignalRService/WebPubSub/clientConnection/send/action\",\"Microsoft.SignalRService/WebPubSub/clientConnection/write\",\"Microsoft.SignalRService/WebPubSub/group/read\",\"Microsoft.SignalRService/WebPubSub/group/send/action\",\"Microsoft.SignalRService/WebPubSub/group/write\",\"Microsoft.SignalRService/WebPubSub/hub/send/action\",\"Microsoft.SignalRService/WebPubSub/user/read\",\"Microsoft.SignalRService/WebPubSub/user/send/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-24T09:10:11.8335180Z\",\"updatedOn\":\"2021-03-24T09:28:41.8434072Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/12cf5a90-567b-43ae-8102-96cf46c7d9b4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"12cf5a90-567b-43ae-8102-96cf46c7d9b4\"},{\"properties\":{\"roleName\":\"Web + PubSub Service Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + access to Azure Web PubSub Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/WebPubSub/clientConnection/read\",\"Microsoft.SignalRService/WebPubSub/group/read\",\"Microsoft.SignalRService/WebPubSub/user/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-24T09:11:12.6235436Z\",\"updatedOn\":\"2021-03-24T09:30:51.2337584Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/bfb1c7d2-fb1a-466b-b2ba-aee63b92deaf\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"bfb1c7d2-fb1a-466b-b2ba-aee63b92deaf\"},{\"properties\":{\"roleName\":\"Azure + Spring Cloud Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allow + read access to Azure Spring Cloud Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AppPlatform/Spring/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-25T11:12:12.6786010Z\",\"updatedOn\":\"2021-03-25T11:15:24.6631615Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b5537268-8956-4941-a8f0-646150406f0c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b5537268-8956-4941-a8f0-646150406f0c\"},{\"properties\":{\"roleName\":\"Cognitive + Services Speech User\",\"type\":\"BuiltInRole\",\"description\":\"This is + a role that can create, read, change and delete batch transcriptions, do real + time transcriptions and list or get other speech resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/SpeechServices/*/read\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/transcriptions/write\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/transcriptions/delete\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/transcriptions/read\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/frontend/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-30T11:28:27.4339032Z\",\"updatedOn\":\"2021-03-30T11:28:27.4339032Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f2dc8367-1007-4938-bd23-fe263f013447\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f2dc8367-1007-4938-bd23-fe263f013447\"},{\"properties\":{\"roleName\":\"Cognitive + Services Speech Contributor\",\"type\":\"BuiltInRole\",\"description\":\"This + is a role that can read, write and delete all speech resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/SpeechServices/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-30T11:28:49.7826633Z\",\"updatedOn\":\"2021-03-30T11:28:49.7826633Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0e75ca1e-0464-4b4d-8b93-68208a576181\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0e75ca1e-0464-4b4d-8b93-68208a576181\"},{\"properties\":{\"roleName\":\"Cognitive + Services Face Recognizer\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you perform detect, verify, identify, group, and find similar operations on + Face API. This role does not allow create or delete operations, which makes + it well suited for endpoints that only need inferencing capabilities, following + 'least privilege' best practices.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/Face/detect/action\",\"Microsoft.CognitiveServices/accounts/Face/verify/action\",\"Microsoft.CognitiveServices/accounts/Face/identify/action\",\"Microsoft.CognitiveServices/accounts/Face/group/action\",\"Microsoft.CognitiveServices/accounts/Face/findsimilars/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-31T01:51:41.3557295Z\",\"updatedOn\":\"2021-03-31T01:51:41.3557295Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9894cab4-e18a-44aa-828b-cb588cd6f2d7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9894cab4-e18a-44aa-828b-cb588cd6f2d7\"},{\"properties\":{\"roleName\":\"Media + Services Account Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify and delete Media Services accounts; read-only access to other + Media Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/listStreamingLocators/action\",\"Microsoft.Media/mediaservices/streamingLocators/listPaths/action\",\"Microsoft.Media/mediaservices/write\",\"Microsoft.Media/mediaservices/delete\",\"Microsoft.Media/mediaservices/privateEndpointConnectionsApproval/action\",\"Microsoft.Media/mediaservices/privateEndpointConnections/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:20:32.2956636Z\",\"updatedOn\":\"2021-05-01T01:01:47.9462317Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/054126f8-9a2b-4f1c-a9ad-eca461f08466\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"054126f8-9a2b-4f1c-a9ad-eca461f08466\"},{\"properties\":{\"roleName\":\"Media + Services Live Events Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read and modify Live Events, Assets, Asset Filters and Streaming Locators; + read-only access to other Media Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/*\",\"Microsoft.Media/mediaservices/assets/assetfilters/*\",\"Microsoft.Media/mediaservices/streamingLocators/*\",\"Microsoft.Media/mediaservices/liveEvents/*\"],\"notActions\":[\"Microsoft.Media/mediaservices/assets/getEncryptionKey/action\",\"Microsoft.Media/mediaservices/streamingLocators/listContentKeys/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:21:00.6119555Z\",\"updatedOn\":\"2021-05-06T16:15:06.2586303Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/532bc159-b25e-42c0-969e-a1d439f60d77\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"532bc159-b25e-42c0-969e-a1d439f60d77\"},{\"properties\":{\"roleName\":\"Media + Services Media Operator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify, and delete of Assets, Asset Filters, Streaming Locators and + Jobs; read-only access to other Media Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/*\",\"Microsoft.Media/mediaservices/assets/assetfilters/*\",\"Microsoft.Media/mediaservices/streamingLocators/*\",\"Microsoft.Media/mediaservices/transforms/jobs/*\"],\"notActions\":[\"Microsoft.Media/mediaservices/assets/getEncryptionKey/action\",\"Microsoft.Media/mediaservices/streamingLocators/listContentKeys/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:21:23.2236495Z\",\"updatedOn\":\"2021-05-06T16:14:37.5549657Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e4395492-1534-4db2-bedf-88c14621589c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e4395492-1534-4db2-bedf-88c14621589c\"},{\"properties\":{\"roleName\":\"Media + Services Policy Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify, and delete Account Filters, Streaming Policies, Content Key + Policies and Transforms; read-only access to other Media Services resources. + Cannot create Jobs, Assets or Streaming resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/listStreamingLocators/action\",\"Microsoft.Media/mediaservices/streamingLocators/listPaths/action\",\"Microsoft.Media/mediaservices/accountFilters/*\",\"Microsoft.Media/mediaservices/streamingPolicies/*\",\"Microsoft.Media/mediaservices/contentKeyPolicies/*\",\"Microsoft.Media/mediaservices/transforms/*\"],\"notActions\":[\"Microsoft.Media/mediaservices/contentKeyPolicies/getPolicyPropertiesWithSecrets/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:21:46.9534330Z\",\"updatedOn\":\"2021-05-06T16:14:16.7746802Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c4bba371-dacd-4a26-b320-7250bca963ae\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c4bba371-dacd-4a26-b320-7250bca963ae\"},{\"properties\":{\"roleName\":\"Media + Services Streaming Endpoints Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify and delete Streaming Endpoints; read-only access to other Media + Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/listStreamingLocators/action\",\"Microsoft.Media/mediaservices/streamingLocators/listPaths/action\",\"Microsoft.Media/mediaservices/streamingEndpoints/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:22:04.4594851Z\",\"updatedOn\":\"2021-05-06T16:13:45.1356018Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/99dba123-b5fe-44d5-874c-ced7199a5804\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"99dba123-b5fe-44d5-874c-ced7199a5804\"},{\"properties\":{\"roleName\":\"Stream + Analytics Query Tester\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + perform query testing without creating a stream analytics job first\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.StreamAnalytics/locations/TestQuery/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-20T17:33:24.5727870Z\",\"updatedOn\":\"2021-04-26T17:08:16.3575666Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1ec5b3c1-b17e-4e25-8312-2acb3c3c5abf\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1ec5b3c1-b17e-4e25-8312-2acb3c3c5abf\"},{\"properties\":{\"roleName\":\"AnyBuild + Builder\",\"type\":\"BuiltInRole\",\"description\":\"Basic user role for AnyBuild. + This role allows listing of agent information and execution of remote build + capabilities.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AnyBuild/clusters/build/write\",\"Microsoft.AnyBuild/clusters/build/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-20T22:07:00.4963853Z\",\"updatedOn\":\"2021-04-20T22:07:00.4963853Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a2138dac-4907-4679-a376-736901ed8ad8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a2138dac-4907-4679-a376-736901ed8ad8\"},{\"properties\":{\"roleName\":\"IoT + Hub Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows for full + read access to IoT Hub data-plane properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/*/read\",\"Microsoft.Devices/IotHubs/fileUpload/notifications/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T18:03:29.8843192Z\",\"updatedOn\":\"2021-04-29T23:24:12.4930691Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b447c946-2db7-41ec-983d-d8bf3b1c77e3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b447c946-2db7-41ec-983d-d8bf3b1c77e3\"},{\"properties\":{\"roleName\":\"IoT + Hub Twin Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + read and write access to all IoT Hub device and module twins.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/twins/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T20:36:10.1136903Z\",\"updatedOn\":\"2021-04-29T23:52:03.1511375Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/494bdba2-168f-4f31-a0a1-191d2f7c028c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"494bdba2-168f-4f31-a0a1-191d2f7c028c\"},{\"properties\":{\"roleName\":\"IoT + Hub Registry Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for full access to IoT Hub device registry.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/devices/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T20:36:47.5532704Z\",\"updatedOn\":\"2021-04-30T00:01:58.8405124Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4ea46cd5-c1b2-4a8e-910b-273211f9ce47\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4ea46cd5-c1b2-4a8e-910b-273211f9ce47\"},{\"properties\":{\"roleName\":\"IoT + Hub Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + full access to IoT Hub data plane operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T20:37:16.9927761Z\",\"updatedOn\":\"2021-04-29T23:44:42.6824802Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4fc6c259-987e-4a07-842e-c321cc9d413f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4fc6c259-987e-4a07-842e-c321cc9d413f\"},{\"properties\":{\"roleName\":\"Test + Base Reader\",\"type\":\"BuiltInRole\",\"description\":\"Let you view and + download packages and test results.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.TestBase/testBaseAccounts/packages/testResults/getDownloadUrl/action\",\"Microsoft.TestBase/testBaseAccounts/packages/testResults/getVideoDownloadUrl/action\",\"Microsoft.TestBase/testBaseAccounts/packages/getDownloadUrl/action\",\"Microsoft.TestBase/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-05-11T23:41:33.1038367Z\",\"updatedOn\":\"2021-05-11T23:41:33.1038367Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/15e0f5a1-3450-4248-8e25-e2afe88a9e85\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"15e0f5a1-3450-4248-8e25-e2afe88a9e85\"}]}" + headers: + cache-control: + - no-cache + content-length: + - '291759' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 May 2021 03:35:27 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; 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: '{"objectIds": ["e529c1e5-76ca-44a1-9176-61e364c62876"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.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.User","objectType":"User","objectId":"e529c1e5-76ca-44a1-9176-61e364c62876","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[],"assignedPlans":[],"city":null,"companyName":null,"consentProvidedForMinor":null,"country":null,"createdDateTime":"2021-05-13T09:09:32Z","creationType":"Invitation","department":null,"dirSyncEnabled":null,"displayName":"contoso + Zhou","employeeId":null,"facsimileTelephoneNumber":null,"givenName":null,"immutableId":null,"isCompromised":null,"jobTitle":null,"lastDirSyncTime":null,"legalAgeGroupClassification":null,"mail":"contoso@microsoft.com","mailNickname":"contoso_microsoft.com#EXT#","mobile":null,"onPremisesDistinguishedName":null,"onPremisesSecurityIdentifier":null,"otherMails":["fenzhou@microsoft.com","contoso@microsoft.com"],"passwordPolicies":null,"passwordProfile":null,"physicalDeliveryOfficeName":null,"postalCode":null,"preferredLanguage":null,"provisionedPlans":[],"provisioningErrors":[],"proxyAddresses":["SMTP:contoso@microsoft.com"],"refreshTokensValidFromDateTime":"2021-05-13T09:09:32Z","showInAddressList":false,"signInNames":[],"sipProxyAddress":null,"state":null,"streetAddress":null,"surname":null,"telephoneNumber":null,"thumbnailPhoto@odata.mediaEditLink":"directoryObjects/e529c1e5-76ca-44a1-9176-61e364c62876/Microsoft.DirectoryServices.User/thumbnailPhoto","usageLocation":null,"userIdentities":[],"userPrincipalName":"contoso_microsoft.com#EXT#@mpliftrconfluent20210809out.onmicrosoft.com","userState":"Accepted","userStateChangedOn":"2021-05-13T09:12:14Z","userType":"Guest"}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1743' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Fri, 14 May 2021 03:35:28 GMT + duration: + - '2365737' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - QWyfqJwmDXSNuE4g8+lFKXcZv4tHNEWcHkadFF2CG3E= + ocp-aad-session-key: + - eYnFB8EO8SCHT61d1rtAdXSMtgVp7ZcfqsqnHGHHbSK3uztz-t8c1eLR7LFqO43BNjU6lhCYOW3wojxEtW-5SGJW57FHJbFddho0UOzmj6yFu6FBcw-VzHSle5sQtc6D.vqT1sBK4HHh19DAlsq6LVgmO6jNSpPP-kuwQxa5RrrA + pragma: + - no-cache + request-id: + - 5574a6af-4352-47c7-990f-540df0a03f5a + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"environment": "Dev"}, "location": "eastus2euap", "properties": + {"offerDetail": {"publisherId": "confluentinc", "id": "confluent-cloud-azure-stag", + "planId": "confluent-cloud-azure-payg-stag", "planName": "Confluent Cloud - + Pay as you Go", "termUnit": "P1M"}, "userDetail": {"firstName": "contoso", "lastName": + "Zhou", "emailAddress": "contoso@microsoft.com"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + Content-Length: + - '370' + Content-Type: + - application/json + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","name":"cliTestOrg","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2021-05-14T03:35:35.7918712Z","provisioningState":"Accepted","organizationId":null,"ssoUrl":null,"offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"Zhou","emailAddress":"contoso@microsoft.com"}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/19c1ae1c-df6b-49ae-8e83-7b97dbb5ad6e?api-version=2021-03-01-preview + cache-control: + - no-cache + content-length: + - '746' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 14 May 2021 03:35:37 GMT + etag: + - '"0e007927-0000-3400-0000-609df0070000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/19c1ae1c-df6b-49ae-8e83-7b97dbb5ad6e?api-version=2021-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:44fd1f8b-df35-48c9-8fa6-f5e19b8bb5be + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created - request: body: null headers: @@ -167,32 +1298,30 @@ interactions: Connection: - keep-alive ParameterSetName: - - --location --offer-detail --user-detail --tags --name --resource-group + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3?api-version=2020-03-01-preview + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/19c1ae1c-df6b-49ae-8e83-7b97dbb5ad6e?api-version=2021-03-01-preview response: body: - string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3","name":"eaa4c32d-eadf-47f5-ab0c-de39eec5cdb3","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","status":"Succeeded","startTime":"2020-12-21T10:08:09.7905307Z","endTime":"2020-12-21T10:09:01.4934333Z","error":{},"properties":null}' + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/19c1ae1c-df6b-49ae-8e83-7b97dbb5ad6e","name":"19c1ae1c-df6b-49ae-8e83-7b97dbb5ad6e","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","status":"Succeeded","startTime":"2021-05-14T03:35:35.732173Z","endTime":"2021-05-14T03:36:07.9089691Z","error":{},"properties":null}' headers: cache-control: - no-cache content-length: - - '513' + - '508' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:12 GMT + - Fri, 14 May 2021 03:36:08 GMT etag: - - '"00002229-0000-3400-0000-5fe0743d0000"' + - '"0200b1ac-0000-3400-0000-609df0270000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -216,33 +1345,31 @@ interactions: Connection: - keep-alive ParameterSetName: - - --location --offer-detail --user-detail --tags --name --resource-group + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg?api-version=2021-03-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","name":"myOrganization","type":"Microsoft.Confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2020-12-21T10:08:10.4539598Z","provisioningState":"Succeeded","organizationId":"bbf3801b-f454-4916-9cde-05b7c7d46765","ssoUrl":"https://stag.cpdev.cloud/login/sso/azure-ad-oidc","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent - Cloud - Pay as you Go","termUnit":"P1M","status":"Subscribed"},"userDetail":{"firstName":"contoso","lastName":"zhou","emailAddress":"contoso@microsoft.com"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","name":"cliTestOrg","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2021-05-14T03:35:35.7918712Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"Zhou","emailAddress":"contoso@microsoft.com"},"organizationId":"e910acdf-8e65-42c6-878f-e7cb8ab8dfe0","ssoUrl":"https://stag.cpdev.cloud/login/sso/e910acdf-8e65-42c6-878f-e7cb8ab8dfe0"}}' headers: cache-control: - no-cache content-length: - - '838' + - '850' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:12 GMT + - Fri, 14 May 2021 03:36:09 GMT etag: - - '"0200b9ea-0000-3400-0000-5fe0743d0000"' + - '"0e007f27-0000-3400-0000-609df0280000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -251,6 +1378,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-providerhub-traffic: + - 'True' status: code: 200 message: OK @@ -268,31 +1397,28 @@ interactions: ParameterSetName: - --created --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg?api-version=2021-03-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","name":"myOrganization","type":"Microsoft.Confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2020-12-21T10:08:10.4539598Z","provisioningState":"Succeeded","organizationId":"bbf3801b-f454-4916-9cde-05b7c7d46765","ssoUrl":"https://stag.cpdev.cloud/login/sso/azure-ad-oidc","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent - Cloud - Pay as you Go","termUnit":"P1M","status":"Subscribed"},"userDetail":{"firstName":"contoso","lastName":"zhou","emailAddress":"contoso@microsoft.com"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","name":"cliTestOrg","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2021-05-14T03:35:35.7918712Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"Zhou","emailAddress":"contoso@microsoft.com"},"organizationId":"e910acdf-8e65-42c6-878f-e7cb8ab8dfe0","ssoUrl":"https://stag.cpdev.cloud/login/sso/e910acdf-8e65-42c6-878f-e7cb8ab8dfe0"}}' headers: cache-control: - no-cache content-length: - - '838' + - '850' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:14 GMT + - Fri, 14 May 2021 03:36:10 GMT etag: - - '"0200b9ea-0000-3400-0000-5fe0743d0000"' + - '"0e007f27-0000-3400-0000-609df0280000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -301,6 +1427,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-providerhub-traffic: + - 'True' status: code: 200 message: OK @@ -318,31 +1446,28 @@ interactions: ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg?api-version=2021-03-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","name":"myOrganization","type":"Microsoft.Confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2020-12-21T10:08:10.4539598Z","provisioningState":"Succeeded","organizationId":"bbf3801b-f454-4916-9cde-05b7c7d46765","ssoUrl":"https://stag.cpdev.cloud/login/sso/azure-ad-oidc","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent - Cloud - Pay as you Go","termUnit":"P1M","status":"Subscribed"},"userDetail":{"firstName":"contoso","lastName":"zhou","emailAddress":"contoso@microsoft.com"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","name":"cliTestOrg","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2021-05-14T03:35:35.7918712Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"Zhou","emailAddress":"contoso@microsoft.com"},"organizationId":"e910acdf-8e65-42c6-878f-e7cb8ab8dfe0","ssoUrl":"https://stag.cpdev.cloud/login/sso/e910acdf-8e65-42c6-878f-e7cb8ab8dfe0"}}' headers: cache-control: - no-cache content-length: - - '838' + - '850' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:15 GMT + - Fri, 14 May 2021 03:36:11 GMT etag: - - '"0200b9ea-0000-3400-0000-5fe0743d0000"' + - '"0e007f27-0000-3400-0000-609df0280000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -351,6 +1476,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-providerhub-traffic: + - 'True' status: code: 200 message: OK @@ -368,29 +1495,26 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations?api-version=2021-03-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","name":"myOrganization","type":"Microsoft.Confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2020-12-21T10:08:10.4539598Z","provisioningState":"Succeeded","organizationId":"bbf3801b-f454-4916-9cde-05b7c7d46765","ssoUrl":"https://stag.cpdev.cloud/login/sso/azure-ad-oidc","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent - Cloud - Pay as you Go","termUnit":"P1M","status":"Subscribed"},"userDetail":{"firstName":"contoso","lastName":"zhou","emailAddress":"contoso@microsoft.com"}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","name":"cliTestOrg","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2021-05-14T03:35:35.7918712Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"Zhou","emailAddress":"contoso@microsoft.com"},"organizationId":"e910acdf-8e65-42c6-878f-e7cb8ab8dfe0","ssoUrl":"https://stag.cpdev.cloud/login/sso/e910acdf-8e65-42c6-878f-e7cb8ab8dfe0"}}]}' headers: cache-control: - no-cache content-length: - - '850' + - '862' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:15 GMT + - Fri, 14 May 2021 03:36:12 GMT expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -399,6 +1523,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-providerhub-traffic: + - 'True' status: code: 200 message: OK @@ -414,39 +1540,40 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group + - -g User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/organizations?api-version=2021-03-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","name":"myOrganization","type":"Microsoft.Confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2020-12-21T10:08:10.4539598Z","provisioningState":"Succeeded","organizationId":"bbf3801b-f454-4916-9cde-05b7c7d46765","ssoUrl":"https://stag.cpdev.cloud/login/sso/azure-ad-oidc","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent - Cloud - Pay as you Go","termUnit":"P1M","status":"Subscribed"},"userDetail":{"firstName":"contoso","lastName":"zhou","emailAddress":"contoso@microsoft.com"}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rohit-test/providers/Microsoft.Confluent/organizations/EmailExists-Test","name":"EmailExists-Test","type":"microsoft.confluent/organizations","location":"westcentralus","tags":{},"properties":{"createdTime":"2021-05-07T09:30:31.6227005Z","provisioningState":"Failed","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-prod","planId":"confluent-cloud-azure-payg-prod","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Failed"},"userDetail":{"firstName":"Liftr","lastName":"Confluent","emailAddress":"mp_liftrconfluent_20210809@outlook.com"}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rohit-test/providers/Microsoft.Confluent/organizations/saas-cleanup-test-1","name":"saas-cleanup-test-1","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{},"properties":{"createdTime":"2021-05-12T06:45:05.0325812Z","provisioningState":"Failed","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Failed"},"userDetail":{"firstName":"Rohit","lastName":"Anand","emailAddress":"rohanand@microsoft.com"}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rohit-test/providers/Microsoft.Confluent/organizations/saas-cleanup-happy","name":"saas-cleanup-happy","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{},"properties":{"createdTime":"2021-05-12T08:06:17.2917712Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"Rohit","lastName":"Anand","emailAddress":"rohanand@microsoft.com"},"organizationId":"b1ddb93a-aace-4813-8051-19eef4662fc6","ssoUrl":"https://stag.cpdev.cloud/login/sso/b1ddb93a-aace-4813-8051-19eef4662fc6"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","name":"cliTestOrg","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"properties":{"createdTime":"2021-05-14T03:35:35.7918712Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"Zhou","emailAddress":"contoso@microsoft.com"},"organizationId":"e910acdf-8e65-42c6-878f-e7cb8ab8dfe0","ssoUrl":"https://stag.cpdev.cloud/login/sso/e910acdf-8e65-42c6-878f-e7cb8ab8dfe0"}}]}' headers: cache-control: - no-cache content-length: - - '850' + - '2948' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:16 GMT + - Fri, 14 May 2021 03:36:14 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-original-request-ids: + - a4fc6a5d-17a5-4cd4-ba15-fde114a918ea + - 57ca7fee-fc0d-4ad0-a002-a2f8fbfda975 status: code: 200 message: OK @@ -468,31 +1595,28 @@ interactions: ParameterSetName: - --tags --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg?api-version=2021-03-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","name":"myOrganization","type":"Microsoft.Confluent/organizations","location":"eastus2euap","tags":{"client":"dev-client","env":"dev"},"properties":{"createdTime":"2020-12-21T10:08:10.4539598Z","provisioningState":"Succeeded","organizationId":"bbf3801b-f454-4916-9cde-05b7c7d46765","ssoUrl":"https://stag.cpdev.cloud/login/sso/azure-ad-oidc","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent - Cloud - Pay as you Go","termUnit":"P1M","status":"Subscribed"},"userDetail":{"firstName":"contoso","lastName":"zhou","emailAddress":"contoso@microsoft.com"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","name":"cliTestOrg","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"client":"dev-client","env":"dev"},"properties":{"createdTime":"2021-05-14T03:35:35.7918712Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"contoso","lastName":"Zhou","emailAddress":"contoso@microsoft.com"},"organizationId":"e910acdf-8e65-42c6-878f-e7cb8ab8dfe0","ssoUrl":"https://stag.cpdev.cloud/login/sso/e910acdf-8e65-42c6-878f-e7cb8ab8dfe0"}}' headers: cache-control: - no-cache content-length: - - '852' + - '864' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:19 GMT + - Fri, 14 May 2021 03:36:17 GMT etag: - - '"0200d4ea-0000-3400-0000-5fe0744e0000"' + - '"0e008027-0000-3400-0000-609df0300000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -501,8 +1625,10 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-providerhub-traffic: + - 'True' x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -522,10 +1648,9 @@ interactions: ParameterSetName: - -y --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization?api-version=2020-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg?api-version=2021-03-01-preview response: body: string: 'null' @@ -537,25 +1662,25 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:22 GMT + - Fri, 14 May 2021 03:36:19 GMT etag: - - '"0200daea-0000-3400-0000-5fe074520000"' + - '"0e008127-0000-3400-0000-609df0330000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/77b5d9f4-b7f9-4e57-ab12-5cba36987e79?api-version=2020-03-01-preview + - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/cbd69d06-55cc-4942-b484-e8b36672fc7a?api-version=2021-03-01-preview pragma: - no-cache request-context: - appId=cid-v1:44fd1f8b-df35-48c9-8fa6-f5e19b8bb5be - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff + x-ms-providerhub-traffic: + - 'True' x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -573,30 +1698,27 @@ interactions: ParameterSetName: - -y --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/77b5d9f4-b7f9-4e57-ab12-5cba36987e79?api-version=2020-03-01-preview + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/cbd69d06-55cc-4942-b484-e8b36672fc7a?api-version=2021-03-01-preview response: body: - string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/77b5d9f4-b7f9-4e57-ab12-5cba36987e79","name":"77b5d9f4-b7f9-4e57-ab12-5cba36987e79","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","status":"Deleting","startTime":"2020-12-21T10:09:21.7821353Z"}' + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/cbd69d06-55cc-4942-b484-e8b36672fc7a","name":"cbd69d06-55cc-4942-b484-e8b36672fc7a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","status":"Deleting","startTime":"2021-05-14T03:36:19.763896Z"}' headers: cache-control: - no-cache content-length: - - '442' + - '437' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:09:53 GMT + - Fri, 14 May 2021 03:36:50 GMT etag: - - '"00002329-0000-3400-0000-5fe074510000"' + - '"0200b2ac-0000-3400-0000-609df0330000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: @@ -618,30 +1740,27 @@ interactions: ParameterSetName: - -y --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/77b5d9f4-b7f9-4e57-ab12-5cba36987e79?api-version=2020-03-01-preview + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/cbd69d06-55cc-4942-b484-e8b36672fc7a?api-version=2021-03-01-preview response: body: - string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/77b5d9f4-b7f9-4e57-ab12-5cba36987e79","name":"77b5d9f4-b7f9-4e57-ab12-5cba36987e79","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","status":"Deleting","startTime":"2020-12-21T10:09:21.7821353Z"}' + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/cbd69d06-55cc-4942-b484-e8b36672fc7a","name":"cbd69d06-55cc-4942-b484-e8b36672fc7a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","status":"Deleting","startTime":"2021-05-14T03:36:19.763896Z"}' headers: cache-control: - no-cache content-length: - - '442' + - '437' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:10:23 GMT + - Fri, 14 May 2021 03:37:20 GMT etag: - - '"00002329-0000-3400-0000-5fe074510000"' + - '"0200b2ac-0000-3400-0000-609df0330000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: @@ -663,30 +1782,27 @@ interactions: ParameterSetName: - -y --name --resource-group User-Agent: - - AZURECLI/2.16.0 azsdk-python-confluentmanagementclient/unknown Python/3.6.9 - (Linux-5.4.0-1031-azure-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.23.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.0 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/77b5d9f4-b7f9-4e57-ab12-5cba36987e79?api-version=2020-03-01-preview + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/cbd69d06-55cc-4942-b484-e8b36672fc7a?api-version=2021-03-01-preview response: body: - string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/77b5d9f4-b7f9-4e57-ab12-5cba36987e79","name":"77b5d9f4-b7f9-4e57-ab12-5cba36987e79","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/myOrganization","status":"Succeeded","startTime":"2020-12-21T10:09:21.7821353Z","endTime":"2020-12-21T10:10:46.6344945Z","error":{},"properties":null}' + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/cbd69d06-55cc-4942-b484-e8b36672fc7a","name":"cbd69d06-55cc-4942-b484-e8b36672fc7a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Confluent/organizations/cliTestOrg","status":"Succeeded","startTime":"2021-05-14T03:36:19.763896Z","endTime":"2021-05-14T03:37:31.5089629Z","error":{},"properties":null}' headers: cache-control: - no-cache content-length: - - '513' + - '508' content-type: - application/json; charset=utf-8 date: - - Mon, 21 Dec 2020 10:10:53 GMT + - Fri, 14 May 2021 03:37:50 GMT etag: - - '"00002429-0000-3400-0000-5fe074a60000"' + - '"020004ad-0000-3400-0000-609df07b0000"' expires: - '-1' pragma: - no-cache - server: - - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py index 41a89b24055..f855240a37a 100644 --- a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py @@ -8,16 +8,19 @@ # regenerated. # -------------------------------------------------------------------------- +import jwt +import mock import os +import azure.cli.command_modules.role.custom from azure.cli.testsdk import ScenarioTest from azure.cli.testsdk import ResourceGroupPreparer from .example_steps import step_terms_list -from .example_steps import step_organization_create from .example_steps import step_organization_show from .example_steps import step_organization_list -from .example_steps import step_organization_list +from .example_steps import step_organization_list2 from .example_steps import step_organization_update from .example_steps import step_organization_delete +from azure_devtools.scenario_tests import AllowLargeResponse from .. import ( try_manual, raise_if, @@ -28,6 +31,72 @@ TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) +def step_offer_detail_show(test, rg, checks=None): + if checks is None: + checks = [] + result = test.cmd('az confluent offer-detail show ' + '--publisher-id confluentinc ' + '--offer-id confluent-cloud-azure-stag', + checks=checks).get_output_in_json() + + # check + for plan in result: + assert plan.get('offerId', None) is not None + assert plan.get('publisherId', None) is not None + for term_unit in plan['termUnits']: + if term_unit.get('termUnits', None): + assert term_unit['termUnits'] in ['P1M', 'P1Y'] + assert term_unit.get('price', None) is not None + assert term_unit.get('termDescription', None) is not None + + +orig_decode = jwt.decode + + +def mock_jwt_decode(jwt_str, **kwargs): + if jwt_str == 'top-secret-token-for-you': + return { + 'given_name': 'contoso', + 'family_name': 'zhou', + 'email': 'contoso@microsoft.com', + 'oid': '00000000-0000-0000-0000-000000000000' + } + else: + return orig_decode(jwt_str, **kwargs) + + +orig_list_role = azure.cli.command_modules.role.custom.list_role_assignments + + +def mock_list_role_assignments(cmd, **kwargs): + if kwargs['assignee'] == '00000000-0000-0000-0000-000000000000': + return [{}] # mock it to pass non-empty check + else: + return orig_list_role(cmd, **kwargs) + + +def step_organization_create(test, rg, checks=None): + if checks is None: + checks = [] + with mock.patch('jwt.decode', mock_jwt_decode): + with mock.patch('azure.cli.command_modules.role.custom.list_role_assignments', mock_list_role_assignments): + test.cmd('az confluent organization create ' + '--location "eastus2euap" ' + '--offer-id "confluent-cloud-azure-stag" ' + '--plan-id "confluent-cloud-azure-payg-stag" ' + '--plan-name "Confluent Cloud - Pay as you Go" ' + '--publisher-id "confluentinc" ' + '--term-unit "P1M" ' + '--tags environment="Dev" ' + '--name "{myOrganization}" ' + '--resource-group "{rg}"', + checks=checks) + test.cmd('az confluent organization wait --created ' + '--name "{myOrganization}" ' + '--resource-group "{rg}"', + checks=[]) + + # Env setup_scenario @try_manual def setup_scenario(test, rg): @@ -47,8 +116,12 @@ def call_scenario(test, rg): step_terms_list(test, rg, checks=[ test.greater_than('length(@)', 1) ]) + step_offer_detail_show(test, rg, checks=[ + test.greater_than('length(@)', 0) + ]) step_organization_create(test, rg, checks=[ test.check("location", "eastus2euap", case_sensitive=False), + # change to real values for userDetail in live tests test.check("userDetail.emailAddress", "contoso@microsoft.com", case_sensitive=False), test.check("userDetail.firstName", "contoso", case_sensitive=False), test.check("userDetail.lastName", "zhou", case_sensitive=False), @@ -57,6 +130,7 @@ def call_scenario(test, rg): ]) step_organization_show(test, rg, checks=[ test.check("location", "eastus2euap", case_sensitive=False), + # change to real values for userDetail in live tests test.check("userDetail.emailAddress", "contoso@microsoft.com", case_sensitive=False), test.check("userDetail.firstName", "contoso", case_sensitive=False), test.check("userDetail.lastName", "zhou", case_sensitive=False), @@ -66,7 +140,7 @@ def call_scenario(test, rg): step_organization_list(test, rg, checks=[ test.greater_than('length(@)', 0), ]) - step_organization_list(test, "", checks=[ + step_organization_list2(test, "", checks=[ test.greater_than('length(@)', 0), ]) step_organization_update(test, rg, checks=[ @@ -85,13 +159,15 @@ def call_scenario(test, rg): @try_manual class ConfluentScenarioTest(ScenarioTest): - @ResourceGroupPreparer(name_prefix='clitestconfluent_myResourceGroup'[:7], key='rg', parameter_name='rg') - def test_confluent_Scenario(self, rg): - + def __init__(self, *args, **kwargs): + super(ConfluentScenarioTest, self).__init__(*args, **kwargs) self.kwargs.update({ - 'myOrganization': 'myOrganization', + 'myOrganization': 'cliTestOrg', }) + @ResourceGroupPreparer(name_prefix='clitestconfluent_myResourceGroup'[:7], key='rg', parameter_name='rg') + @AllowLargeResponse() + def test_confluent_Scenario(self, rg): call_scenario(self, rg) calc_coverage(__file__) raise_if() diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md index 2c19227528c..789db8ad7d9 100644 --- a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md @@ -1,8 +1,8 @@ |Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| -|step_terms_list|successed||||2020-12-23 09:29:24.145616|2020-12-23 09:29:24.545014| -|step_organization_create|successed||||2020-12-23 09:29:24.545830|2020-12-23 09:29:24.758231| -|step_organization_show|successed||||2020-12-23 09:29:24.758816|2020-12-23 09:29:24.824684| -|step_organization_list|successed||||2020-12-23 09:29:24.892757|2020-12-23 09:29:24.958794| -|step_organization_update|successed||||2020-12-23 09:29:24.959393|2020-12-23 09:29:25.029235| -|step_organization_delete|successed||||2020-12-23 09:29:25.029809|2020-12-23 09:29:25.182171| +|step_terms_list|successed||||2021-06-21 02:44:44.694501|2021-06-21 02:44:44.946485| +|step_organization_show|successed||||2021-06-21 02:44:45.356491|2021-06-21 02:44:45.449457| +|step_organization_list|successed||||2021-06-21 02:44:45.449457|2021-06-21 02:44:45.571478| +|step_organization_list2|successed||||2021-06-21 02:44:45.572449|2021-06-21 02:44:45.670480| +|step_organization_update|successed||||2021-06-21 02:44:45.671479|2021-06-21 02:44:45.766477| +|step_organization_delete|successed||||2021-06-21 02:44:45.767451|2021-06-21 02:44:45.991454| Coverage: 6/6 diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/__init__.py b/src/confluent/azext_confluent/vendored_sdks/confluent/__init__.py index 64fa1c3df06..8531fdbc09a 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/__init__.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/__init__.py @@ -7,6 +7,9 @@ # -------------------------------------------------------------------------- from ._confluent_management_client import ConfluentManagementClient +from ._version import VERSION + +__version__ = VERSION __all__ = ['ConfluentManagementClient'] try: diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/_configuration.py b/src/confluent/azext_confluent/vendored_sdks/confluent/_configuration.py index 0e7a7f52990..0b48dbf156a 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/_configuration.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/_configuration.py @@ -12,13 +12,14 @@ from azure.core.pipeline import policies from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from ._version import VERSION + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from typing import Any from azure.core.credentials import TokenCredential -VERSION = "unknown" class ConfluentManagementClientConfiguration(Configuration): """Configuration for ConfluentManagementClient. @@ -47,9 +48,9 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2020-03-01-preview" + self.api_version = "2021-03-01-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'confluentmanagementclient/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'mgmt-confluent/{}'.format(VERSION)) self._configure(**kwargs) def _configure( diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/_confluent_management_client.py b/src/confluent/azext_confluent/vendored_sdks/confluent/_confluent_management_client.py index 8cb2fd1a0b7..1510fb4645f 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/_confluent_management_client.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/_confluent_management_client.py @@ -18,21 +18,24 @@ from azure.core.credentials import TokenCredential from ._configuration import ConfluentManagementClientConfiguration -from .operations import MarketplaceAgreementOperations -from .operations import OrganizationOperationOperations +from .operations import MarketplaceAgreementsOperations +from .operations import OrganizationOperationsOperations from .operations import OrganizationOperations +from .operations import ValidationsOperations from . import models class ConfluentManagementClient(object): """ConfluentManagementClient. - :ivar marketplace_agreement: MarketplaceAgreementOperations operations - :vartype marketplace_agreement: confluent_management_client.operations.MarketplaceAgreementOperations - :ivar organization_operation: OrganizationOperationOperations operations - :vartype organization_operation: confluent_management_client.operations.OrganizationOperationOperations + :ivar marketplace_agreements: MarketplaceAgreementsOperations operations + :vartype marketplace_agreements: azure.mgmt.confluent.operations.MarketplaceAgreementsOperations + :ivar organization_operations: OrganizationOperationsOperations operations + :vartype organization_operations: azure.mgmt.confluent.operations.OrganizationOperationsOperations :ivar organization: OrganizationOperations operations - :vartype organization: confluent_management_client.operations.OrganizationOperations + :vartype organization: azure.mgmt.confluent.operations.OrganizationOperations + :ivar validations: ValidationsOperations operations + :vartype validations: azure.mgmt.confluent.operations.ValidationsOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: Microsoft Azure subscription id. @@ -56,14 +59,17 @@ def __init__( client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.marketplace_agreement = MarketplaceAgreementOperations( + self.marketplace_agreements = MarketplaceAgreementsOperations( self._client, self._config, self._serialize, self._deserialize) - self.organization_operation = OrganizationOperationOperations( + self.organization_operations = OrganizationOperationsOperations( self._client, self._config, self._serialize, self._deserialize) self.organization = OrganizationOperations( self._client, self._config, self._serialize, self._deserialize) + self.validations = ValidationsOperations( + self._client, self._config, self._serialize, self._deserialize) def close(self): # type: () -> None diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/_version.py b/src/confluent/azext_confluent/vendored_sdks/confluent/_version.py new file mode 100644 index 00000000000..e5754a47ce6 --- /dev/null +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/_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.0.0b1" diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_configuration.py b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_configuration.py index f92f2a958c7..c963369cfd9 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_configuration.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_configuration.py @@ -12,11 +12,12 @@ from azure.core.pipeline import policies from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from .._version import VERSION + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -VERSION = "unknown" class ConfluentManagementClientConfiguration(Configuration): """Configuration for ConfluentManagementClient. @@ -44,9 +45,9 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2020-03-01-preview" + self.api_version = "2021-03-01-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'confluentmanagementclient/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'mgmt-confluent/{}'.format(VERSION)) self._configure(**kwargs) def _configure( diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_confluent_management_client.py b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_confluent_management_client.py index 2386e6f920d..22f9f0f6696 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_confluent_management_client.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/_confluent_management_client.py @@ -16,21 +16,24 @@ from azure.core.credentials_async import AsyncTokenCredential from ._configuration import ConfluentManagementClientConfiguration -from .operations import MarketplaceAgreementOperations -from .operations import OrganizationOperationOperations +from .operations import MarketplaceAgreementsOperations +from .operations import OrganizationOperationsOperations from .operations import OrganizationOperations +from .operations import ValidationsOperations from .. import models class ConfluentManagementClient(object): """ConfluentManagementClient. - :ivar marketplace_agreement: MarketplaceAgreementOperations operations - :vartype marketplace_agreement: confluent_management_client.aio.operations.MarketplaceAgreementOperations - :ivar organization_operation: OrganizationOperationOperations operations - :vartype organization_operation: confluent_management_client.aio.operations.OrganizationOperationOperations + :ivar marketplace_agreements: MarketplaceAgreementsOperations operations + :vartype marketplace_agreements: azure.mgmt.confluent.aio.operations.MarketplaceAgreementsOperations + :ivar organization_operations: OrganizationOperationsOperations operations + :vartype organization_operations: azure.mgmt.confluent.aio.operations.OrganizationOperationsOperations :ivar organization: OrganizationOperations operations - :vartype organization: confluent_management_client.aio.operations.OrganizationOperations + :vartype organization: azure.mgmt.confluent.aio.operations.OrganizationOperations + :ivar validations: ValidationsOperations operations + :vartype validations: azure.mgmt.confluent.aio.operations.ValidationsOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: Microsoft Azure subscription id. @@ -53,14 +56,17 @@ def __init__( client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.marketplace_agreement = MarketplaceAgreementOperations( + self.marketplace_agreements = MarketplaceAgreementsOperations( self._client, self._config, self._serialize, self._deserialize) - self.organization_operation = OrganizationOperationOperations( + self.organization_operations = OrganizationOperationsOperations( self._client, self._config, self._serialize, self._deserialize) self.organization = OrganizationOperations( self._client, self._config, self._serialize, self._deserialize) + self.validations = ValidationsOperations( + self._client, self._config, self._serialize, self._deserialize) async def close(self) -> None: await self._client.close() diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/__init__.py b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/__init__.py index d755f95eb5e..e07bcdedfc8 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/__init__.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/__init__.py @@ -6,12 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._marketplace_agreement_operations import MarketplaceAgreementOperations -from ._organization_operation_operations import OrganizationOperationOperations +from ._marketplace_agreements_operations import MarketplaceAgreementsOperations +from ._organization_operations_operations import OrganizationOperationsOperations from ._organization_operations import OrganizationOperations +from ._validations_operations import ValidationsOperations __all__ = [ - 'MarketplaceAgreementOperations', - 'OrganizationOperationOperations', + 'MarketplaceAgreementsOperations', + 'OrganizationOperationsOperations', 'OrganizationOperations', + 'ValidationsOperations', ] diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_marketplace_agreement_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_marketplace_agreements_operations.py similarity index 91% rename from src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_marketplace_agreement_operations.py rename to src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_marketplace_agreements_operations.py index 1d656fad86c..f12f0d80eb2 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_marketplace_agreement_operations.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_marketplace_agreements_operations.py @@ -19,14 +19,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MarketplaceAgreementOperations: - """MarketplaceAgreementOperations async operations. +class MarketplaceAgreementsOperations: + """MarketplaceAgreementsOperations 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: ~confluent_management_client.models + :type models: ~azure.mgmt.confluent.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -51,7 +51,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ConfluentAgreementResourceListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~confluent_management_client.models.ConfluentAgreementResourceListResponse] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.confluent.models.ConfluentAgreementResourceListResponse] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfluentAgreementResourceListResponse"] @@ -59,7 +59,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -112,18 +112,18 @@ async def get_next(next_link=None): async def create( self, - properties: Optional["models.ConfluentAgreementProperties"] = None, + body: Optional["models.ConfluentAgreementResource"] = None, **kwargs ) -> "models.ConfluentAgreementResource": """Create Confluent Marketplace agreement in the subscription. Create Confluent Marketplace agreement in the subscription. - :param properties: Represents the properties of the resource. - :type properties: ~confluent_management_client.models.ConfluentAgreementProperties + :param body: Confluent Marketplace Agreement resource. + :type body: ~azure.mgmt.confluent.models.ConfluentAgreementResource :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfluentAgreementResource, or the result of cls(response) - :rtype: ~confluent_management_client.models.ConfluentAgreementResource + :rtype: ~azure.mgmt.confluent.models.ConfluentAgreementResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfluentAgreementResource"] @@ -131,9 +131,7 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - - body = models.ConfluentAgreementResource(properties=properties) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operations.py index cd327771a86..e06c0121dbc 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operations.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operations.py @@ -28,7 +28,7 @@ class OrganizationOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~confluent_management_client.models + :type models: ~azure.mgmt.confluent.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -53,7 +53,7 @@ def list_by_subscription( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OrganizationResourceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~confluent_management_client.models.OrganizationResourceListResult] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.confluent.models.OrganizationResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResourceListResult"] @@ -61,7 +61,7 @@ def list_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -125,7 +125,7 @@ def list_by_resource_group( :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 OrganizationResourceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~confluent_management_client.models.OrganizationResourceListResult] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.confluent.models.OrganizationResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResourceListResult"] @@ -133,7 +133,7 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -201,7 +201,7 @@ async def get( :type organization_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: OrganizationResource, or the result of cls(response) - :rtype: ~confluent_management_client.models.OrganizationResource + :rtype: ~azure.mgmt.confluent.models.OrganizationResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResource"] @@ -209,7 +209,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" # Construct URL @@ -250,11 +250,7 @@ async def _create_initial( self, resource_group_name: str, organization_name: str, - tags: Optional[Dict[str, str]] = None, - location: Optional[str] = None, - provisioning_state: Optional[Union[str, "models.ProvisionState"]] = None, - offer_detail: Optional["models.OfferDetail"] = None, - user_detail: Optional["models.UserDetail"] = None, + body: Optional["models.OrganizationResource"] = None, **kwargs ) -> "models.OrganizationResource": cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResource"] @@ -262,9 +258,7 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - - body = models.OrganizationResource(tags=tags, location=location, provisioning_state=provisioning_state, offer_detail=offer_detail, user_detail=user_detail) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -317,11 +311,7 @@ async def begin_create( self, resource_group_name: str, organization_name: str, - tags: Optional[Dict[str, str]] = None, - location: Optional[str] = None, - provisioning_state: Optional[Union[str, "models.ProvisionState"]] = None, - offer_detail: Optional["models.OfferDetail"] = None, - user_detail: Optional["models.UserDetail"] = None, + body: Optional["models.OrganizationResource"] = None, **kwargs ) -> AsyncLROPoller["models.OrganizationResource"]: """Create Organization resource. @@ -332,16 +322,8 @@ async def begin_create( :type resource_group_name: str :param organization_name: Organization resource name. :type organization_name: str - :param tags: Organization resource tags. - :type tags: dict[str, str] - :param location: Location of Organization resource. - :type location: str - :param provisioning_state: Provision states for confluent RP. - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :param body: Organization resource model. + :type body: ~azure.mgmt.confluent.models.OrganizationResource :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -349,7 +331,7 @@ async def begin_create( :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of AsyncLROPoller that returns either OrganizationResource or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~confluent_management_client.models.OrganizationResource] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.confluent.models.OrganizationResource] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] @@ -363,11 +345,7 @@ async def begin_create( raw_result = await self._create_initial( resource_group_name=resource_group_name, organization_name=organization_name, - tags=tags, - location=location, - provisioning_state=provisioning_state, - offer_detail=offer_detail, - user_detail=user_detail, + body=body, cls=lambda x,y,z: x, **kwargs ) @@ -406,7 +384,7 @@ async def update( self, resource_group_name: str, organization_name: str, - tags: Optional[Dict[str, str]] = None, + body: Optional["models.OrganizationResourceUpdate"] = None, **kwargs ) -> "models.OrganizationResource": """Update Organization resource. @@ -417,11 +395,11 @@ async def update( :type resource_group_name: str :param organization_name: Organization resource name. :type organization_name: str - :param tags: ARM resource tags. - :type tags: dict[str, str] + :param body: Updated Organization resource. + :type body: ~azure.mgmt.confluent.models.OrganizationResourceUpdate :keyword callable cls: A custom type or function that will be passed the direct response :return: OrganizationResource, or the result of cls(response) - :rtype: ~confluent_management_client.models.OrganizationResource + :rtype: ~azure.mgmt.confluent.models.OrganizationResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResource"] @@ -429,9 +407,7 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - - body = models.OrganizationResourceUpdate(tags=tags) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -487,7 +463,7 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" # Construct URL diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operation_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operations_operations.py similarity index 93% rename from src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operation_operations.py rename to src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operations_operations.py index 569fe905b18..8ab2a4bb500 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operation_operations.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_organization_operations_operations.py @@ -19,14 +19,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class OrganizationOperationOperations: - """OrganizationOperationOperations async operations. +class OrganizationOperationsOperations: + """OrganizationOperationsOperations 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: ~confluent_management_client.models + :type models: ~azure.mgmt.confluent.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -51,7 +51,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~confluent_management_client.models.OperationListResult] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.confluent.models.OperationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] @@ -59,7 +59,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_validations_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_validations_operations.py new file mode 100644 index 00000000000..bd293747e5b --- /dev/null +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/aio/operations/_validations_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 Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 ValidationsOperations: + """ValidationsOperations 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.confluent.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 validate_organization( + self, + resource_group_name: str, + organization_name: str, + body: "models.OrganizationResource", + **kwargs + ) -> "models.OrganizationResource": + """Organization Validate proxy resource. + + Organization Validate proxy resource. + + :param resource_group_name: Resource group name. + :type resource_group_name: str + :param organization_name: Organization resource name. + :type organization_name: str + :param body: Organization resource model. + :type body: ~azure.mgmt.confluent.models.OrganizationResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrganizationResource, or the result of cls(response) + :rtype: ~azure.mgmt.confluent.models.OrganizationResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_organization.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'organizationName': self._serialize.url("organization_name", organization_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'OrganizationResource') + 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.ResourceProviderDefaultErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OrganizationResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_organization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/validations/{organizationName}/orgvalidate'} # type: ignore diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/models/__init__.py b/src/confluent/azext_confluent/vendored_sdks/confluent/models/__init__.py index 74def73f0f6..9744155717f 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/models/__init__.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/models/__init__.py @@ -7,7 +7,6 @@ # -------------------------------------------------------------------------- try: - from ._models_py3 import ConfluentAgreementProperties from ._models_py3 import ConfluentAgreementResource from ._models_py3 import ConfluentAgreementResourceListResponse from ._models_py3 import ErrorResponseBody @@ -17,15 +16,11 @@ from ._models_py3 import OperationResult from ._models_py3 import OrganizationResource from ._models_py3 import OrganizationResourceListResult - from ._models_py3 import OrganizationResourceProperties - from ._models_py3 import OrganizationResourcePropertiesOfferDetail - from ._models_py3 import OrganizationResourcePropertiesUserDetail - from ._models_py3 import OrganizationResourcePropertiesautogenerated from ._models_py3 import OrganizationResourceUpdate from ._models_py3 import ResourceProviderDefaultErrorResponse + from ._models_py3 import SystemData from ._models_py3 import UserDetail except (SyntaxError, ImportError): - from ._models import ConfluentAgreementProperties # type: ignore from ._models import ConfluentAgreementResource # type: ignore from ._models import ConfluentAgreementResourceListResponse # type: ignore from ._models import ErrorResponseBody # type: ignore @@ -35,21 +30,18 @@ from ._models import OperationResult # type: ignore from ._models import OrganizationResource # type: ignore from ._models import OrganizationResourceListResult # type: ignore - from ._models import OrganizationResourceProperties # type: ignore - from ._models import OrganizationResourcePropertiesOfferDetail # type: ignore - from ._models import OrganizationResourcePropertiesUserDetail # type: ignore - from ._models import OrganizationResourcePropertiesautogenerated # type: ignore from ._models import OrganizationResourceUpdate # type: ignore from ._models import ResourceProviderDefaultErrorResponse # type: ignore + from ._models import SystemData # type: ignore from ._models import UserDetail # type: ignore from ._confluent_management_client_enums import ( + CreatedByType, ProvisionState, SaaSOfferStatus, ) __all__ = [ - 'ConfluentAgreementProperties', 'ConfluentAgreementResource', 'ConfluentAgreementResourceListResponse', 'ErrorResponseBody', @@ -59,13 +51,11 @@ 'OperationResult', 'OrganizationResource', 'OrganizationResourceListResult', - 'OrganizationResourceProperties', - 'OrganizationResourcePropertiesOfferDetail', - 'OrganizationResourcePropertiesUserDetail', - 'OrganizationResourcePropertiesautogenerated', 'OrganizationResourceUpdate', 'ResourceProviderDefaultErrorResponse', + 'SystemData', 'UserDetail', + 'CreatedByType', 'ProvisionState', 'SaaSOfferStatus', ] diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/models/_confluent_management_client_enums.py b/src/confluent/azext_confluent/vendored_sdks/confluent/models/_confluent_management_client_enums.py index 77de969ccd0..93b95b746f2 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/models/_confluent_management_client_enums.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/models/_confluent_management_client_enums.py @@ -26,6 +26,15 @@ def __getattr__(cls, name): raise AttributeError(name) +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + class ProvisionState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Provision states for confluent RP """ diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models.py b/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models.py index bc45061e120..667c5448e0d 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models.py @@ -10,9 +10,19 @@ import msrest.serialization -class ConfluentAgreementProperties(msrest.serialization.Model): - """Terms properties for Marketplace and Confluent. +class ConfluentAgreementResource(msrest.serialization.Model): + """Agreement Terms definition. + + Variables are only populated by the server, and will be ignored when sending a request. + :ivar id: The ARM id of the resource. + :vartype id: str + :ivar name: The name of the agreement. + :vartype name: str + :ivar type: The type of the agreement. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.confluent.models.SystemData :param publisher: Publisher identifier string. :type publisher: str :param product: Product identifier string. @@ -32,58 +42,26 @@ class ConfluentAgreementProperties(msrest.serialization.Model): :type accepted: bool """ - _attribute_map = { - 'publisher': {'key': 'publisher', 'type': 'str'}, - 'product': {'key': 'product', 'type': 'str'}, - 'plan': {'key': 'plan', 'type': 'str'}, - 'license_text_link': {'key': 'licenseTextLink', 'type': 'str'}, - 'privacy_policy_link': {'key': 'privacyPolicyLink', 'type': 'str'}, - 'retrieve_datetime': {'key': 'retrieveDatetime', 'type': 'iso-8601'}, - 'signature': {'key': 'signature', 'type': 'str'}, - 'accepted': {'key': 'accepted', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ConfluentAgreementProperties, self).__init__(**kwargs) - self.publisher = kwargs.get('publisher', None) - self.product = kwargs.get('product', None) - self.plan = kwargs.get('plan', None) - self.license_text_link = kwargs.get('license_text_link', None) - self.privacy_policy_link = kwargs.get('privacy_policy_link', None) - self.retrieve_datetime = kwargs.get('retrieve_datetime', None) - self.signature = kwargs.get('signature', None) - self.accepted = kwargs.get('accepted', None) - - -class ConfluentAgreementResource(msrest.serialization.Model): - """Agreement Terms definition. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The ARM id of the resource. - :vartype id: str - :ivar name: The name of the agreement. - :vartype name: str - :ivar type: The type of the agreement. - :vartype type: str - :param properties: Represents the properties of the resource. - :type properties: ~confluent_management_client.models.ConfluentAgreementProperties - """ - _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'ConfluentAgreementProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'publisher': {'key': 'properties.publisher', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'plan': {'key': 'properties.plan', 'type': 'str'}, + 'license_text_link': {'key': 'properties.licenseTextLink', 'type': 'str'}, + 'privacy_policy_link': {'key': 'properties.privacyPolicyLink', 'type': 'str'}, + 'retrieve_datetime': {'key': 'properties.retrieveDatetime', 'type': 'iso-8601'}, + 'signature': {'key': 'properties.signature', 'type': 'str'}, + 'accepted': {'key': 'properties.accepted', 'type': 'bool'}, } def __init__( @@ -94,14 +72,22 @@ def __init__( self.id = None self.name = None self.type = None - self.properties = kwargs.get('properties', None) + self.system_data = None + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.plan = kwargs.get('plan', None) + self.license_text_link = kwargs.get('license_text_link', None) + self.privacy_policy_link = kwargs.get('privacy_policy_link', None) + self.retrieve_datetime = kwargs.get('retrieve_datetime', None) + self.signature = kwargs.get('signature', None) + self.accepted = kwargs.get('accepted', None) class ConfluentAgreementResourceListResponse(msrest.serialization.Model): - """Response of a agreements operation. + """Response of a list operation. :param value: Results of a list operation. - :type value: list[~confluent_management_client.models.ConfluentAgreementResource] + :type value: list[~azure.mgmt.confluent.models.ConfluentAgreementResource] :param next_link: Link to the next set of results, if any. :type next_link: str """ @@ -132,7 +118,7 @@ class ErrorResponseBody(msrest.serialization.Model): :ivar target: Error target. :vartype target: str :ivar details: Error detail. - :vartype details: list[~confluent_management_client.models.ErrorResponseBody] + :vartype details: list[~azure.mgmt.confluent.models.ErrorResponseBody] """ _validation = { @@ -163,28 +149,30 @@ def __init__( class OfferDetail(msrest.serialization.Model): """Confluent Offer detail. - :param publisher_id: Publisher Id. + All required parameters must be populated in order to send to Azure. + + :param publisher_id: Required. Publisher Id. :type publisher_id: str - :param id: Offer Id. + :param id: Required. Offer Id. :type id: str - :param plan_id: Offer Plan Id. + :param plan_id: Required. Offer Plan Id. :type plan_id: str - :param plan_name: Offer Plan Name. + :param plan_name: Required. Offer Plan Name. :type plan_name: str - :param term_unit: Offer Plan Term unit. + :param term_unit: Required. Offer Plan Term unit. :type term_unit: str :param status: SaaS Offer Status. Possible values include: "Started", "PendingFulfillmentStart", "InProgress", "Subscribed", "Suspended", "Reinstated", "Succeeded", "Failed", "Unsubscribed", "Updating". - :type status: str or ~confluent_management_client.models.SaaSOfferStatus + :type status: str or ~azure.mgmt.confluent.models.SaaSOfferStatus """ _validation = { - 'publisher_id': {'max_length': 50, 'min_length': 0}, - 'id': {'max_length': 50, 'min_length': 0}, - 'plan_id': {'max_length': 50, 'min_length': 0}, - 'plan_name': {'max_length': 50, 'min_length': 0}, - 'term_unit': {'max_length': 25, 'min_length': 0}, + 'publisher_id': {'required': True, 'max_length': 50, 'min_length': 0}, + 'id': {'required': True, 'max_length': 50, 'min_length': 0}, + 'plan_id': {'required': True, 'max_length': 50, 'min_length': 0}, + 'plan_name': {'required': True, 'max_length': 50, 'min_length': 0}, + 'term_unit': {'required': True, 'max_length': 25, 'min_length': 0}, } _attribute_map = { @@ -201,11 +189,11 @@ def __init__( **kwargs ): super(OfferDetail, self).__init__(**kwargs) - self.publisher_id = kwargs.get('publisher_id', None) - self.id = kwargs.get('id', None) - self.plan_id = kwargs.get('plan_id', None) - self.plan_name = kwargs.get('plan_name', None) - self.term_unit = kwargs.get('term_unit', None) + self.publisher_id = kwargs['publisher_id'] + self.id = kwargs['id'] + self.plan_id = kwargs['plan_id'] + self.plan_name = kwargs['plan_name'] + self.term_unit = kwargs['term_unit'] self.status = kwargs.get('status', None) @@ -244,7 +232,7 @@ class OperationListResult(msrest.serialization.Model): """Result of GET request to list Confluent operations. :param value: List of Confluent operations supported by the Microsoft.Confluent provider. - :type value: list[~confluent_management_client.models.OperationResult] + :type value: list[~azure.mgmt.confluent.models.OperationResult] :param next_link: URL to get the next set of operation list results if there are any. :type next_link: str """ @@ -269,12 +257,15 @@ class OperationResult(msrest.serialization.Model): :param name: Operation name: {provider}/{resource}/{operation}. :type name: str :param display: The object that represents the operation. - :type display: ~confluent_management_client.models.OperationDisplay + :type display: ~azure.mgmt.confluent.models.OperationDisplay + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } def __init__( @@ -284,6 +275,7 @@ def __init__( super(OperationResult, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.display = kwargs.get('display', None) + self.is_data_action = kwargs.get('is_data_action', None) class OrganizationResource(msrest.serialization.Model): @@ -291,45 +283,54 @@ class OrganizationResource(msrest.serialization.Model): Variables are only populated 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 ARM id of 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 + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.confluent.models.SystemData :param tags: A set of tags. Organization resource tags. :type tags: dict[str, str] :param location: Location of Organization resource. :type location: str :ivar created_time: The creation time of the resource. :vartype created_time: ~datetime.datetime - :param provisioning_state: Provision states for confluent RP. Possible values include: + :ivar provisioning_state: Provision states for confluent RP. Possible values include: "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", "NotSpecified". - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState + :vartype provisioning_state: str or ~azure.mgmt.confluent.models.ProvisionState :ivar organization_id: Id of the Confluent organization. :vartype organization_id: str :ivar sso_url: SSO url for the Confluent organization. :vartype sso_url: str - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :param offer_detail: Required. Confluent offer detail. + :type offer_detail: ~azure.mgmt.confluent.models.OfferDetail + :param user_detail: Required. Subscriber detail. + :type user_detail: ~azure.mgmt.confluent.models.UserDetail """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, 'created_time': {'readonly': True}, + 'provisioning_state': {'readonly': True}, 'organization_id': {'readonly': True}, 'sso_url': {'readonly': True}, + 'offer_detail': {'required': True}, + 'user_detail': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, @@ -348,21 +349,22 @@ def __init__( self.id = None self.name = None self.type = None + self.system_data = None self.tags = kwargs.get('tags', None) self.location = kwargs.get('location', None) self.created_time = None - self.provisioning_state = kwargs.get('provisioning_state', None) + self.provisioning_state = None self.organization_id = None self.sso_url = None - self.offer_detail = kwargs.get('offer_detail', None) - self.user_detail = kwargs.get('user_detail', None) + self.offer_detail = kwargs['offer_detail'] + self.user_detail = kwargs['user_detail'] class OrganizationResourceListResult(msrest.serialization.Model): """The response of a list operation. :param value: Result of a list operation. - :type value: list[~confluent_management_client.models.OrganizationResource] + :type value: list[~azure.mgmt.confluent.models.OrganizationResource] :param next_link: Link to the next set of results, if any. :type next_link: str """ @@ -381,156 +383,108 @@ def __init__( self.next_link = kwargs.get('next_link', None) -class OrganizationResourceProperties(msrest.serialization.Model): - """Organization resource property. - - Variables are only populated by the server, and will be ignored when sending a request. +class OrganizationResourceUpdate(msrest.serialization.Model): + """Organization Resource update. - :ivar created_time: The creation time of the resource. - :vartype created_time: ~datetime.datetime - :param provisioning_state: Provision states for confluent RP. Possible values include: - "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", - "NotSpecified". - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState - :ivar organization_id: Id of the Confluent organization. - :vartype organization_id: str - :ivar sso_url: SSO url for the Confluent organization. - :vartype sso_url: str - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :param tags: A set of tags. ARM resource tags. + :type tags: dict[str, str] """ - _validation = { - 'created_time': {'readonly': True}, - 'organization_id': {'readonly': True}, - 'sso_url': {'readonly': True}, - } - _attribute_map = { - 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'organization_id': {'key': 'organizationId', 'type': 'str'}, - 'sso_url': {'key': 'ssoUrl', 'type': 'str'}, - 'offer_detail': {'key': 'offerDetail', 'type': 'OfferDetail'}, - 'user_detail': {'key': 'userDetail', 'type': 'UserDetail'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__( self, **kwargs ): - super(OrganizationResourceProperties, self).__init__(**kwargs) - self.created_time = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.organization_id = None - self.sso_url = None - self.offer_detail = kwargs.get('offer_detail', None) - self.user_detail = kwargs.get('user_detail', None) + super(OrganizationResourceUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) -class OrganizationResourcePropertiesautogenerated(OrganizationResourceProperties): - """Organization resource properties. +class ResourceProviderDefaultErrorResponse(msrest.serialization.Model): + """Default error response for resource provider. Variables are only populated by the server, and will be ignored when sending a request. - :ivar created_time: The creation time of the resource. - :vartype created_time: ~datetime.datetime - :param provisioning_state: Provision states for confluent RP. Possible values include: - "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", - "NotSpecified". - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState - :ivar organization_id: Id of the Confluent organization. - :vartype organization_id: str - :ivar sso_url: SSO url for the Confluent organization. - :vartype sso_url: str - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :ivar error: Response body of Error. + :vartype error: ~azure.mgmt.confluent.models.ErrorResponseBody """ _validation = { - 'created_time': {'readonly': True}, - 'organization_id': {'readonly': True}, - 'sso_url': {'readonly': True}, + 'error': {'readonly': True}, } _attribute_map = { - 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'organization_id': {'key': 'organizationId', 'type': 'str'}, - 'sso_url': {'key': 'ssoUrl', 'type': 'str'}, - 'offer_detail': {'key': 'offerDetail', 'type': 'OfferDetail'}, - 'user_detail': {'key': 'userDetail', 'type': 'UserDetail'}, + 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, } def __init__( self, **kwargs ): - super(OrganizationResourcePropertiesautogenerated, self).__init__(**kwargs) - + super(ResourceProviderDefaultErrorResponse, self).__init__(**kwargs) + self.error = None -class OrganizationResourcePropertiesOfferDetail(OfferDetail): - """Confluent offer detail. - :param publisher_id: Publisher Id. - :type publisher_id: str - :param id: Offer Id. - :type id: str - :param plan_id: Offer Plan Id. - :type plan_id: str - :param plan_name: Offer Plan Name. - :type plan_name: str - :param term_unit: Offer Plan Term unit. - :type term_unit: str - :param status: SaaS Offer Status. Possible values include: "Started", - "PendingFulfillmentStart", "InProgress", "Subscribed", "Suspended", "Reinstated", "Succeeded", - "Failed", "Unsubscribed", "Updating". - :type status: str or ~confluent_management_client.models.SaaSOfferStatus +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.confluent.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.confluent.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime """ - _validation = { - 'publisher_id': {'max_length': 50, 'min_length': 0}, - 'id': {'max_length': 50, 'min_length': 0}, - 'plan_id': {'max_length': 50, 'min_length': 0}, - 'plan_name': {'max_length': 50, 'min_length': 0}, - 'term_unit': {'max_length': 25, 'min_length': 0}, - } - _attribute_map = { - 'publisher_id': {'key': 'publisherId', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'plan_id': {'key': 'planId', 'type': 'str'}, - 'plan_name': {'key': 'planName', 'type': 'str'}, - 'term_unit': {'key': 'termUnit', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } def __init__( self, **kwargs ): - super(OrganizationResourcePropertiesOfferDetail, self).__init__(**kwargs) + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) class UserDetail(msrest.serialization.Model): """Subscriber detail. + All required parameters must be populated in order to send to Azure. + :param first_name: First name. :type first_name: str :param last_name: Last name. :type last_name: str - :param email_address: Email address. + :param email_address: Required. Email address. :type email_address: str """ _validation = { 'first_name': {'max_length': 50, 'min_length': 0}, 'last_name': {'max_length': 50, 'min_length': 0}, - 'email_address': {'pattern': r'^\S+@\S+\.\S+$'}, + 'email_address': {'required': True, 'pattern': r'^\S+@\S+\.\S+$'}, } _attribute_map = { @@ -546,78 +500,4 @@ def __init__( super(UserDetail, self).__init__(**kwargs) self.first_name = kwargs.get('first_name', None) self.last_name = kwargs.get('last_name', None) - self.email_address = kwargs.get('email_address', None) - - -class OrganizationResourcePropertiesUserDetail(UserDetail): - """Subscriber detail. - - :param first_name: First name. - :type first_name: str - :param last_name: Last name. - :type last_name: str - :param email_address: Email address. - :type email_address: str - """ - - _validation = { - 'first_name': {'max_length': 50, 'min_length': 0}, - 'last_name': {'max_length': 50, 'min_length': 0}, - 'email_address': {'pattern': r'^\S+@\S+\.\S+$'}, - } - - _attribute_map = { - 'first_name': {'key': 'firstName', 'type': 'str'}, - 'last_name': {'key': 'lastName', 'type': 'str'}, - 'email_address': {'key': 'emailAddress', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OrganizationResourcePropertiesUserDetail, self).__init__(**kwargs) - - -class OrganizationResourceUpdate(msrest.serialization.Model): - """Organization Resource update. - - :param tags: A set of tags. ARM resource tags. - :type tags: dict[str, str] - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(OrganizationResourceUpdate, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - - -class ResourceProviderDefaultErrorResponse(msrest.serialization.Model): - """Default error response for resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar error: Response body of Error. - :vartype error: ~confluent_management_client.models.ErrorResponseBody - """ - - _validation = { - 'error': {'readonly': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderDefaultErrorResponse, self).__init__(**kwargs) - self.error = None + self.email_address = kwargs['email_address'] diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models_py3.py b/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models_py3.py index 857fc9379ee..7e5fef6d9e2 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models_py3.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/models/_models_py3.py @@ -15,9 +15,19 @@ from ._confluent_management_client_enums import * -class ConfluentAgreementProperties(msrest.serialization.Model): - """Terms properties for Marketplace and Confluent. +class ConfluentAgreementResource(msrest.serialization.Model): + """Agreement Terms definition. + + Variables are only populated by the server, and will be ignored when sending a request. + :ivar id: The ARM id of the resource. + :vartype id: str + :ivar name: The name of the agreement. + :vartype name: str + :ivar type: The type of the agreement. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.confluent.models.SystemData :param publisher: Publisher identifier string. :type publisher: str :param product: Product identifier string. @@ -37,15 +47,26 @@ class ConfluentAgreementProperties(msrest.serialization.Model): :type accepted: bool """ + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + _attribute_map = { - 'publisher': {'key': 'publisher', 'type': 'str'}, - 'product': {'key': 'product', 'type': 'str'}, - 'plan': {'key': 'plan', 'type': 'str'}, - 'license_text_link': {'key': 'licenseTextLink', 'type': 'str'}, - 'privacy_policy_link': {'key': 'privacyPolicyLink', 'type': 'str'}, - 'retrieve_datetime': {'key': 'retrieveDatetime', 'type': 'iso-8601'}, - 'signature': {'key': 'signature', 'type': 'str'}, - 'accepted': {'key': 'accepted', 'type': 'bool'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'publisher': {'key': 'properties.publisher', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'plan': {'key': 'properties.plan', 'type': 'str'}, + 'license_text_link': {'key': 'properties.licenseTextLink', 'type': 'str'}, + 'privacy_policy_link': {'key': 'properties.privacyPolicyLink', 'type': 'str'}, + 'retrieve_datetime': {'key': 'properties.retrieveDatetime', 'type': 'iso-8601'}, + 'signature': {'key': 'properties.signature', 'type': 'str'}, + 'accepted': {'key': 'properties.accepted', 'type': 'bool'}, } def __init__( @@ -61,7 +82,11 @@ def __init__( accepted: Optional[bool] = None, **kwargs ): - super(ConfluentAgreementProperties, self).__init__(**kwargs) + super(ConfluentAgreementResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = None self.publisher = publisher self.product = product self.plan = plan @@ -72,52 +97,11 @@ def __init__( self.accepted = accepted -class ConfluentAgreementResource(msrest.serialization.Model): - """Agreement Terms definition. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The ARM id of the resource. - :vartype id: str - :ivar name: The name of the agreement. - :vartype name: str - :ivar type: The type of the agreement. - :vartype type: str - :param properties: Represents the properties of the resource. - :type properties: ~confluent_management_client.models.ConfluentAgreementProperties - """ - - _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': 'ConfluentAgreementProperties'}, - } - - def __init__( - self, - *, - properties: Optional["ConfluentAgreementProperties"] = None, - **kwargs - ): - super(ConfluentAgreementResource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.properties = properties - - class ConfluentAgreementResourceListResponse(msrest.serialization.Model): - """Response of a agreements operation. + """Response of a list operation. :param value: Results of a list operation. - :type value: list[~confluent_management_client.models.ConfluentAgreementResource] + :type value: list[~azure.mgmt.confluent.models.ConfluentAgreementResource] :param next_link: Link to the next set of results, if any. :type next_link: str """ @@ -151,7 +135,7 @@ class ErrorResponseBody(msrest.serialization.Model): :ivar target: Error target. :vartype target: str :ivar details: Error detail. - :vartype details: list[~confluent_management_client.models.ErrorResponseBody] + :vartype details: list[~azure.mgmt.confluent.models.ErrorResponseBody] """ _validation = { @@ -182,28 +166,30 @@ def __init__( class OfferDetail(msrest.serialization.Model): """Confluent Offer detail. - :param publisher_id: Publisher Id. + All required parameters must be populated in order to send to Azure. + + :param publisher_id: Required. Publisher Id. :type publisher_id: str - :param id: Offer Id. + :param id: Required. Offer Id. :type id: str - :param plan_id: Offer Plan Id. + :param plan_id: Required. Offer Plan Id. :type plan_id: str - :param plan_name: Offer Plan Name. + :param plan_name: Required. Offer Plan Name. :type plan_name: str - :param term_unit: Offer Plan Term unit. + :param term_unit: Required. Offer Plan Term unit. :type term_unit: str :param status: SaaS Offer Status. Possible values include: "Started", "PendingFulfillmentStart", "InProgress", "Subscribed", "Suspended", "Reinstated", "Succeeded", "Failed", "Unsubscribed", "Updating". - :type status: str or ~confluent_management_client.models.SaaSOfferStatus + :type status: str or ~azure.mgmt.confluent.models.SaaSOfferStatus """ _validation = { - 'publisher_id': {'max_length': 50, 'min_length': 0}, - 'id': {'max_length': 50, 'min_length': 0}, - 'plan_id': {'max_length': 50, 'min_length': 0}, - 'plan_name': {'max_length': 50, 'min_length': 0}, - 'term_unit': {'max_length': 25, 'min_length': 0}, + 'publisher_id': {'required': True, 'max_length': 50, 'min_length': 0}, + 'id': {'required': True, 'max_length': 50, 'min_length': 0}, + 'plan_id': {'required': True, 'max_length': 50, 'min_length': 0}, + 'plan_name': {'required': True, 'max_length': 50, 'min_length': 0}, + 'term_unit': {'required': True, 'max_length': 25, 'min_length': 0}, } _attribute_map = { @@ -218,11 +204,11 @@ class OfferDetail(msrest.serialization.Model): def __init__( self, *, - publisher_id: Optional[str] = None, - id: Optional[str] = None, - plan_id: Optional[str] = None, - plan_name: Optional[str] = None, - term_unit: Optional[str] = None, + publisher_id: str, + id: str, + plan_id: str, + plan_name: str, + term_unit: str, status: Optional[Union[str, "SaaSOfferStatus"]] = None, **kwargs ): @@ -275,7 +261,7 @@ class OperationListResult(msrest.serialization.Model): """Result of GET request to list Confluent operations. :param value: List of Confluent operations supported by the Microsoft.Confluent provider. - :type value: list[~confluent_management_client.models.OperationResult] + :type value: list[~azure.mgmt.confluent.models.OperationResult] :param next_link: URL to get the next set of operation list results if there are any. :type next_link: str """ @@ -303,12 +289,15 @@ class OperationResult(msrest.serialization.Model): :param name: Operation name: {provider}/{resource}/{operation}. :type name: str :param display: The object that represents the operation. - :type display: ~confluent_management_client.models.OperationDisplay + :type display: ~azure.mgmt.confluent.models.OperationDisplay + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } def __init__( @@ -316,11 +305,13 @@ def __init__( *, name: Optional[str] = None, display: Optional["OperationDisplay"] = None, + is_data_action: Optional[bool] = None, **kwargs ): super(OperationResult, self).__init__(**kwargs) self.name = name self.display = display + self.is_data_action = is_data_action class OrganizationResource(msrest.serialization.Model): @@ -328,45 +319,54 @@ class OrganizationResource(msrest.serialization.Model): Variables are only populated 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 ARM id of 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 + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.confluent.models.SystemData :param tags: A set of tags. Organization resource tags. :type tags: dict[str, str] :param location: Location of Organization resource. :type location: str :ivar created_time: The creation time of the resource. :vartype created_time: ~datetime.datetime - :param provisioning_state: Provision states for confluent RP. Possible values include: + :ivar provisioning_state: Provision states for confluent RP. Possible values include: "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", "NotSpecified". - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState + :vartype provisioning_state: str or ~azure.mgmt.confluent.models.ProvisionState :ivar organization_id: Id of the Confluent organization. :vartype organization_id: str :ivar sso_url: SSO url for the Confluent organization. :vartype sso_url: str - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :param offer_detail: Required. Confluent offer detail. + :type offer_detail: ~azure.mgmt.confluent.models.OfferDetail + :param user_detail: Required. Subscriber detail. + :type user_detail: ~azure.mgmt.confluent.models.UserDetail """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, 'created_time': {'readonly': True}, + 'provisioning_state': {'readonly': True}, 'organization_id': {'readonly': True}, 'sso_url': {'readonly': True}, + 'offer_detail': {'required': True}, + 'user_detail': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, @@ -380,21 +380,21 @@ class OrganizationResource(msrest.serialization.Model): def __init__( self, *, + offer_detail: "OfferDetail", + user_detail: "UserDetail", tags: Optional[Dict[str, str]] = None, location: Optional[str] = None, - provisioning_state: Optional[Union[str, "ProvisionState"]] = None, - offer_detail: Optional["OfferDetail"] = None, - user_detail: Optional["UserDetail"] = None, **kwargs ): super(OrganizationResource, self).__init__(**kwargs) self.id = None self.name = None self.type = None + self.system_data = None self.tags = tags self.location = location self.created_time = None - self.provisioning_state = provisioning_state + self.provisioning_state = None self.organization_id = None self.sso_url = None self.offer_detail = offer_detail @@ -405,7 +405,7 @@ class OrganizationResourceListResult(msrest.serialization.Model): """The response of a list operation. :param value: Result of a list operation. - :type value: list[~confluent_management_client.models.OrganizationResource] + :type value: list[~azure.mgmt.confluent.models.OrganizationResource] :param next_link: Link to the next set of results, if any. :type next_link: str """ @@ -427,171 +427,117 @@ def __init__( self.next_link = next_link -class OrganizationResourceProperties(msrest.serialization.Model): - """Organization resource property. - - Variables are only populated by the server, and will be ignored when sending a request. +class OrganizationResourceUpdate(msrest.serialization.Model): + """Organization Resource update. - :ivar created_time: The creation time of the resource. - :vartype created_time: ~datetime.datetime - :param provisioning_state: Provision states for confluent RP. Possible values include: - "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", - "NotSpecified". - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState - :ivar organization_id: Id of the Confluent organization. - :vartype organization_id: str - :ivar sso_url: SSO url for the Confluent organization. - :vartype sso_url: str - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :param tags: A set of tags. ARM resource tags. + :type tags: dict[str, str] """ - _validation = { - 'created_time': {'readonly': True}, - 'organization_id': {'readonly': True}, - 'sso_url': {'readonly': True}, - } - _attribute_map = { - 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'organization_id': {'key': 'organizationId', 'type': 'str'}, - 'sso_url': {'key': 'ssoUrl', 'type': 'str'}, - 'offer_detail': {'key': 'offerDetail', 'type': 'OfferDetail'}, - 'user_detail': {'key': 'userDetail', 'type': 'UserDetail'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__( self, *, - provisioning_state: Optional[Union[str, "ProvisionState"]] = None, - offer_detail: Optional["OfferDetail"] = None, - user_detail: Optional["UserDetail"] = None, + tags: Optional[Dict[str, str]] = None, **kwargs ): - super(OrganizationResourceProperties, self).__init__(**kwargs) - self.created_time = None - self.provisioning_state = provisioning_state - self.organization_id = None - self.sso_url = None - self.offer_detail = offer_detail - self.user_detail = user_detail + super(OrganizationResourceUpdate, self).__init__(**kwargs) + self.tags = tags -class OrganizationResourcePropertiesautogenerated(OrganizationResourceProperties): - """Organization resource properties. +class ResourceProviderDefaultErrorResponse(msrest.serialization.Model): + """Default error response for resource provider. Variables are only populated by the server, and will be ignored when sending a request. - :ivar created_time: The creation time of the resource. - :vartype created_time: ~datetime.datetime - :param provisioning_state: Provision states for confluent RP. Possible values include: - "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", - "NotSpecified". - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState - :ivar organization_id: Id of the Confluent organization. - :vartype organization_id: str - :ivar sso_url: SSO url for the Confluent organization. - :vartype sso_url: str - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :ivar error: Response body of Error. + :vartype error: ~azure.mgmt.confluent.models.ErrorResponseBody """ _validation = { - 'created_time': {'readonly': True}, - 'organization_id': {'readonly': True}, - 'sso_url': {'readonly': True}, + 'error': {'readonly': True}, } _attribute_map = { - 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'organization_id': {'key': 'organizationId', 'type': 'str'}, - 'sso_url': {'key': 'ssoUrl', 'type': 'str'}, - 'offer_detail': {'key': 'offerDetail', 'type': 'OfferDetail'}, - 'user_detail': {'key': 'userDetail', 'type': 'UserDetail'}, + 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, } def __init__( self, - *, - provisioning_state: Optional[Union[str, "ProvisionState"]] = None, - offer_detail: Optional["OfferDetail"] = None, - user_detail: Optional["UserDetail"] = None, **kwargs ): - super(OrganizationResourcePropertiesautogenerated, self).__init__(provisioning_state=provisioning_state, offer_detail=offer_detail, user_detail=user_detail, **kwargs) - + super(ResourceProviderDefaultErrorResponse, self).__init__(**kwargs) + self.error = None -class OrganizationResourcePropertiesOfferDetail(OfferDetail): - """Confluent offer detail. - :param publisher_id: Publisher Id. - :type publisher_id: str - :param id: Offer Id. - :type id: str - :param plan_id: Offer Plan Id. - :type plan_id: str - :param plan_name: Offer Plan Name. - :type plan_name: str - :param term_unit: Offer Plan Term unit. - :type term_unit: str - :param status: SaaS Offer Status. Possible values include: "Started", - "PendingFulfillmentStart", "InProgress", "Subscribed", "Suspended", "Reinstated", "Succeeded", - "Failed", "Unsubscribed", "Updating". - :type status: str or ~confluent_management_client.models.SaaSOfferStatus +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.confluent.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.confluent.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime """ - _validation = { - 'publisher_id': {'max_length': 50, 'min_length': 0}, - 'id': {'max_length': 50, 'min_length': 0}, - 'plan_id': {'max_length': 50, 'min_length': 0}, - 'plan_name': {'max_length': 50, 'min_length': 0}, - 'term_unit': {'max_length': 25, 'min_length': 0}, - } - _attribute_map = { - 'publisher_id': {'key': 'publisherId', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'plan_id': {'key': 'planId', 'type': 'str'}, - 'plan_name': {'key': 'planName', 'type': 'str'}, - 'term_unit': {'key': 'termUnit', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } def __init__( self, *, - publisher_id: Optional[str] = None, - id: Optional[str] = None, - plan_id: Optional[str] = None, - plan_name: Optional[str] = None, - term_unit: Optional[str] = None, - status: Optional[Union[str, "SaaSOfferStatus"]] = None, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, **kwargs ): - super(OrganizationResourcePropertiesOfferDetail, self).__init__(publisher_id=publisher_id, id=id, plan_id=plan_id, plan_name=plan_name, term_unit=term_unit, status=status, **kwargs) + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at class UserDetail(msrest.serialization.Model): """Subscriber detail. + All required parameters must be populated in order to send to Azure. + :param first_name: First name. :type first_name: str :param last_name: Last name. :type last_name: str - :param email_address: Email address. + :param email_address: Required. Email address. :type email_address: str """ _validation = { 'first_name': {'max_length': 50, 'min_length': 0}, 'last_name': {'max_length': 50, 'min_length': 0}, - 'email_address': {'pattern': r'^\S+@\S+\.\S+$'}, + 'email_address': {'required': True, 'pattern': r'^\S+@\S+\.\S+$'}, } _attribute_map = { @@ -603,92 +549,12 @@ class UserDetail(msrest.serialization.Model): def __init__( self, *, + email_address: str, first_name: Optional[str] = None, last_name: Optional[str] = None, - email_address: Optional[str] = None, **kwargs ): super(UserDetail, self).__init__(**kwargs) self.first_name = first_name self.last_name = last_name self.email_address = email_address - - -class OrganizationResourcePropertiesUserDetail(UserDetail): - """Subscriber detail. - - :param first_name: First name. - :type first_name: str - :param last_name: Last name. - :type last_name: str - :param email_address: Email address. - :type email_address: str - """ - - _validation = { - 'first_name': {'max_length': 50, 'min_length': 0}, - 'last_name': {'max_length': 50, 'min_length': 0}, - 'email_address': {'pattern': r'^\S+@\S+\.\S+$'}, - } - - _attribute_map = { - 'first_name': {'key': 'firstName', 'type': 'str'}, - 'last_name': {'key': 'lastName', 'type': 'str'}, - 'email_address': {'key': 'emailAddress', 'type': 'str'}, - } - - def __init__( - self, - *, - first_name: Optional[str] = None, - last_name: Optional[str] = None, - email_address: Optional[str] = None, - **kwargs - ): - super(OrganizationResourcePropertiesUserDetail, self).__init__(first_name=first_name, last_name=last_name, email_address=email_address, **kwargs) - - -class OrganizationResourceUpdate(msrest.serialization.Model): - """Organization Resource update. - - :param tags: A set of tags. ARM 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(OrganizationResourceUpdate, self).__init__(**kwargs) - self.tags = tags - - -class ResourceProviderDefaultErrorResponse(msrest.serialization.Model): - """Default error response for resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar error: Response body of Error. - :vartype error: ~confluent_management_client.models.ErrorResponseBody - """ - - _validation = { - 'error': {'readonly': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderDefaultErrorResponse, self).__init__(**kwargs) - self.error = None diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/__init__.py b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/__init__.py index d755f95eb5e..e07bcdedfc8 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/__init__.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/__init__.py @@ -6,12 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._marketplace_agreement_operations import MarketplaceAgreementOperations -from ._organization_operation_operations import OrganizationOperationOperations +from ._marketplace_agreements_operations import MarketplaceAgreementsOperations +from ._organization_operations_operations import OrganizationOperationsOperations from ._organization_operations import OrganizationOperations +from ._validations_operations import ValidationsOperations __all__ = [ - 'MarketplaceAgreementOperations', - 'OrganizationOperationOperations', + 'MarketplaceAgreementsOperations', + 'OrganizationOperationsOperations', 'OrganizationOperations', + 'ValidationsOperations', ] diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_marketplace_agreement_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_marketplace_agreements_operations.py similarity index 91% rename from src/confluent/azext_confluent/vendored_sdks/confluent/operations/_marketplace_agreement_operations.py rename to src/confluent/azext_confluent/vendored_sdks/confluent/operations/_marketplace_agreements_operations.py index 991f6fc95e7..28b465d29a3 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_marketplace_agreement_operations.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_marketplace_agreements_operations.py @@ -23,14 +23,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class MarketplaceAgreementOperations(object): - """MarketplaceAgreementOperations operations. +class MarketplaceAgreementsOperations(object): + """MarketplaceAgreementsOperations 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: ~confluent_management_client.models + :type models: ~azure.mgmt.confluent.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -56,7 +56,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ConfluentAgreementResourceListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~confluent_management_client.models.ConfluentAgreementResourceListResponse] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.confluent.models.ConfluentAgreementResourceListResponse] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfluentAgreementResourceListResponse"] @@ -64,7 +64,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -117,7 +117,7 @@ def get_next(next_link=None): def create( self, - properties=None, # type: Optional["models.ConfluentAgreementProperties"] + body=None, # type: Optional["models.ConfluentAgreementResource"] **kwargs # type: Any ): # type: (...) -> "models.ConfluentAgreementResource" @@ -125,11 +125,11 @@ def create( Create Confluent Marketplace agreement in the subscription. - :param properties: Represents the properties of the resource. - :type properties: ~confluent_management_client.models.ConfluentAgreementProperties + :param body: Confluent Marketplace Agreement resource. + :type body: ~azure.mgmt.confluent.models.ConfluentAgreementResource :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfluentAgreementResource, or the result of cls(response) - :rtype: ~confluent_management_client.models.ConfluentAgreementResource + :rtype: ~azure.mgmt.confluent.models.ConfluentAgreementResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfluentAgreementResource"] @@ -137,9 +137,7 @@ def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - - body = models.ConfluentAgreementResource(properties=properties) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operations.py index 63ae48b5e75..1abcb84260b 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operations.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operations.py @@ -32,7 +32,7 @@ class OrganizationOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~confluent_management_client.models + :type models: ~azure.mgmt.confluent.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -58,7 +58,7 @@ def list_by_subscription( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OrganizationResourceListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~confluent_management_client.models.OrganizationResourceListResult] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.confluent.models.OrganizationResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResourceListResult"] @@ -66,7 +66,7 @@ def list_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -131,7 +131,7 @@ def list_by_resource_group( :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 OrganizationResourceListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~confluent_management_client.models.OrganizationResourceListResult] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.confluent.models.OrganizationResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResourceListResult"] @@ -139,7 +139,7 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -208,7 +208,7 @@ def get( :type organization_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: OrganizationResource, or the result of cls(response) - :rtype: ~confluent_management_client.models.OrganizationResource + :rtype: ~azure.mgmt.confluent.models.OrganizationResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResource"] @@ -216,7 +216,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" # Construct URL @@ -257,11 +257,7 @@ def _create_initial( self, resource_group_name, # type: str organization_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - location=None, # type: Optional[str] - provisioning_state=None, # type: Optional[Union[str, "models.ProvisionState"]] - offer_detail=None, # type: Optional["models.OfferDetail"] - user_detail=None, # type: Optional["models.UserDetail"] + body=None, # type: Optional["models.OrganizationResource"] **kwargs # type: Any ): # type: (...) -> "models.OrganizationResource" @@ -270,9 +266,7 @@ def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - - body = models.OrganizationResource(tags=tags, location=location, provisioning_state=provisioning_state, offer_detail=offer_detail, user_detail=user_detail) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -325,11 +319,7 @@ def begin_create( self, resource_group_name, # type: str organization_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - location=None, # type: Optional[str] - provisioning_state=None, # type: Optional[Union[str, "models.ProvisionState"]] - offer_detail=None, # type: Optional["models.OfferDetail"] - user_detail=None, # type: Optional["models.UserDetail"] + body=None, # type: Optional["models.OrganizationResource"] **kwargs # type: Any ): # type: (...) -> LROPoller["models.OrganizationResource"] @@ -341,16 +331,8 @@ def begin_create( :type resource_group_name: str :param organization_name: Organization resource name. :type organization_name: str - :param tags: Organization resource tags. - :type tags: dict[str, str] - :param location: Location of Organization resource. - :type location: str - :param provisioning_state: Provision states for confluent RP. - :type provisioning_state: str or ~confluent_management_client.models.ProvisionState - :param offer_detail: Confluent offer detail. - :type offer_detail: ~confluent_management_client.models.OfferDetail - :param user_detail: Subscriber detail. - :type user_detail: ~confluent_management_client.models.UserDetail + :param body: Organization resource model. + :type body: ~azure.mgmt.confluent.models.OrganizationResource :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -358,7 +340,7 @@ def begin_create( :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of LROPoller that returns either OrganizationResource or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~confluent_management_client.models.OrganizationResource] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.confluent.models.OrganizationResource] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] @@ -372,11 +354,7 @@ def begin_create( raw_result = self._create_initial( resource_group_name=resource_group_name, organization_name=organization_name, - tags=tags, - location=location, - provisioning_state=provisioning_state, - offer_detail=offer_detail, - user_detail=user_detail, + body=body, cls=lambda x,y,z: x, **kwargs ) @@ -415,7 +393,7 @@ def update( self, resource_group_name, # type: str organization_name, # type: str - tags=None, # type: Optional[Dict[str, str]] + body=None, # type: Optional["models.OrganizationResourceUpdate"] **kwargs # type: Any ): # type: (...) -> "models.OrganizationResource" @@ -427,11 +405,11 @@ def update( :type resource_group_name: str :param organization_name: Organization resource name. :type organization_name: str - :param tags: ARM resource tags. - :type tags: dict[str, str] + :param body: Updated Organization resource. + :type body: ~azure.mgmt.confluent.models.OrganizationResourceUpdate :keyword callable cls: A custom type or function that will be passed the direct response :return: OrganizationResource, or the result of cls(response) - :rtype: ~confluent_management_client.models.OrganizationResource + :rtype: ~azure.mgmt.confluent.models.OrganizationResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResource"] @@ -439,9 +417,7 @@ def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - - body = models.OrganizationResourceUpdate(tags=tags) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -498,7 +474,7 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" # Construct URL diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operation_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operations_operations.py similarity index 93% rename from src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operation_operations.py rename to src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operations_operations.py index e77662a47fe..fd93f002fb3 100644 --- a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operation_operations.py +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_organization_operations_operations.py @@ -23,14 +23,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class OrganizationOperationOperations(object): - """OrganizationOperationOperations operations. +class OrganizationOperationsOperations(object): + """OrganizationOperationsOperations 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: ~confluent_management_client.models + :type models: ~azure.mgmt.confluent.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -56,7 +56,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~confluent_management_client.models.OperationListResult] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.confluent.models.OperationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] @@ -64,7 +64,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-03-01-preview" + api_version = "2021-03-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_validations_operations.py b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_validations_operations.py new file mode 100644 index 00000000000..0b0aa93193f --- /dev/null +++ b/src/confluent/azext_confluent/vendored_sdks/confluent/operations/_validations_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 ClientAuthenticationError, 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 ValidationsOperations(object): + """ValidationsOperations 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.confluent.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 validate_organization( + self, + resource_group_name, # type: str + organization_name, # type: str + body, # type: "models.OrganizationResource" + **kwargs # type: Any + ): + # type: (...) -> "models.OrganizationResource" + """Organization Validate proxy resource. + + Organization Validate proxy resource. + + :param resource_group_name: Resource group name. + :type resource_group_name: str + :param organization_name: Organization resource name. + :type organization_name: str + :param body: Organization resource model. + :type body: ~azure.mgmt.confluent.models.OrganizationResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrganizationResource, or the result of cls(response) + :rtype: ~azure.mgmt.confluent.models.OrganizationResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrganizationResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_organization.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'organizationName': self._serialize.url("organization_name", organization_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(body, 'OrganizationResource') + 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.ResourceProviderDefaultErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OrganizationResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_organization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/validations/{organizationName}/orgvalidate'} # type: ignore diff --git a/src/confluent/gen.zip b/src/confluent/gen.zip deleted file mode 100644 index d89790a8992dfaa1baae84618a42fbe1e94eb924..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7249 zcmeHMQE%He5O&vf58ejsVc5ff0fYj~Hef5*Q-J^mk|tSEr0KFI#Rde0z({AAjU);r z<-{rS6Z*WTz3d0;j*?~Bmg6LA0<0(lMHYE?JRXmC{K$j7ho3eZR62XV z{cL{}|GvUEzkqY&`7#+q86;-?U@7%CHPi;Q(O2+%x0EO1#5>3OZv5`yKc6=m^z>G- z!a0xA2s~{d)owaoW4-rQnrm!Zreh_-pyZAB5YM4Bnk zphgh5$opLQkZ1^4mIR=f83NmXb~LGW*&#srVa^Q`iKR)Ed;`8=N=m~9QlX?MmxL7f z9p}9^*Q|O0un-bJRj{LzaYe=U%MRPhjC_d}Mtza+X-+5=X}3M(NeG(7e9U~FX+Y_| zREoMjfgv9WsTfZJb|!FmC%__!a>T&u=#x01QH+AJdy@LzY~O1(n*$|d=DJM8Xluia z8hbHMG9F>u8r%JKYyaT+?gm@m=js$p8gU=CLIn_`3+wd|Onr;@TxiqWtcVL>z{r6- z11i>Dgzar|%q~-5m-$2RPj&x=OrW#TWLVG&c_rF_QGH%bO+|g59ly4uB*yjQpxxpZ ztXyEsc7*e)O{;6^h}V{)xBS(a8|hCfCGw- z@rA0zt_%+~+f7D7$%Op3@9e;+&K4w_Id9`}b?PtcC{aFl39v8D!g=7xEs0P z5|^Es&oeFzF7|v{gPJM38#Rw#U%4V^$yd$dJ%uF;y*e0A59Qf?E(YrF-b{9lK(b&q z3Xo66m^iHeJSF$JMpU_nuvwip8$D~xcpJB$%_mhCvT3ARVYA1R@nLqNeI-)b0sL=l z6EbI20Jy>uDL4LbeS5M=^j@XG_0mmd3GZ`->3L*fCvm!Oul0)uHkPv=Y5(y?~(P!HCDf41J0tA@7+KCy8N=ypy%-__&~XC zihDebJ9e&w{0JmIBp^}X2dQ&J!7nleE-rkRW?u)V6M%78%>EHpuOOYtjRy)+u0R!l zWd@Q?WY58im88{7SM1ks#zUKon{iP7zH5#=FyE|~JhBu#B^qq!@T$awIgC{sTzWw- zG)+`$Juhf>Ow(3t@;Of~TT7r!n{>hvmaxW;YdA_+NGsB{nX&CmprO;9fC$K`1} zSP@2yp#LL}G<2pIx+;L++l~c|u0?NKId~&^_3-Vs(k<$HfxwJJ7ufW+vIs5y7g4ms zaVtQQR3a#OBYh}g6XOERyi&^2d9Mdp#~)|C^v@4**6Zl<cII^KBvy30;s+;6E67X@xGksnVj zJ(6Q9^DIke*CeWfVkSzpHADkC!=7knvohAXr)OMYnkfAJZ5fD(pf!86*xFdAnP%Hd z+y@a4mDwFd*>$yjx*2Pi8>+H>vUO{t%!9oLpM2d|eqV*K4h!8}QCYmbTFy=PS9u|B z7oT}BUF@ diff --git a/src/confluent/report.md b/src/confluent/report.md index 1e40e1a0abf..40e938af855 100644 --- a/src/confluent/report.md +++ b/src/confluent/report.md @@ -68,9 +68,8 @@ az confluent organization show --name "myOrganization" --resource-group "myResou ##### Example ``` -az confluent organization create --location "West US" --offer-detail id="string" plan-id="string" plan-name="string" \ -publisher-id="string" term-unit="string" --user-detail email-address="contoso@microsoft.com" first-name="string" \ -last-name="string" --tags Environment="Dev" --name "myOrganization" --resource-group "myResourceGroup" +az confluent organization create --location "West US" --tags Environment="Dev" --name "myOrganization" \ +--resource-group "myResourceGroup" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -79,8 +78,11 @@ last-name="string" --tags Environment="Dev" --name "myOrganization" --resource-g |**--organization-name**|string|Organization resource name|organization_name|organizationName| |**--tags**|dictionary|Organization resource tags|tags|tags| |**--location**|string|Location of Organization resource|location|location| -|**--offer-detail**|object|Confluent offer detail|offer_detail|offerDetail| -|**--user-detail**|object|Subscriber detail|user_detail|userDetail| +|**--publisher-id**|string|Publisher Id|publisher_id|publisherId| +|**--offer-id**|string|Offer Id|offer_id|id| +|**--plan-id**|string|Offer Plan Id|plan_id|planId| +|**--plan-name**|string|Offer Plan Name|plan_name|planName| +|**--term-unit**|string|Offer Plan Term unit|term_unit|termUnit| #### Command `az confluent organization update` From b82ed96acd31b15232405652386f02c05e1a2579 Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Tue, 22 Jun 2021 20:44:44 +0800 Subject: [PATCH 08/85] Revert "[Scheduled-Query] update api version (#3399)" (#3526) * Revert "[Scheduled-Query] update api version (#3399)" This reverts commit 5ed250ace48c2516c70686da9102eee9073ae5d0. * update extension version * update recording --- src/scheduled-query/HISTORY.rst | 5 +- .../azext_scheduled_query/_client_factory.py | 4 +- .../azext_scheduled_query/_params.py | 6 +- .../azext_scheduled_query/custom.py | 26 +- .../recordings/test_scheduled_query.yaml | 1335 +++++++++++++---- .../latest/test_scheduled_query_scenario.py | 26 +- .../azure_mgmt_scheduled_query/__init__.py | 21 +- .../_configuration.py | 80 +- .../_monitor_client.py | 49 + .../_monitor_management_client.py | 88 -- .../models/__init__.py | 66 +- .../models/_models.py | 647 ++++---- .../models/_models_py3.py | 706 ++++----- .../models/_monitor_client_enums.py | 36 + .../_monitor_management_client_enums.py | 81 - .../models/_paged_models.py | 27 + .../operations/__init__.py | 7 +- .../_scheduled_query_rules_operations.py | 538 ++++--- .../azure_mgmt_scheduled_query/version.py | 13 + src/scheduled-query/setup.py | 2 +- 20 files changed, 2089 insertions(+), 1674 deletions(-) create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_client.py delete mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.py delete mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_paged_models.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/version.py diff --git a/src/scheduled-query/HISTORY.rst b/src/scheduled-query/HISTORY.rst index 57fc16e0718..caadcc38744 100644 --- a/src/scheduled-query/HISTORY.rst +++ b/src/scheduled-query/HISTORY.rst @@ -2,13 +2,10 @@ Release History =============== -0.3.0 +0.3.1 ++++++ * Support query placeholder for `--condition` parameter. * Add `--condition-query` parameter to support query placeholder. -* Add `--skip-query-validation` parameter -* Add `--check-ws-alerts-storage` parameter -* [Breaking Change] the default value of `--mute-actions-duration` is changed to None, as alert `--auto-mitigate` is supported 0.2.2 ++++++ diff --git a/src/scheduled-query/azext_scheduled_query/_client_factory.py b/src/scheduled-query/azext_scheduled_query/_client_factory.py index 9063ba9edc9..736646ac843 100644 --- a/src/scheduled-query/azext_scheduled_query/_client_factory.py +++ b/src/scheduled-query/azext_scheduled_query/_client_factory.py @@ -6,5 +6,5 @@ def cf_scheduled_query(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from .vendored_sdks.azure_mgmt_scheduled_query._monitor_management_client import MonitorManagementClient - return get_mgmt_service_client(cli_ctx, MonitorManagementClient).scheduled_query_rules + from .vendored_sdks.azure_mgmt_scheduled_query._monitor_client import MonitorClient + return get_mgmt_service_client(cli_ctx, MonitorClient).scheduled_query_rules diff --git a/src/scheduled-query/azext_scheduled_query/_params.py b/src/scheduled-query/azext_scheduled_query/_params.py index 3d091a1ff3b..6ac9b1c3d79 100644 --- a/src/scheduled-query/azext_scheduled_query/_params.py +++ b/src/scheduled-query/azext_scheduled_query/_params.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -from azure.cli.core.commands.parameters import tags_type, get_three_state_flag, get_enum_type +from azure.cli.core.commands.parameters import tags_type, get_three_state_flag from azure.cli.command_modules.monitor.actions import get_period_type from azure.cli.command_modules.monitor.validators import get_action_group_validator from knack.arguments import CLIArgumentType @@ -23,7 +23,6 @@ def load_arguments(self, _): c.argument('severity', type=int, help='Severity of the alert from 0 (critical) to 4 (verbose).') c.argument('window_size', type=get_period_type(), help='Time over which to aggregate metrics in "##h##m##s" format.') c.argument('evaluation_frequency', type=get_period_type(), help='Frequency with which to evaluate the rule in "##h##m##s" format.') - c.argument('display_name', help='The display name of the alert rule') c.argument('condition', options_list=['--condition'], action=ScheduleQueryConditionAction, nargs='+') c.argument('condition_query', options_list=['--condition-query'], nargs='+', action=ScheduleQueryConditionQueryAction, help='Query deteils to replace the placeholders in `--condition` argument.') c.argument('description', help='Free-text description of the rule.') @@ -37,6 +36,3 @@ def load_arguments(self, _): options_list=['--mute-actions-duration', '--mad'], help='Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired.') c.argument('actions', options_list=['--action', '-a'], action=ScheduleQueryAddAction, nargs='+', validator=get_action_group_validator('actions')) - c.argument('auto_mitigate', arg_type=get_three_state_flag(), help='The flag that indicates whether the alert should be automatically resolved or not. The default is true.') - c.argument('skip_query_validation', arg_type=get_three_state_flag(), help='The flag which indicates whether the provided query should be validated or not.') - c.argument('check_workspace_alerts_storage', options_list=['--check-ws-alerts-storage', '--cwas'], arg_type=get_three_state_flag(), help="The flag which indicates whether this scheduled query rule should be stored in the customer's storage.") diff --git a/src/scheduled-query/azext_scheduled_query/custom.py b/src/scheduled-query/azext_scheduled_query/custom.py index 6957d12401e..105eaaa40a1 100644 --- a/src/scheduled-query/azext_scheduled_query/custom.py +++ b/src/scheduled-query/azext_scheduled_query/custom.py @@ -26,14 +26,12 @@ def _build_criteria(condition, condition_query): def create_scheduled_query(client, resource_group_name, rule_name, scopes, condition, condition_query=None, - disabled=False, description=None, tags=None, location=None, display_name=None, - auto_mitigate=True, skip_query_validation=False, check_workspace_alerts_storage=False, + disabled=False, description=None, tags=None, location=None, actions=None, severity=2, window_size='5m', evaluation_frequency='5m', - target_resource_type=None, mute_actions_duration=None): + target_resource_type=None, mute_actions_duration='PT30M'): from .vendored_sdks.azure_mgmt_scheduled_query.models import ScheduledQueryRuleResource criteria = _build_criteria(condition, condition_query) kwargs = { - 'display_name': display_name, 'description': description, 'severity': severity, 'enabled': not disabled, @@ -45,10 +43,7 @@ def create_scheduled_query(client, resource_group_name, rule_name, scopes, condi 'actions': actions, 'tags': tags, 'location': location, - 'mute_actions_duration': mute_actions_duration, - 'check_workspace_alerts_storage_configured': check_workspace_alerts_storage, - 'skip_query_validation': skip_query_validation, - 'auto_mitigate': auto_mitigate, + 'mute_actions_duration': mute_actions_duration } return client.create_or_update(resource_group_name, rule_name, ScheduledQueryRuleResource(**kwargs)) @@ -59,19 +54,12 @@ def list_scheduled_query(client, resource_group_name=None): return client.list_by_subscription() -def update_scheduled_query(cmd, instance, tags=None, disabled=None, condition=None, condition_query=None, - description=None, actions=None, severity=None, window_size=None, display_name=None, - auto_mitigate=None, evaluation_frequency=None, mute_actions_duration=None, - skip_query_validation=None, check_workspace_alerts_storage=None): +def update_scheduled_query(cmd, instance, tags=None, disabled=False, condition=None, condition_query=None, + description=None, actions=None, severity=None, window_size=None, + evaluation_frequency=None, mute_actions_duration=None): with cmd.update_context(instance) as c: c.set_param('tags', tags) - c.set_param('display_name', display_name) - if disabled is not None: - c.set_param('enabled', not disabled) - if auto_mitigate is not None: - c.set_param('auto_mitigate', auto_mitigate) - c.set_param('skip_query_validation', skip_query_validation) - c.set_param('check_workspace_alerts_storage_configured', check_workspace_alerts_storage) + c.set_param('enabled', not disabled) c.set_param('description', description) c.set_param('actions', actions) c.set_param('severity', severity) diff --git a/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml b/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml index 0aeea247cd8..d4dd10b823f 100644 --- a/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml +++ b/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml @@ -11,14 +11,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-31T07:15:05Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-22T12:23:28Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:15:21 GMT + - Tue, 22 Jun 2021 12:23:32 GMT expires: - '-1' pragma: @@ -106,13 +106,13 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Mon, 31 May 2021 07:15:21 GMT + - Tue, 22 Jun 2021 12:23:33 GMT etag: - W/"540044b4084c3c314537f1baa1770f248628b2bc9ba0328f1004c33862e049da" expires: - - Mon, 31 May 2021 07:20:21 GMT + - Tue, 22 Jun 2021 12:28:33 GMT source-age: - - '78' + - '31' strict-transport-security: - max-age=31536000 vary: @@ -126,15 +126,15 @@ interactions: x-content-type-options: - nosniff x-fastly-request-id: - - 3988df4b57a6a19c38be4d70d0f19d636f1dddad + - 4030a858348c937d58268cde3d0fdcfc1c57974b x-frame-options: - deny x-github-request-id: - - 364C:7761:41B2CB:4E68E1:60B4418E + - B4A2:34FC:2EE16:54047:60D16694 x-served-by: - - cache-qpg1254-QPG + - cache-qpg1282-QPG x-timer: - - S1622445322.722691,VS0,VE1 + - S1624364613.024995,VS0,VE1 x-xss-protection: - 1; mode=block status: @@ -152,9 +152,9 @@ interactions: Connection: - keep-alive ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 response: @@ -168,7 +168,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:15:21 GMT + - Tue, 22 Jun 2021 12:23:33 GMT expires: - '-1' pragma: @@ -182,40 +182,799 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.OperationalInsights/workspaces/clitest000002'' + under resource group ''cli_test_scheduled_query000001'' was not found. For + more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:23:34 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: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-22T12:23:28Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:23:35 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", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": + 30, "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": + "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + Content-Length: + - '179' + Content-Type: + - application/json + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"35ba1cf4-f518-439d-9ee8-dc9382fdabbb\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Tue, 22 Jun 2021 12:23:40 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, 23 Jun 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Tue, 22 Jun 2021 12:23:40 GMT\",\r\n + \ \"modifiedDate\": \"Tue, 22 Jun 2021 12:23:40 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"eastus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1133' + content-type: + - application/json + date: + - Tue, 22 Jun 2021 12:23: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"35ba1cf4-f518-439d-9ee8-dc9382fdabbb\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Tue, 22 Jun 2021 12:23:40 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, 23 Jun 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Tue, 22 Jun 2021 12:23:40 GMT\",\r\n + \ \"modifiedDate\": \"Tue, 22 Jun 2021 12:23:40 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n + \ \"location\": \"eastus\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1134' + content-type: + - application/json + date: + - Tue, 22 Jun 2021 12:24:12 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: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": + "contentVersion": "1.0.0.0", "parameters": {"workspaceId": {"type": "securestring", + "metadata": {"description": "Secure workspaceId"}}}, "variables": {}, "resources": [{"name": "myvm1VNET", "type": "Microsoft.Network/virtualNetworks", "location": "eastus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": "myvm1Subnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"type": "Microsoft.Network/networkSecurityGroups", "name": "myvm1NSG", "apiVersion": - "2015-06-15", "location": "eastus", "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": "myvm1PublicIP", "location": "eastus", "tags": {}, "dependsOn": [], - "properties": {"publicIPAllocationMethod": null}}, {"apiVersion": "2015-06-15", - "type": "Microsoft.Network/networkInterfaces", "name": "myvm1VMNic", "location": - "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/myvm1VNET", + "2015-06-15", "location": "eastus", "tags": {}, "dependsOn": []}, {"apiVersion": + "2018-01-01", "type": "Microsoft.Network/publicIPAddresses", "name": "myvm1PublicIP", + "location": "eastus", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": + null}}, {"apiVersion": "2015-06-15", "type": "Microsoft.Network/networkInterfaces", + "name": "myvm1VMNic", "location": "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/myvm1VNET", "Microsoft.Network/networkSecurityGroups/myvm1NSG", "Microsoft.Network/publicIpAddresses/myvm1PublicIP"], "properties": {"ipConfigurations": [{"name": "ipconfigmyvm1", "properties": {"privateIPAllocationMethod": "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET/subnets/myvm1Subnet"}, "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"}}}], "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"}}}, + {"type": "Microsoft.Compute/virtualMachines/extensions", "apiVersion": "2018-10-01", + "properties": {"publisher": "Microsoft.EnterpriseCloud.Monitoring", "type": + "OmsAgentForLinux", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": + "true", "settings": {"workspaceId": "[reference(parameters(''workspaceId''), + ''2015-11-01-preview'').customerId]", "stopOnMultipleConnections": "true"}, + "protectedSettings": {"workspaceKey": "[listKeys(parameters(''workspaceId''), + ''2015-11-01-preview'').primarySharedKey]"}}, "name": "myvm1/OmsAgentForLinux", + "location": "eastus", "dependsOn": ["Microsoft.Compute/virtualMachines/myvm1"]}, {"apiVersion": "2021-03-01", "type": "Microsoft.Compute/virtualMachines", "name": "myvm1", "location": "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/myvm1VMNic"], "properties": {"hardwareProfile": {"vmSize": "Standard_DS1_v2"}, "networkProfile": - {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"}]}, - "storageProfile": {"osDisk": {"createOption": "fromImage", "name": null, "caching": - "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": - {"publisher": "Canonical", "offer": "UbuntuServer", "sku": "18.04-LTS", "version": - "latest"}}, "osProfile": {"computerName": "myvm1", "adminUsername": "clitest000002", - "linuxConfiguration": {"disablePasswordAuthentication": true, "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPMuHNzSd64J+szP6o1PrORXVyLcT0rnY1jkPNXt2taPECh5LJ1GFUbV/T8NphlT+jkgd6Q8DokO3x/IZ7gIVIO9CFsLUWAcvB0IGSRnIEK4MXIYFrHh45STacrSO+K1trflLXb2S8a4CNyZOuRja2w5+ggt+jSluGmoT19Os5pVv7Slh/Z536r60i/mA2MJhhwLWe9njCfhxCUAffOMD0tQgFCrieAB/fwNEYqmWNX4VWSbpO+1qfJzTl6SwRoFv9Z/v3szgexwHazlsUqlD1ALAcf6qnQcSh9VvqUZJpLW9vfOPkMGMKQdHTK0MbsrivLu41hg4yWyhC9yDmkNhGJAFgaYAJMdYuHH3GSX2xofP9HrN0PG4V+oVxL89St2mXrKlbNryZCtoOnw05ugEPiLmDCav8vZyRfz4/OQLq2yHUrkavU5R2PRFSfoBNrk894+5Cvr3eW7IEbl014ikiFMLhtRairBBeZhrdGbaMAsgaa5e6AfA5m2820Hf8sf8= - kairu@microsoft.com\n", "path": "/home/clitest000002/.ssh/authorized_keys"}]}}}}}], - "outputs": {}}, "parameters": {}, "mode": "incremental"}}' + {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic", + "properties": {"deleteOption": null}}]}, "storageProfile": {"osDisk": {"createOption": + "fromImage", "name": null, "caching": "ReadWrite", "managedDisk": {"storageAccountType": + null}}, "imageReference": {"publisher": "Canonical", "offer": "UbuntuServer", + "sku": "18.04-LTS", "version": "latest"}}, "osProfile": {"computerName": "myvm1", + "adminUsername": "kairu", "linuxConfiguration": {"disablePasswordAuthentication": + true, "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/+4SveJW8Wn+vIMzgKgDIauOhF2XRwqR4RJSrjQX8qodZntJ49dQSuaPT0AweyDVPS9TPXCXeGZMN+H+Y54Xj0Mgriau+Y4jPi2mUMKW0R93T5/Y1285JdE1YuXtnv27Xgc1g1lIfHJ5luWOi3sfC47j3AZvhE1NE69alemjIcQCIWlU0SyoZM1K+5hO3mBmZhR4BwuMJO9ruWITXx1t1GAvJgu+xtJNcVXW1ryTt6PvYk1OU5pNyIyNEFxD1Hhw8qOJ/R/jNcZ9wcjnykSqOI/NzNczz3GG2tLdu8gWEBZrpXy4vu9FoSamu3k+ADE6ArH06RM40FaSCNSegivEI4Y6HAjy3svPEU6Y+WvuGUfr0Lphefi7tFHZaEW08U0e6ERmwpFLtfMRWfdhn30ZRtiFDF/Gi4psXuTNPQrGyqc+KgmwCxEIVue8a3TAAVTaoK1JZXA/08IcUGNdhl6INAfHxXbaS15ptTXkqhO3rVL2ambJt8GxU3UTTymq3P20= + kairu@microsoft.com\n", "path": "/home/kairu/.ssh/authorized_keys"}]}}}}}], + "outputs": {}}, "parameters": {"workspaceId": {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002"}}, + "mode": "incremental"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + Content-Length: + - '4593' + Content-Type: + - application/json + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_dl5eDTjXsAqdigGu5xqwYnWNh6EfH5nT","name":"vm_deploy_dl5eDTjXsAqdigGu5xqwYnWNh6EfH5nT","type":"Microsoft.Resources/deployments","properties":{"templateHash":"2425683351354235518","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-06-22T12:24:19.3172755Z","duration":"PT3.3838123S","correlationId":"290921a9-e8e4-4ba2-8629-13a4b3490599","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_dl5eDTjXsAqdigGu5xqwYnWNh6EfH5nT/operationStatuses/08585772422295441888?api-version=2020-10-01 + cache-control: + - no-cache + content-length: + - '4226' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:24:20 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585772422295441888?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585772422295441888?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:25: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585772422295441888?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:25:53 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 + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585772422295441888?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:26:24 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 + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585772422295441888?api-version=2020-10-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:26: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_dl5eDTjXsAqdigGu5xqwYnWNh6EfH5nT","name":"vm_deploy_dl5eDTjXsAqdigGu5xqwYnWNh6EfH5nT","type":"Microsoft.Resources/deployments","properties":{"templateHash":"2425683351354235518","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-06-22T12:26:46.9011249Z","duration":"PT2M30.9676617S","correlationId":"290921a9-e8e4-4ba2-8629-13a4b3490599","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET"}]}}' + headers: + cache-control: + - no-cache + content-length: + - '5533' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:26: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: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1?$expand=instanceView&api-version=2021-03-01 + response: + body: + string: "{\r\n \"name\": \"myvm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"02fb914c-ccce-41e3-9775-5b08c3e03cab\",\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.202106040\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Linux\",\r\n \"name\": \"myvm1_OsDisk_1_c63982fccf394540bcff719448dd5d09\",\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/cli_test_scheduled_query000001/providers/Microsoft.Compute/disks/myvm1_OsDisk_1_c63982fccf394540bcff719448dd5d09\"\r\n + \ },\r\n \"diskSizeGB\": 30,\r\n \"deleteOption\": \"Detach\"\r\n + \ },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": {\r\n + \ \"computerName\": \"myvm1\",\r\n \"adminUsername\": \"kairu\",\r\n + \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": + true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n + \ \"path\": \"/home/kairu/.ssh/authorized_keys\",\r\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/+4SveJW8Wn+vIMzgKgDIauOhF2XRwqR4RJSrjQX8qodZntJ49dQSuaPT0AweyDVPS9TPXCXeGZMN+H+Y54Xj0Mgriau+Y4jPi2mUMKW0R93T5/Y1285JdE1YuXtnv27Xgc1g1lIfHJ5luWOi3sfC47j3AZvhE1NE69alemjIcQCIWlU0SyoZM1K+5hO3mBmZhR4BwuMJO9ruWITXx1t1GAvJgu+xtJNcVXW1ryTt6PvYk1OU5pNyIyNEFxD1Hhw8qOJ/R/jNcZ9wcjnykSqOI/NzNczz3GG2tLdu8gWEBZrpXy4vu9FoSamu3k+ADE6ArH06RM40FaSCNSegivEI4Y6HAjy3svPEU6Y+WvuGUfr0Lphefi7tFHZaEW08U0e6ERmwpFLtfMRWfdhn30ZRtiFDF/Gi4psXuTNPQrGyqc+KgmwCxEIVue8a3TAAVTaoK1JZXA/08IcUGNdhl6INAfHxXbaS15ptTXkqhO3rVL2ambJt8GxU3UTTymq3P20= + kairu@microsoft.com\\n\"\r\n }\r\n ]\r\n },\r\n + \ \"provisionVMAgent\": true,\r\n \"patchSettings\": {\r\n \"patchMode\": + \"ImageDefault\",\r\n \"assessmentMode\": \"ImageDefault\"\r\n }\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/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\"}]},\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": + \"myvm1\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"18.04\",\r\n + \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.3.0.2\",\r\n \"statuses\": + [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n + \ \"message\": \"Guest Agent is running\",\r\n \"time\": + \"2021-06-22T12:26:44+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + [\r\n {\r\n \"type\": \"Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux\",\r\n + \ \"typeHandlerVersion\": \"1.13.35\",\r\n \"status\": + {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": + \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \"message\": + \"Plugin enabled\"\r\n }\r\n }\r\n ]\r\n },\r\n + \ \"disks\": [\r\n {\r\n \"name\": \"myvm1_OsDisk_1_c63982fccf394540bcff719448dd5d09\",\r\n + \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2021-06-22T12:25:11.8400599+00:00\"\r\n + \ }\r\n ]\r\n }\r\n ],\r\n \"extensions\": + [\r\n {\r\n \"name\": \"OmsAgentForLinux\",\r\n \"type\": + \"Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux\",\r\n \"typeHandlerVersion\": + \"1.13.35\",\r\n \"statuses\": [\r\n {\r\n \"code\": + \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n + \ \"displayStatus\": \"Provisioning succeeded\",\r\n \"message\": + \"Enable succeeded\"\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\": \"2021-06-22T12:26:45.1682789+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 \"resources\": [\r\n {\r\n \"name\": + \"OmsAgentForLinux\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\r\n \"location\": + \"eastus\",\r\n \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"provisioningState\": \"Succeeded\",\r\n \"publisher\": + \"Microsoft.EnterpriseCloud.Monitoring\",\r\n \"type\": \"OmsAgentForLinux\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": {\"workspaceId\":\"35ba1cf4-f518-439d-9ee8-dc9382fdabbb\",\"stopOnMultipleConnections\":\"true\"}\r\n + \ }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5722' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:26: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-ratelimit-remaining-resource: + - Microsoft.Compute/LowCostGet3Min;3991,Microsoft.Compute/LowCostGet30Min;31986 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic?api-version=2018-01-01 + response: + body: + string: "{\r\n \"name\": \"myvm1VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\",\r\n + \ \"etag\": \"W/\\\"54dc4102-b1de-416e-aba0-ed866a170a85\\\"\",\r\n \"location\": + \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"04de21a8-c23e-4667-80d3-a0d242db536e\",\r\n + \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfigmyvm1\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\",\r\n + \ \"etag\": \"W/\\\"54dc4102-b1de-416e-aba0-ed866a170a85\\\"\",\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/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET/subnets/myvm1Subnet\"\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\": + \"tdflqwqukrqefob1z444paacmd.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-0D-3A-9B-84-A4\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \ \"enableIPForwarding\": false,\r\n \"networkSecurityGroup\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG\"\r\n + \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\"\r\n + \ }\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2588' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:26:57 GMT + etag: + - W/"54dc4102-b1de-416e-aba0-ed866a170a85" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 83677822-ae1a-40bb-b3eb-1c0f8d7f2ece + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --nsg-rule --workspace --generate-ssh-keys + User-Agent: + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP?api-version=2018-01-01 + response: + body: + string: "{\r\n \"name\": \"myvm1PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\",\r\n + \ \"etag\": \"W/\\\"2872af45-b116-4a83-82d7-a71719dac4cc\\\"\",\r\n \"location\": + \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"79a1adab-f126-4ab7-a97c-2d989436dcf1\",\r\n + \ \"ipAddress\": \"40.121.109.44\",\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/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\"\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: + - '1005' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 12:26:58 GMT + etag: + - W/"2872af45-b116-4a83-82d7-a71719dac4cc" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eb699540-a7a2-4541-8396-be13f0917c88 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"state": "Enabled"}, "kind": "LinuxPerformanceCollection"}' headers: Accept: - application/json @@ -226,170 +985,229 @@ interactions: Connection: - keep-alive Content-Length: - - '3909' + - '74' Content-Type: - application/json ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001?api-version=2020-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","name":"vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","type":"Microsoft.Resources/deployments","properties":{"templateHash":"2144961586233669823","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-05-31T07:15:27.6592981Z","duration":"PT2.9322305S","correlationId":"3661e5bb-6c6f-4548-ad03-8602c3bd7f1b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}]}}' + string: '{"kind":"LinuxPerformanceCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","etag":"W/\"datetime''2021-06-22T12%3A26%3A59.2405092Z''\"","name":"DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob/operationStatuses/08585791615607505574?api-version=2020-10-01 cache-control: - no-cache content-length: - - '2766' + - '583' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:15:28 GMT + - Tue, 22 Jun 2021 12:26:59 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-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - '1199' + x-powered-by: + - ASP.NET status: - code: 201 - message: Created + code: 200 + message: OK - request: - body: null + body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": + "Memory", "performanceCounters": [{"counterName": "Available MBytes Memory"}, + {"counterName": "% Used Memory"}, {"counterName": "% Used Swap Space"}]}, "kind": + "LinuxPerformanceObject"}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive + Content-Length: + - '259' + Content-Type: + - application/json ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585791615607505574?api-version=2020-10-01 + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002?api-version=2020-08-01 response: body: - string: '{"status":"Running"}' + string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Memory","performanceCounters":[{"counterName":"Available + MBytes Memory"},{"counterName":"% Used Memory"},{"counterName":"% Used Swap + Space"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","etag":"W/\"datetime''2021-06-22T12%3A26%3A59.9539568Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '20' + - '749' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:15:58 GMT + - Tue, 22 Jun 2021 12:26:59 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-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET status: code: 200 message: OK - request: - body: null + body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": + "Processor", "performanceCounters": [{"counterName": "% Processor Time"}, {"counterName": + "% Privileged Time"}]}, "kind": "LinuxPerformanceObject"}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive + Content-Length: + - '221' + Content-Type: + - application/json ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585791615607505574?api-version=2020-10-01 + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003?api-version=2020-08-01 response: body: - string: '{"status":"Succeeded"}' + string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Processor","performanceCounters":[{"counterName":"% + Processor Time"},{"counterName":"% Privileged Time"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","etag":"W/\"datetime''2021-06-22T12%3A27%3A00.6418054Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '22' + - '713' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:30 GMT + - Tue, 22 Jun 2021 12:27:00 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-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-powered-by: + - ASP.NET status: code: 200 message: OK - request: - body: null + body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": + "Logical Disk", "performanceCounters": [{"counterName": "% Used Inodes"}, {"counterName": + "Free Megabytes"}, {"counterName": "% Used Space"}, {"counterName": "Disk Transfers/sec"}, + {"counterName": "Disk Reads/sec"}, {"counterName": "Disk Writes/sec"}]}, "kind": + "LinuxPerformanceObject"}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive + Content-Length: + - '361' + Content-Type: + - application/json ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004?api-version=2020-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","name":"vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","type":"Microsoft.Resources/deployments","properties":{"templateHash":"2144961586233669823","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-05-31T07:16:07.8767825Z","duration":"PT43.1497149S","correlationId":"3661e5bb-6c6f-4548-ad03-8602c3bd7f1b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET"}]}}' + string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Logical + Disk","performanceCounters":[{"counterName":"% Used Inodes"},{"counterName":"Free + Megabytes"},{"counterName":"% Used Space"},{"counterName":"Disk Transfers/sec"},{"counterName":"Disk + Reads/sec"},{"counterName":"Disk Writes/sec"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","etag":"W/\"datetime''2021-06-22T12%3A27%3A01.3669794Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '3841' + - '845' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:30 GMT + - Tue, 22 Jun 2021 12:27: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-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + x-powered-by: + - ASP.NET status: code: 200 message: OK - request: - body: null + body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": + "Network", "performanceCounters": [{"counterName": "Total Bytes Transmitted"}, + {"counterName": "Total Bytes Received"}]}, "kind": "LinuxPerformanceObject"}' headers: Accept: - application/json @@ -399,73 +1217,35 @@ interactions: - vm create Connection: - keep-alive + Content-Length: + - '229' + Content-Type: + - application/json ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1?$expand=instanceView&api-version=2021-03-01 + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005?api-version=2020-08-01 response: body: - string: "{\r\n \"name\": \"myvm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\",\r\n - \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"5b0d93be-28ae-4cda-a281-cab5451fbe65\",\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.202105120\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Linux\",\r\n \"name\": \"myvm1_disk1_11dcc83dd64243d3a96b4266b33ee5db\",\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/cli_test_scheduled_query000001/providers/Microsoft.Compute/disks/myvm1_disk1_11dcc83dd64243d3a96b4266b33ee5db\"\r\n - \ },\r\n \"diskSizeGB\": 30,\r\n \"deleteOption\": \"Detach\"\r\n - \ },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": {\r\n - \ \"computerName\": \"myvm1\",\r\n \"adminUsername\": \"clitest000002\",\r\n - \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": - true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n - \ \"path\": \"/home/clitest000002/.ssh/authorized_keys\",\r\n - \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPMuHNzSd64J+szP6o1PrORXVyLcT0rnY1jkPNXt2taPECh5LJ1GFUbV/T8NphlT+jkgd6Q8DokO3x/IZ7gIVIO9CFsLUWAcvB0IGSRnIEK4MXIYFrHh45STacrSO+K1trflLXb2S8a4CNyZOuRja2w5+ggt+jSluGmoT19Os5pVv7Slh/Z536r60i/mA2MJhhwLWe9njCfhxCUAffOMD0tQgFCrieAB/fwNEYqmWNX4VWSbpO+1qfJzTl6SwRoFv9Z/v3szgexwHazlsUqlD1ALAcf6qnQcSh9VvqUZJpLW9vfOPkMGMKQdHTK0MbsrivLu41hg4yWyhC9yDmkNhGJAFgaYAJMdYuHH3GSX2xofP9HrN0PG4V+oVxL89St2mXrKlbNryZCtoOnw05ugEPiLmDCav8vZyRfz4/OQLq2yHUrkavU5R2PRFSfoBNrk894+5Cvr3eW7IEbl014ikiFMLhtRairBBeZhrdGbaMAsgaa5e6AfA5m2820Hf8sf8= - kairu@microsoft.com\\n\"\r\n }\r\n ]\r\n },\r\n - \ \"provisionVMAgent\": true,\r\n \"patchSettings\": {\r\n \"patchMode\": - \"ImageDefault\",\r\n \"assessmentMode\": \"ImageDefault\"\r\n }\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/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\"}]},\r\n - \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": - \"myvm1\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"18.04\",\r\n - \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.2.54.2\",\r\n \"statuses\": - [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n - \ \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n - \ \"message\": \"Guest Agent is running\",\r\n \"time\": - \"2021-05-31T07:16:18+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": - []\r\n },\r\n \"disks\": [\r\n {\r\n \"name\": \"myvm1_disk1_11dcc83dd64243d3a96b4266b33ee5db\",\r\n - \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n - \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-31T07:15:51.124142+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\": \"2021-05-31T07:16:06.8880256+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}" + string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Network","performanceCounters":[{"counterName":"Total + Bytes Transmitted"},{"counterName":"Total Bytes Received"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","etag":"W/\"datetime''2021-06-22T12%3A27%3A03.2755453Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '4135' + - '721' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:31 GMT + - Tue, 22 Jun 2021 12:27:03 GMT expires: - '-1' pragma: - no-cache server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 + - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -474,70 +1254,52 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3993,Microsoft.Compute/LowCostGet30Min;31993 + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + x-powered-by: + - ASP.NET status: code: 200 message: OK - request: - body: null + body: '{"properties": {"state": "Enabled"}, "kind": "LinuxSyslogCollection"}' headers: Accept: - - application/json, text/json + - application/json Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive + Content-Length: + - '69' + Content-Type: + - application/json ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic?api-version=2018-01-01 + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006?api-version=2020-08-01 response: body: - string: "{\r\n \"name\": \"myvm1VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\",\r\n - \ \"etag\": \"W/\\\"d43fbfae-3433-4b8b-b81a-9fcb92d3b35e\\\"\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"49b6cca7-3ad1-4329-83d5-a036c0efe2c7\",\r\n - \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfigmyvm1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\",\r\n - \ \"etag\": \"W/\\\"d43fbfae-3433-4b8b-b81a-9fcb92d3b35e\\\"\",\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/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET/subnets/myvm1Subnet\"\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\": - \"qldl2rgjocdupolrmukv2znftc.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": - \"00-0D-3A-16-4E-AE\",\r\n \"enableAcceleratedNetworking\": false,\r\n - \ \"enableIPForwarding\": false,\r\n \"networkSecurityGroup\": {\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG\"\r\n - \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\"\r\n - \ }\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" + string: '{"kind":"LinuxSyslogCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","etag":"W/\"datetime''2021-06-22T12%3A27%3A04.0435457Z''\"","name":"DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '2588' + - '568' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:32 GMT - etag: - - W/"d43fbfae-3433-4b8b-b81a-9fcb92d3b35e" + - Tue, 22 Jun 2021 12:27:04 GMT expires: - '-1' pragma: - no-cache server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 + - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -546,57 +1308,53 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - e5f2aa8c-0df8-43f8-8d97-825fdd88642b + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + x-powered-by: + - ASP.NET status: code: 200 message: OK - request: - body: null + body: '{"properties": {"syslogName": "syslog", "syslogSeverities": [{"severity": + "notice"}, {"severity": "info"}, {"severity": "debug"}]}, "kind": "LinuxSyslog"}' headers: Accept: - - application/json, text/json + - application/json Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive + Content-Length: + - '154' + Content-Type: + - application/json ParameterSetName: - - -n -g --image --admin-username --generate-ssh-keys + - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP?api-version=2018-01-01 + - AZURECLI/2.25.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007?api-version=2020-08-01 response: body: - string: "{\r\n \"name\": \"myvm1PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\",\r\n - \ \"etag\": \"W/\\\"699030e3-9190-4735-9647-2f5278fde227\\\"\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"db71bbaa-ebbc-4b90-b06f-88598b4c7656\",\r\n - \ \"ipAddress\": \"52.186.121.232\",\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/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\"\r\n - \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n - \ \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}" + string: '{"kind":"LinuxSyslog","properties":{"syslogName":"syslog","syslogSeverities":[{"severity":"notice"},{"severity":"info"},{"severity":"debug"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","etag":"W/\"datetime''2021-06-22T12%3A27%3A04.8035166Z''\"","name":"DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '1006' + - '626' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:32 GMT - etag: - - W/"699030e3-9190-4735-9647-2f5278fde227" + - Tue, 22 Jun 2021 12:27:04 GMT expires: - '-1' pragma: - no-cache server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 + - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -605,8 +1363,10 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 9e7596f8-ab05-4aab-a3c1-016457b91089 + x-ms-ratelimit-remaining-subscription-writes: + - '1193' + x-powered-by: + - ASP.NET status: code: 200 message: OK @@ -624,12 +1384,12 @@ interactions: ParameterSetName: - -g -n --scopes --condition --condition-query --description User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-31T07:15:05Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-22T12:23:28Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -638,7 +1398,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:35 GMT + - Tue, 22 Jun 2021 12:30:06 GMT expires: - '-1' pragma: @@ -657,9 +1417,9 @@ interactions: 2, "enabled": true, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"], "evaluationFrequency": "PT5M", "windowSize": "PT5M", "criteria": {"allOf": [{"query": "union Event, Syslog | where TimeGenerated > ago(1h)", "timeAggregation": "Count", - "dimensions": [], "operator": "GreaterThan", "threshold": 360.0, "failingPeriods": - {"numberOfEvaluationPeriods": 1, "minFailingPeriodsToAlert": 1}}]}, "checkWorkspaceAlertsStorageConfigured": - false, "skipQueryValidation": false, "autoMitigate": true}}' + "dimensions": [], "operator": "GreaterThan", "threshold": 360, "failingPeriods": + {"numberOfEvaluationPeriods": 1, "minFailingPeriodsToAlert": 1}}]}, "muteActionsDuration": + "PT30M"}}' headers: Accept: - application/json @@ -670,29 +1430,32 @@ interactions: Connection: - keep-alive Content-Length: - - '726' + - '656' Content-Type: - - application/json + - application/json; charset=utf-8 ParameterSetName: - -g -n --scopes --condition --condition-query --description User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union - Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}' headers: cache-control: - no-cache content-length: - - '955' + - '891' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:47 GMT + - Tue, 22 Jun 2021 12:30:20 GMT expires: - '-1' pragma: @@ -716,40 +1479,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - monitor scheduled-query update + - monitor scheduled-query create Connection: - keep-alive ParameterSetName: - - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency - --window-size + - -g -n --scopes --condition --description User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test - rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union - Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-06-22T12:23:28Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '955' + - '428' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:49 GMT + - Tue, 22 Jun 2021 12:30: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: @@ -758,48 +1514,49 @@ interactions: code: 200 message: OK - request: - body: '{"location": "eastus", "properties": {"description": "Test rule 2", "severity": - 4, "enabled": false, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"], - "evaluationFrequency": "PT10M", "windowSize": "PT10M", "criteria": {"allOf": - [{"query": "union Event | where TimeGenerated > ago(2h)", "timeAggregation": - "Count", "resourceIdColumn": "_ResourceId", "dimensions": [], "operator": "LessThan", - "threshold": 260.0, "failingPeriods": {"numberOfEvaluationPeriods": 3, "minFailingPeriodsToAlert": - 2}}]}, "checkWorkspaceAlertsStorageConfigured": false, "skipQueryValidation": - false, "autoMitigate": true}}' + body: '{"location": "eastus", "properties": {"description": "Test rule", "severity": + 2, "enabled": true, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"], + "evaluationFrequency": "PT5M", "windowSize": "PT5M", "criteria": {"allOf": [{"query": + "union Event, Syslog | where TimeGenerated > ago(1h)", "timeAggregation": "Count", + "resourceIdColumn": "_ResourceId", "dimensions": [], "operator": "GreaterThan", + "threshold": 360, "failingPeriods": {"numberOfEvaluationPeriods": 1, "minFailingPeriodsToAlert": + 1}}]}, "muteActionsDuration": "PT30M"}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - monitor scheduled-query update + - monitor scheduled-query create Connection: - keep-alive Content-Length: - - '755' + - '641' Content-Type: - - application/json + - application/json; charset=utf-8 ParameterSetName: - - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency - --window-size + - -g -n --scopes --condition --description User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq02?api-version=2020-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test - rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq02","name":"sq02","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test + rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}' headers: cache-control: - no-cache content-length: - - '982' + - '874' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:52 GMT + - Tue, 22 Jun 2021 12:30:35 GMT expires: - '-1' pragma: @@ -808,17 +1565,13 @@ interactions: - 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: - - '1195' + - '1199' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -831,25 +1584,29 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --mad --auto-mitigate + - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency + --window-size User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test - rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' + rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}' headers: cache-control: - no-cache content-length: - - '982' + - '891' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:53 GMT + - Tue, 22 Jun 2021 12:30:36 GMT expires: - '-1' pragma: @@ -873,9 +1630,8 @@ interactions: "evaluationFrequency": "PT10M", "windowSize": "PT10M", "criteria": {"allOf": [{"query": "union Event | where TimeGenerated > ago(2h)", "timeAggregation": "Count", "resourceIdColumn": "_ResourceId", "dimensions": [], "operator": "LessThan", - "threshold": 260.0, "failingPeriods": {"numberOfEvaluationPeriods": 3, "minFailingPeriodsToAlert": - 2}}]}, "muteActionsDuration": "PT30M", "checkWorkspaceAlertsStorageConfigured": - false, "skipQueryValidation": false, "autoMitigate": false}}' + "threshold": 260, "failingPeriods": {"numberOfEvaluationPeriods": 3, "minFailingPeriodsToAlert": + 2}}]}, "muteActionsDuration": "PT30M"}}' headers: Accept: - application/json @@ -886,29 +1642,33 @@ interactions: Connection: - keep-alive Content-Length: - - '788' + - '685' Content-Type: - - application/json + - application/json; charset=utf-8 ParameterSetName: - - -g -n --mad --auto-mitigate + - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency + --window-size User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}}' headers: cache-control: - no-cache content-length: - - '1013' + - '918' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:56 GMT + - Tue, 22 Jun 2021 12:30:41 GMT expires: - '-1' pragma: @@ -924,7 +1684,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -942,23 +1702,26 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}}' headers: cache-control: - no-cache content-length: - - '1013' + - '918' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:56 GMT + - Tue, 22 Jun 2021 12:30:42 GMT expires: - '-1' pragma: @@ -990,23 +1753,28 @@ interactions: ParameterSetName: - -g User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules?api-version=2020-05-01-preview response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}]}' + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq02","name":"sq02","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test + rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}]}' headers: cache-control: - no-cache content-length: - - '1025' + - '1805' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:58 GMT + - Tue, 22 Jun 2021 12:30:44 GMT expires: - '-1' pragma: @@ -1036,24 +1804,29 @@ interactions: Connection: - keep-alive User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/scheduledQueryRules?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/scheduledQueryRules?api-version=2020-05-01-preview response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/scheduledqueryrules/zhoxing-test","name":"zhoxing-test","type":"microsoft.insights/scheduledqueryrules","location":"centralus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testece/providers/Microsoft.OperationalInsights/workspaces/mmeum-analytics-workspace-testece":""},"properties":{"displayName":"zhoxing-test","description":"","severity":3,"enabled":false,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/components/zhoxing-test"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"requests + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq02","name":"sq02","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test + rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/scheduledqueryrules/zhoxing-test","name":"zhoxing-test","type":"microsoft.insights/scheduledqueryrules","location":"centralus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testece/providers/Microsoft.OperationalInsights/workspaces/mmeum-analytics-workspace-testece":""},"properties":{"displayName":"zhoxing-test","description":"","severity":3,"enabled":false,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/components/zhoxing-test"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"requests | where resultCode == \"500\"","timeAggregation":"Count","metricMeasureColumn":"","operator":"GreaterThan","threshold":5.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"actions":[{"actionGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/default-activitylogalerts/providers/microsoft.insights/actiongroups/zhoxing-test"}]}}]}' headers: cache-control: - no-cache content-length: - - '2164' + - '2944' content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:16:59 GMT + - Tue, 22 Jun 2021 12:30:45 GMT expires: - '-1' pragma: @@ -1087,9 +1860,12 @@ interactions: ParameterSetName: - -g -n -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview response: body: string: '' @@ -1099,7 +1875,7 @@ interactions: content-length: - '0' date: - - Mon, 31 May 2021 07:17:10 GMT + - Tue, 22 Jun 2021 12:30:54 GMT expires: - '-1' pragma: @@ -1129,9 +1905,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.25.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview response: body: string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Insights/scheduledqueryrules/sq01'' @@ -1145,7 +1924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 31 May 2021 07:17:10 GMT + - Tue, 22 Jun 2021 12:30:56 GMT expires: - '-1' pragma: diff --git a/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py b/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py index 290867d0ee5..de247fe28e1 100644 --- a/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py +++ b/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py @@ -17,13 +17,17 @@ class Scheduled_queryScenarioTest(ScenarioTest): @ResourceGroupPreparer(name_prefix='cli_test_scheduled_query', location='eastus') def test_scheduled_query(self, resource_group): from azure.mgmt.core.tools import resource_id + import time + import mock self.kwargs.update({ 'name1': 'sq01', + 'name2': 'sq02', 'rg': resource_group, 'vm': 'myvm1', 'ws': self.create_random_name('clitest', 20) }) - vm = self.cmd('vm create -n {vm} -g {rg} --image UbuntuLTS --admin-username {ws} --generate-ssh-keys').get_output_in_json() + with mock.patch('azure.cli.command_modules.vm.custom._gen_guid', side_effect=self.create_guid): + vm = self.cmd('vm create -n {vm} -g {rg} --image UbuntuLTS --nsg-rule None --workspace {ws} --generate-ssh-keys').get_output_in_json() self.kwargs.update({ 'vm_id': vm['id'], 'rg_id': resource_id(subscription=self.get_subscription_id(), @@ -31,6 +35,7 @@ def test_scheduled_query(self, resource_group): 'sub_id': resource_id(subscription=self.get_subscription_id(), resource_group=resource_group), }) + time.sleep(180) self.cmd('monitor scheduled-query create -g {rg} -n {name1} --scopes {vm_id} --condition "count \'placeholder_1\' > 360" --condition-query placeholder_1="union Event, Syslog | where TimeGenerated > ago(1h)" --description "Test rule"', checks=[ self.check('name', '{name1}'), @@ -41,10 +46,13 @@ def test_scheduled_query(self, resource_group): self.check('criteria.allOf[0].timeAggregation', 'Count'), self.check('criteria.allOf[0].operator', 'GreaterThan'), self.check('criteria.allOf[0].failingPeriods.minFailingPeriodsToAlert', 1), - self.check('criteria.allOf[0].failingPeriods.numberOfEvaluationPeriods', 1), - self.check('autoMitigate', True), - self.check('skipQueryValidation', False), - self.check('checkWorkspaceAlertsStorageConfigured', False) + self.check('criteria.allOf[0].failingPeriods.numberOfEvaluationPeriods', 1) + ]) + self.cmd('monitor scheduled-query create -g {rg} -n {name2} --scopes {rg_id} --condition "count \'union Event, Syslog | where TimeGenerated > ago(1h)\' > 360 resource id _ResourceId" --description "Test rule"', + checks=[ + self.check('name', '{name2}'), + self.check('scopes[0]', '{rg_id}'), + self.check('severity', 2) ]) self.cmd('monitor scheduled-query update -g {rg} -n {name1} --condition "count \'placeholder_1\' < 260 resource id _ResourceId at least 2 violations out of 3 aggregated points" --condition-query placeholder_1="union Event | where TimeGenerated > ago(2h)" --description "Test rule 2" --severity 4 --disabled --evaluation-frequency 10m --window-size 10m', checks=[ @@ -60,17 +68,13 @@ def test_scheduled_query(self, resource_group): self.check('criteria.allOf[0].failingPeriods.minFailingPeriodsToAlert', 2), self.check('criteria.allOf[0].failingPeriods.numberOfEvaluationPeriods', 3) ]) - self.cmd('monitor scheduled-query update -g {rg} -n {name1} --mad PT30M --auto-mitigate false', checks=[ - self.check('muteActionsDuration', '0:30:00'), - self.check('autoMitigate', False) - ]) self.cmd('monitor scheduled-query show -g {rg} -n {name1}', checks=[ self.check('name', '{name1}') ]) self.cmd('monitor scheduled-query list -g {rg}', checks=[ - self.check('length(@)', 1) + self.check('length(@)', 2) ]) self.cmd('monitor scheduled-query list', checks=[ @@ -80,7 +84,7 @@ def test_scheduled_query(self, resource_group): self.cmd('monitor scheduled-query show -g {rg} -n {name1}') -class ScheduledQueryConditionTest(unittest.TestCase): +class ScheduledQueryCondtionTest(unittest.TestCase): def _build_namespace(self, name_or_id=None, resource_group=None, provider_namespace=None, parent=None, resource_type=None): diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py index ccbeb512b0c..940dc046983 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py @@ -1,16 +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 ._monitor_management_client import MonitorManagementClient -__all__ = ['MonitorManagementClient'] +from ._configuration import MonitorClientConfiguration +from ._monitor_client import MonitorClient +__all__ = ['MonitorClient', 'MonitorClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py index feca4f041b5..b3de8cc8b8f 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py @@ -1,70 +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. +# Licensed under the MIT License. See License.txt in the project root for +# 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 typing import TYPE_CHECKING +from .version import VERSION -from azure.core.configuration import Configuration -from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any - - from azure.core.credentials import TokenCredential - -VERSION = "unknown" - -class MonitorManagementClientConfiguration(Configuration): - """Configuration for MonitorManagementClient. +class MonitorClientConfiguration(AzureConfiguration): + """Configuration for MonitorClient 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. + :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, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - if credential is None: - raise ValueError("Parameter 'credential' must not be 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.") - super(MonitorManagementClientConfiguration, self).__init__(**kwargs) + if not base_url: + base_url = 'https://management.azure.com' - self.credential = credential - self.subscription_id = subscription_id - self.api_version = "2021-02-01-preview" - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-monitor/{}'.format(VERSION)) - self._configure(**kwargs) + super(MonitorClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True - 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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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) + self.add_user_agent('azure-mgmt-monitor/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_client.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_client.py new file mode 100644 index 00000000000..9126e1c0d2c --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_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 MonitorClientConfiguration +from .operations import ScheduledQueryRulesOperations +from . import models + + +class MonitorClient(SDKClient): + """Monitor Management Client + + :ivar config: Configuration for client. + :vartype config: MonitorClientConfiguration + + :ivar scheduled_query_rules: ScheduledQueryRules operations + :vartype scheduled_query_rules: azure.mgmt.monitor.v2020_05_01_preview.operations.ScheduledQueryRulesOperations + + :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 = MonitorClientConfiguration(credentials, subscription_id, base_url) + super(MonitorClient, 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-05-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.scheduled_query_rules = ScheduledQueryRulesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.py deleted file mode 100644 index 45f59183835..00000000000 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.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 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 azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import MonitorManagementClientConfiguration -from .operations import ScheduledQueryRulesOperations -from . import models - - -class MonitorManagementClient(object): - """Monitor Management Client. - - :ivar scheduled_query_rules: ScheduledQueryRulesOperations operations - :vartype scheduled_query_rules: $(python-base-namespace).v2021_02_01_preview.operations.ScheduledQueryRulesOperations - :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 - """ - - 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 = MonitorManagementClientConfiguration(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._serialize.client_side_validation = False - self._deserialize = Deserializer(client_models) - - self.scheduled_query_rules = ScheduledQueryRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse - """Runs the network request through the client's chained policies. - - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. - :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse - """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response - - def close(self): - # type: () -> None - self._client.close() - - def __enter__(self): - # type: () -> MonitorManagementClient - self._client.__enter__() - return self - - def __exit__(self, *exc_details): - # type: (Any) -> None - self._client.__exit__(*exc_details) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py index b7bb79bb497..cfb55074177 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py @@ -1,70 +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. +# Licensed under the MIT License. See License.txt in the project root for +# 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 Action + from ._models_py3 import AzureEntityResource from ._models_py3 import Condition from ._models_py3 import ConditionFailingPeriods from ._models_py3 import Dimension from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorContract + from ._models_py3 import ErrorContract, ErrorContractException from ._models_py3 import ErrorResponse + from ._models_py3 import ProxyResource from ._models_py3 import Resource from ._models_py3 import ScheduledQueryRuleCriteria from ._models_py3 import ScheduledQueryRuleResource - from ._models_py3 import ScheduledQueryRuleResourceCollection from ._models_py3 import ScheduledQueryRuleResourcePatch - from ._models_py3 import SystemData from ._models_py3 import TrackedResource except (SyntaxError, ImportError): - from ._models import Action # type: ignore - from ._models import Condition # type: ignore - from ._models import ConditionFailingPeriods # type: ignore - from ._models import Dimension # type: ignore - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorContract # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Resource # type: ignore - from ._models import ScheduledQueryRuleCriteria # type: ignore - from ._models import ScheduledQueryRuleResource # type: ignore - from ._models import ScheduledQueryRuleResourceCollection # type: ignore - from ._models import ScheduledQueryRuleResourcePatch # type: ignore - from ._models import SystemData # type: ignore - from ._models import TrackedResource # type: ignore - -from ._monitor_management_client_enums import ( - AlertSeverity, - ConditionOperator, - CreatedByType, - DimensionOperator, - Kind, + from ._models import Action + from ._models import AzureEntityResource + from ._models import Condition + from ._models import ConditionFailingPeriods + from ._models import Dimension + from ._models import ErrorAdditionalInfo + from ._models import ErrorContract, ErrorContractException + from ._models import ErrorResponse + from ._models import ProxyResource + from ._models import Resource + from ._models import ScheduledQueryRuleCriteria + from ._models import ScheduledQueryRuleResource + from ._models import ScheduledQueryRuleResourcePatch + from ._models import TrackedResource +from ._paged_models import ScheduledQueryRuleResourcePaged +from ._monitor_client_enums import ( TimeAggregation, + DimensionOperator, + ConditionOperator, ) __all__ = [ 'Action', + 'AzureEntityResource', 'Condition', 'ConditionFailingPeriods', 'Dimension', 'ErrorAdditionalInfo', - 'ErrorContract', + 'ErrorContract', 'ErrorContractException', 'ErrorResponse', + 'ProxyResource', 'Resource', 'ScheduledQueryRuleCriteria', 'ScheduledQueryRuleResource', - 'ScheduledQueryRuleResourceCollection', 'ScheduledQueryRuleResourcePatch', - 'SystemData', 'TrackedResource', - 'AlertSeverity', - 'ConditionOperator', - 'CreatedByType', - 'DimensionOperator', - 'Kind', + 'ScheduledQueryRuleResourcePaged', 'TimeAggregation', + 'DimensionOperator', + 'ConditionOperator', ] diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py index d453278c3a5..c5e78eef7c5 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py @@ -1,19 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError -class Action(msrest.serialization.Model): +class Action(Model): """Actions to invoke when the alert fires. - :param action_group_id: Action Group resource Id to invoke when the alert fires. + :param action_group_id: Action Group resource Id to invoke when the alert + fires. :type action_group_id: str :param web_hook_properties: The properties of a webhook object. :type web_hook_properties: dict[str, str] @@ -24,48 +28,125 @@ class Action(msrest.serialization.Model): 'web_hook_properties': {'key': 'webHookProperties', 'type': '{str}'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(Action, self).__init__(**kwargs) self.action_group_id = kwargs.get('action_group_id', None) self.web_hook_properties = kwargs.get('web_hook_properties', None) -class Condition(msrest.serialization.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 + + +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 Condition(Model): """A condition of the scheduled query rule. All required parameters must be populated in order to send to Azure. - :param query: Log query alert. + :param query: Log query alert :type query: str - :param time_aggregation: Required. Aggregation type. Relevant and required only for rules of - the kind LogAlert. Possible values include: "Count", "Average", "Minimum", "Maximum", "Total". + :param time_aggregation: Required. Aggregation type. Possible values + include: 'Count', 'Average', 'Minimum', 'Maximum', 'Total' :type time_aggregation: str or - ~$(python-base-namespace).v2021_02_01_preview.models.TimeAggregation - :param metric_measure_column: The column containing the metric measure number. Relevant only - for rules of the kind LogAlert. + ~azure.mgmt.monitor.v2020_05_01_preview.models.TimeAggregation + :param metric_measure_column: The column containing the metric measure + number. :type metric_measure_column: str - :param resource_id_column: The column containing the resource id. The content of the column - must be a uri formatted as resource id. Relevant only for rules of the kind LogAlert. + :param resource_id_column: The column containing the resource id. The + content of the column must be a uri formatted as resource id :type resource_id_column: str - :param dimensions: List of Dimensions conditions. - :type dimensions: list[~$(python-base-namespace).v2021_02_01_preview.models.Dimension] - :param operator: Required. The criteria operator. Relevant and required only for rules of the - kind LogAlert. Possible values include: "Equals", "GreaterThan", "GreaterThanOrEqual", - "LessThan", "LessThanOrEqual". - :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.ConditionOperator - :param threshold: Required. the criteria threshold value that activates the alert. Relevant and - required only for rules of the kind LogAlert. - :type threshold: float - :param failing_periods: The minimum number of violations required within the selected lookback - time window required to raise an alert. Relevant only for rules of the kind LogAlert. + :param dimensions: List of Dimensions conditions + :type dimensions: + list[~azure.mgmt.monitor.v2020_05_01_preview.models.Dimension] + :param operator: Required. The criteria operator. Possible values include: + 'Equals', 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', + 'LessThanOrEqual' + :type operator: str or + ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionOperator + :param threshold: Required. the criteria threshold value that activates + the alert. + :type threshold: int + :param failing_periods: The minimum number of violations required within + the selected lookback time window required to raise an alert. :type failing_periods: - ~$(python-base-namespace).v2021_02_01_preview.models.ConditionFailingPeriods - :param metric_name: The name of the metric to be sent. Relevant and required only for rules of - the kind LogToMetric. - :type metric_name: str + ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionFailingPeriods """ _validation = { @@ -81,64 +162,60 @@ class Condition(msrest.serialization.Model): 'resource_id_column': {'key': 'resourceIdColumn', 'type': 'str'}, 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 'operator': {'key': 'operator', 'type': 'str'}, - 'threshold': {'key': 'threshold', 'type': 'float'}, + 'threshold': {'key': 'threshold', 'type': 'int'}, 'failing_periods': {'key': 'failingPeriods', 'type': 'ConditionFailingPeriods'}, - 'metric_name': {'key': 'metricName', 'type': 'str'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(Condition, self).__init__(**kwargs) self.query = kwargs.get('query', None) - self.time_aggregation = kwargs['time_aggregation'] + self.time_aggregation = kwargs.get('time_aggregation', None) self.metric_measure_column = kwargs.get('metric_measure_column', None) self.resource_id_column = kwargs.get('resource_id_column', None) self.dimensions = kwargs.get('dimensions', None) - self.operator = kwargs['operator'] - self.threshold = kwargs['threshold'] + self.operator = kwargs.get('operator', None) + self.threshold = kwargs.get('threshold', None) self.failing_periods = kwargs.get('failing_periods', None) - self.metric_name = kwargs.get('metric_name', None) -class ConditionFailingPeriods(msrest.serialization.Model): - """The minimum number of violations required within the selected lookback time window required to raise an alert. Relevant only for rules of the kind LogAlert. +class ConditionFailingPeriods(Model): + """The minimum number of violations required within the selected lookback time + window required to raise an alert. - :param number_of_evaluation_periods: The number of aggregated lookback points. The lookback - time window is calculated based on the aggregation granularity (windowSize) and the selected - number of aggregated points. Default value is 1. - :type number_of_evaluation_periods: long - :param min_failing_periods_to_alert: The number of violations to trigger an alert. Should be - smaller or equal to numberOfEvaluationPeriods. Default value is 1. - :type min_failing_periods_to_alert: long + :param number_of_evaluation_periods: The number of aggregated lookback + points. The lookback time window is calculated based on the aggregation + granularity (windowSize) and the selected number of aggregated points. + Default value is 1 + :type number_of_evaluation_periods: int + :param min_failing_periods_to_alert: The number of violations to trigger + an alert. Should be smaller or equal to numberOfEvaluationPeriods. Default + value is 1 + :type min_failing_periods_to_alert: int """ _attribute_map = { - 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'long'}, - 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'long'}, + 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'int'}, + 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'int'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(ConditionFailingPeriods, self).__init__(**kwargs) - self.number_of_evaluation_periods = kwargs.get('number_of_evaluation_periods', 1) - self.min_failing_periods_to_alert = kwargs.get('min_failing_periods_to_alert', 1) + self.number_of_evaluation_periods = kwargs.get('number_of_evaluation_periods', None) + self.min_failing_periods_to_alert = kwargs.get('min_failing_periods_to_alert', None) -class Dimension(msrest.serialization.Model): +class Dimension(Model): """Dimension splitting and filtering definition. All required parameters must be populated in order to send to Azure. - :param name: Required. Name of the dimension. + :param name: Required. Name of the dimension :type name: str - :param operator: Required. Operator for dimension values. Possible values include: "Include", - "Exclude". - :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.DimensionOperator - :param values: Required. List of dimension values. + :param operator: Required. Operator for dimension values. Possible values + include: 'Include', 'Exclude' + :type operator: str or + ~azure.mgmt.monitor.v2020_05_01_preview.models.DimensionOperator + :param values: Required. List of dimension values :type values: list[str] """ @@ -154,25 +231,23 @@ class Dimension(msrest.serialization.Model): 'values': {'key': 'values', 'type': '[str]'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(Dimension, self).__init__(**kwargs) - self.name = kwargs['name'] - self.operator = kwargs['operator'] - self.values = kwargs['values'] + self.name = kwargs.get('name', None) + self.operator = kwargs.get('operator', None) + self.values = kwargs.get('values', None) -class ErrorAdditionalInfo(msrest.serialization.Model): +class ErrorAdditionalInfo(Model): """The resource management error additional info. - 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 type: The additional info type. :vartype type: str :ivar info: The additional info. - :vartype info: str + :vartype info: object """ _validation = { @@ -182,41 +257,48 @@ class ErrorAdditionalInfo(msrest.serialization.Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None -class ErrorContract(msrest.serialization.Model): +class ErrorContract(Model): """Describes the format of Error response. :param error: The error details. - :type error: ~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse + :type error: ~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse """ _attribute_map = { 'error': {'key': 'error', 'type': 'ErrorResponse'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(ErrorContract, self).__init__(**kwargs) self.error = kwargs.get('error', None) -class ErrorResponse(msrest.serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). +class ErrorContractException(HttpOperationError): + """Server responsed with exception of type: 'ErrorContract'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorContractException, self).__init__(deserialize, response, 'ErrorContract', *args) + - Variables are only populated by the server, and will be ignored when sending a request. +class ErrorResponse(Model): + """The resource management error response. + + Variables are only populated by the server, and will be ignored when + sending a request. :ivar code: The error code. :vartype code: str @@ -225,10 +307,11 @@ class ErrorResponse(msrest.serialization.Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse] + :vartype details: + list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse] :ivar additional_info: The error additional info. :vartype additional_info: - list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorAdditionalInfo] + list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorAdditionalInfo] """ _validation = { @@ -247,10 +330,7 @@ class ErrorResponse(msrest.serialization.Model): 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(ErrorResponse, self).__init__(**kwargs) self.code = None self.message = None @@ -259,18 +339,20 @@ def __init__( self.additional_info = None -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager resources. +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. + 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}. + :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. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str """ @@ -286,53 +368,47 @@ class Resource(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) -class ScheduledQueryRuleCriteria(msrest.serialization.Model): +class ScheduledQueryRuleCriteria(Model): """The rule criteria that defines the conditions of the scheduled query rule. - :param all_of: A list of conditions to evaluate against the specified scopes. - :type all_of: list[~$(python-base-namespace).v2021_02_01_preview.models.Condition] + :param all_of: A list of conditions to evaluate against the specified + scopes + :type all_of: + list[~azure.mgmt.monitor.v2020_05_01_preview.models.Condition] """ _attribute_map = { 'all_of': {'key': 'allOf', 'type': '[Condition]'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(ScheduledQueryRuleCriteria, self).__init__(**kwargs) self.all_of = kwargs.get('all_of', None) class TrackedResource(Resource): - """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. + """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. + Variables are only populated 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}. + :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. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". + :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. + :param tags: Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. + :param location: Required. The geo-location where the resource lives :type location: str """ @@ -351,97 +427,65 @@ class TrackedResource(Resource): 'location': {'key': 'location', 'type': 'str'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(TrackedResource, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) - self.location = kwargs['location'] + self.location = kwargs.get('location', None) class ScheduledQueryRuleResource(TrackedResource): """The scheduled query rule resource. - 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. - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :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. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". + :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. + :param tags: Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. + :param location: Required. The geo-location where the resource lives :type location: str - :param kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible - values include: "LogAlert", "LogToMetric". - :type kind: str or ~$(python-base-namespace).v2021_02_01_preview.models.Kind - :ivar etag: The etag field is *not* required. If it is provided in the response body, it must - also be provided as a header per the normal etag convention. Entity tags are used for - comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in - the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range - (section 14.27) header fields. - :vartype etag: str - :ivar system_data: SystemData of ScheduledQueryRule. - :vartype system_data: ~$(python-base-namespace).v2021_02_01_preview.models.SystemData - :ivar created_with_api_version: The api-version used when creating this alert rule. - :vartype created_with_api_version: str - :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. - :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param display_name: The display name of the alert rule. - :type display_name: str - :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is - severest. Relevant and required only for rules of the kind LogAlert. Possible values include: - 0, 1, 2, 3, 4. - :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value - should be true or false. + :param severity: Severity of the alert. Should be an integer between + [0-4]. Value of 0 is severest + :type severity: int + :param enabled: The flag which indicates whether this scheduled query rule + is enabled. Value should be true or false :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is scoped to. + :param scopes: The list of resource id's that this scheduled query rule is + scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO - 8601 duration format. Relevant and required only for rules of the kind LogAlert. - :type evaluation_frequency: ~datetime.timedelta - :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query - will be executed (bin size). Relevant and required only for rules of the kind LogAlert. - :type window_size: ~datetime.timedelta - :param override_query_time_range: If specified then overrides the query time range (default is - WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. - :type override_query_time_range: ~datetime.timedelta - :param target_resource_types: List of resource type of the target resource(s) on which the - alert is created/updated. For example if the scope is a resource group and targetResourceTypes - is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual - machine in the resource group which meet the alert criteria. Relevant only for rules of the - kind LogAlert. + :param evaluation_frequency: How often the scheduled query rule is + evaluated represented in ISO 8601 duration format. + :type evaluation_frequency: timedelta + :param window_size: The period of time (in ISO 8601 duration format) on + which the Alert query will be executed (bin size). + :type window_size: timedelta + :param target_resource_types: List of resource type of the target + resource(s) on which the alert is created/updated. For example if the + scope is a resource group and targetResourceTypes is + Microsoft.Compute/virtualMachines, then a different alert will be fired + for each virtual machine in the resource group which meet the alert + criteria :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the scheduled query rule. - :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration - format) after the alert is fired. Relevant only for rules of the kind LogAlert. - :type mute_actions_duration: ~datetime.timedelta - :param actions: Actions to invoke when the alert fires. - :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] - :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled - query rule has been configured to be stored in the customer's storage. The default is false. - :vartype is_workspace_alerts_storage_configured: bool - :param check_workspace_alerts_storage_configured: The flag which indicates whether this - scheduled query rule should be stored in the customer's storage. The default is false. Relevant - only for rules of the kind LogAlert. - :type check_workspace_alerts_storage_configured: bool - :param skip_query_validation: The flag which indicates whether the provided query should be - validated or not. The default is false. Relevant only for rules of the kind LogAlert. - :type skip_query_validation: bool - :param auto_mitigate: The flag that indicates whether the alert should be automatically - resolved or not. The default is true. Relevant only for rules of the kind LogAlert. - :type auto_mitigate: bool + :param criteria: The rule criteria that defines the conditions of the + scheduled query rule. + :type criteria: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time + (in ISO 8601 duration format) after the alert is fired. + :type mute_actions_duration: timedelta + :param actions: + :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] """ _validation = { @@ -449,11 +493,6 @@ class ScheduledQueryRuleResource(TrackedResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, - 'etag': {'readonly': True}, - 'system_data': {'readonly': True}, - 'created_with_api_version': {'readonly': True}, - 'is_legacy_log_analytics_rule': {'readonly': True}, - 'is_workspace_alerts_storage_configured': {'readonly': True}, } _attribute_map = { @@ -462,230 +501,96 @@ class ScheduledQueryRuleResource(TrackedResource): 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, - 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, - 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, - 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, - 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(ScheduledQueryRuleResource, self).__init__(**kwargs) - self.kind = kwargs.get('kind', None) - self.etag = None - self.system_data = None - self.created_with_api_version = None - self.is_legacy_log_analytics_rule = None self.description = kwargs.get('description', None) - self.display_name = kwargs.get('display_name', None) self.severity = kwargs.get('severity', None) self.enabled = kwargs.get('enabled', None) self.scopes = kwargs.get('scopes', None) self.evaluation_frequency = kwargs.get('evaluation_frequency', None) self.window_size = kwargs.get('window_size', None) - self.override_query_time_range = kwargs.get('override_query_time_range', None) self.target_resource_types = kwargs.get('target_resource_types', None) self.criteria = kwargs.get('criteria', None) self.mute_actions_duration = kwargs.get('mute_actions_duration', None) self.actions = kwargs.get('actions', None) - self.is_workspace_alerts_storage_configured = None - self.check_workspace_alerts_storage_configured = kwargs.get('check_workspace_alerts_storage_configured', None) - self.skip_query_validation = kwargs.get('skip_query_validation', None) - self.auto_mitigate = kwargs.get('auto_mitigate', None) - - -class ScheduledQueryRuleResourceCollection(msrest.serialization.Model): - """Represents a collection of scheduled query rule resources. - - :param value: The values for the scheduled query rule resources. - :type value: - list[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'}, - } - def __init__( - self, - **kwargs - ): - super(ScheduledQueryRuleResourceCollection, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - -class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): +class ScheduledQueryRuleResourcePatch(Model): """The scheduled query rule resource for patch operations. - Variables are only populated by the server, and will be ignored when sending a request. - - :param tags: A set of tags. Resource tags. + :param tags: Resource tags :type tags: dict[str, str] - :ivar created_with_api_version: The api-version used when creating this alert rule. - :vartype created_with_api_version: str - :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. - :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param display_name: The display name of the alert rule. - :type display_name: str - :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is - severest. Relevant and required only for rules of the kind LogAlert. Possible values include: - 0, 1, 2, 3, 4. - :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value - should be true or false. + :param severity: Severity of the alert. Should be an integer between + [0-4]. Value of 0 is severest + :type severity: int + :param enabled: The flag which indicates whether this scheduled query rule + is enabled. Value should be true or false :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is scoped to. + :param scopes: The list of resource id's that this scheduled query rule is + scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO - 8601 duration format. Relevant and required only for rules of the kind LogAlert. - :type evaluation_frequency: ~datetime.timedelta - :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query - will be executed (bin size). Relevant and required only for rules of the kind LogAlert. - :type window_size: ~datetime.timedelta - :param override_query_time_range: If specified then overrides the query time range (default is - WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. - :type override_query_time_range: ~datetime.timedelta - :param target_resource_types: List of resource type of the target resource(s) on which the - alert is created/updated. For example if the scope is a resource group and targetResourceTypes - is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual - machine in the resource group which meet the alert criteria. Relevant only for rules of the - kind LogAlert. + :param evaluation_frequency: How often the scheduled query rule is + evaluated represented in ISO 8601 duration format. + :type evaluation_frequency: timedelta + :param window_size: The period of time (in ISO 8601 duration format) on + which the Alert query will be executed (bin size). + :type window_size: timedelta + :param target_resource_types: List of resource type of the target + resource(s) on which the alert is created/updated. For example if the + scope is a resource group and targetResourceTypes is + Microsoft.Compute/virtualMachines, then a different alert will be fired + for each virtual machine in the resource group which meet the alert + criteria :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the scheduled query rule. - :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration - format) after the alert is fired. Relevant only for rules of the kind LogAlert. - :type mute_actions_duration: ~datetime.timedelta - :param actions: Actions to invoke when the alert fires. - :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] - :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled - query rule has been configured to be stored in the customer's storage. The default is false. - :vartype is_workspace_alerts_storage_configured: bool - :param check_workspace_alerts_storage_configured: The flag which indicates whether this - scheduled query rule should be stored in the customer's storage. The default is false. Relevant - only for rules of the kind LogAlert. - :type check_workspace_alerts_storage_configured: bool - :param skip_query_validation: The flag which indicates whether the provided query should be - validated or not. The default is false. Relevant only for rules of the kind LogAlert. - :type skip_query_validation: bool - :param auto_mitigate: The flag that indicates whether the alert should be automatically - resolved or not. The default is true. Relevant only for rules of the kind LogAlert. - :type auto_mitigate: bool + :param criteria: The rule criteria that defines the conditions of the + scheduled query rule. + :type criteria: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time + (in ISO 8601 duration format) after the alert is fired. + :type mute_actions_duration: timedelta + :param actions: + :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] """ - _validation = { - 'created_with_api_version': {'readonly': True}, - 'is_legacy_log_analytics_rule': {'readonly': True}, - 'is_workspace_alerts_storage_configured': {'readonly': True}, - } - _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, - 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, - 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, - 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, - 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, - 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs): super(ScheduledQueryRuleResourcePatch, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) - self.created_with_api_version = None - self.is_legacy_log_analytics_rule = None self.description = kwargs.get('description', None) - self.display_name = kwargs.get('display_name', None) self.severity = kwargs.get('severity', None) self.enabled = kwargs.get('enabled', None) self.scopes = kwargs.get('scopes', None) self.evaluation_frequency = kwargs.get('evaluation_frequency', None) self.window_size = kwargs.get('window_size', None) - self.override_query_time_range = kwargs.get('override_query_time_range', None) self.target_resource_types = kwargs.get('target_resource_types', None) self.criteria = kwargs.get('criteria', None) self.mute_actions_duration = kwargs.get('mute_actions_duration', None) self.actions = kwargs.get('actions', None) - self.is_workspace_alerts_storage_configured = None - self.check_workspace_alerts_storage_configured = kwargs.get('check_workspace_alerts_storage_configured', None) - self.skip_query_validation = kwargs.get('skip_query_validation', None) - self.auto_mitigate = kwargs.get('auto_mitigate', None) - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or - ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py index 7cb8fd39ad4..e9d2d107998 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py @@ -1,24 +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. # -------------------------------------------------------------------------- -import datetime -from typing import Dict, List, Optional, Union +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError -from azure.core.exceptions import HttpResponseError -import msrest.serialization -from ._monitor_management_client_enums import * - - -class Action(msrest.serialization.Model): +class Action(Model): """Actions to invoke when the alert fires. - :param action_group_id: Action Group resource Id to invoke when the alert fires. + :param action_group_id: Action Group resource Id to invoke when the alert + fires. :type action_group_id: str :param web_hook_properties: The properties of a webhook object. :type web_hook_properties: dict[str, str] @@ -29,51 +28,125 @@ class Action(msrest.serialization.Model): 'web_hook_properties': {'key': 'webHookProperties', 'type': '{str}'}, } - def __init__( - self, - *, - action_group_id: Optional[str] = None, - web_hook_properties: Optional[Dict[str, str]] = None, - **kwargs - ): + def __init__(self, *, action_group_id: str=None, web_hook_properties=None, **kwargs) -> None: super(Action, self).__init__(**kwargs) self.action_group_id = action_group_id self.web_hook_properties = web_hook_properties -class Condition(msrest.serialization.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 + + +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 Condition(Model): """A condition of the scheduled query rule. All required parameters must be populated in order to send to Azure. - :param query: Log query alert. + :param query: Log query alert :type query: str - :param time_aggregation: Required. Aggregation type. Relevant and required only for rules of - the kind LogAlert. Possible values include: "Count", "Average", "Minimum", "Maximum", "Total". + :param time_aggregation: Required. Aggregation type. Possible values + include: 'Count', 'Average', 'Minimum', 'Maximum', 'Total' :type time_aggregation: str or - ~$(python-base-namespace).v2021_02_01_preview.models.TimeAggregation - :param metric_measure_column: The column containing the metric measure number. Relevant only - for rules of the kind LogAlert. + ~azure.mgmt.monitor.v2020_05_01_preview.models.TimeAggregation + :param metric_measure_column: The column containing the metric measure + number. :type metric_measure_column: str - :param resource_id_column: The column containing the resource id. The content of the column - must be a uri formatted as resource id. Relevant only for rules of the kind LogAlert. + :param resource_id_column: The column containing the resource id. The + content of the column must be a uri formatted as resource id :type resource_id_column: str - :param dimensions: List of Dimensions conditions. - :type dimensions: list[~$(python-base-namespace).v2021_02_01_preview.models.Dimension] - :param operator: Required. The criteria operator. Relevant and required only for rules of the - kind LogAlert. Possible values include: "Equals", "GreaterThan", "GreaterThanOrEqual", - "LessThan", "LessThanOrEqual". - :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.ConditionOperator - :param threshold: Required. the criteria threshold value that activates the alert. Relevant and - required only for rules of the kind LogAlert. - :type threshold: float - :param failing_periods: The minimum number of violations required within the selected lookback - time window required to raise an alert. Relevant only for rules of the kind LogAlert. + :param dimensions: List of Dimensions conditions + :type dimensions: + list[~azure.mgmt.monitor.v2020_05_01_preview.models.Dimension] + :param operator: Required. The criteria operator. Possible values include: + 'Equals', 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', + 'LessThanOrEqual' + :type operator: str or + ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionOperator + :param threshold: Required. the criteria threshold value that activates + the alert. + :type threshold: int + :param failing_periods: The minimum number of violations required within + the selected lookback time window required to raise an alert. :type failing_periods: - ~$(python-base-namespace).v2021_02_01_preview.models.ConditionFailingPeriods - :param metric_name: The name of the metric to be sent. Relevant and required only for rules of - the kind LogToMetric. - :type metric_name: str + ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionFailingPeriods """ _validation = { @@ -89,25 +162,11 @@ class Condition(msrest.serialization.Model): 'resource_id_column': {'key': 'resourceIdColumn', 'type': 'str'}, 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 'operator': {'key': 'operator', 'type': 'str'}, - 'threshold': {'key': 'threshold', 'type': 'float'}, + 'threshold': {'key': 'threshold', 'type': 'int'}, 'failing_periods': {'key': 'failingPeriods', 'type': 'ConditionFailingPeriods'}, - 'metric_name': {'key': 'metricName', 'type': 'str'}, } - def __init__( - self, - *, - time_aggregation: Union[str, "TimeAggregation"], - operator: Union[str, "ConditionOperator"], - threshold: float, - query: Optional[str] = None, - metric_measure_column: Optional[str] = None, - resource_id_column: Optional[str] = None, - dimensions: Optional[List["Dimension"]] = None, - failing_periods: Optional["ConditionFailingPeriods"] = None, - metric_name: Optional[str] = None, - **kwargs - ): + def __init__(self, *, time_aggregation, operator, threshold: int, query: str=None, metric_measure_column: str=None, resource_id_column: str=None, dimensions=None, failing_periods=None, **kwargs) -> None: super(Condition, self).__init__(**kwargs) self.query = query self.time_aggregation = time_aggregation @@ -117,49 +176,46 @@ def __init__( self.operator = operator self.threshold = threshold self.failing_periods = failing_periods - self.metric_name = metric_name -class ConditionFailingPeriods(msrest.serialization.Model): - """The minimum number of violations required within the selected lookback time window required to raise an alert. Relevant only for rules of the kind LogAlert. +class ConditionFailingPeriods(Model): + """The minimum number of violations required within the selected lookback time + window required to raise an alert. - :param number_of_evaluation_periods: The number of aggregated lookback points. The lookback - time window is calculated based on the aggregation granularity (windowSize) and the selected - number of aggregated points. Default value is 1. - :type number_of_evaluation_periods: long - :param min_failing_periods_to_alert: The number of violations to trigger an alert. Should be - smaller or equal to numberOfEvaluationPeriods. Default value is 1. - :type min_failing_periods_to_alert: long + :param number_of_evaluation_periods: The number of aggregated lookback + points. The lookback time window is calculated based on the aggregation + granularity (windowSize) and the selected number of aggregated points. + Default value is 1 + :type number_of_evaluation_periods: int + :param min_failing_periods_to_alert: The number of violations to trigger + an alert. Should be smaller or equal to numberOfEvaluationPeriods. Default + value is 1 + :type min_failing_periods_to_alert: int """ _attribute_map = { - 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'long'}, - 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'long'}, + 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'int'}, + 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'int'}, } - def __init__( - self, - *, - number_of_evaluation_periods: Optional[int] = 1, - min_failing_periods_to_alert: Optional[int] = 1, - **kwargs - ): + def __init__(self, *, number_of_evaluation_periods: int=None, min_failing_periods_to_alert: int=None, **kwargs) -> None: super(ConditionFailingPeriods, self).__init__(**kwargs) self.number_of_evaluation_periods = number_of_evaluation_periods self.min_failing_periods_to_alert = min_failing_periods_to_alert -class Dimension(msrest.serialization.Model): +class Dimension(Model): """Dimension splitting and filtering definition. All required parameters must be populated in order to send to Azure. - :param name: Required. Name of the dimension. + :param name: Required. Name of the dimension :type name: str - :param operator: Required. Operator for dimension values. Possible values include: "Include", - "Exclude". - :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.DimensionOperator - :param values: Required. List of dimension values. + :param operator: Required. Operator for dimension values. Possible values + include: 'Include', 'Exclude' + :type operator: str or + ~azure.mgmt.monitor.v2020_05_01_preview.models.DimensionOperator + :param values: Required. List of dimension values :type values: list[str] """ @@ -175,29 +231,23 @@ class Dimension(msrest.serialization.Model): 'values': {'key': 'values', 'type': '[str]'}, } - def __init__( - self, - *, - name: str, - operator: Union[str, "DimensionOperator"], - values: List[str], - **kwargs - ): + def __init__(self, *, name: str, operator, values, **kwargs) -> None: super(Dimension, self).__init__(**kwargs) self.name = name self.operator = operator self.values = values -class ErrorAdditionalInfo(msrest.serialization.Model): +class ErrorAdditionalInfo(Model): """The resource management error additional info. - 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 type: The additional info type. :vartype type: str :ivar info: The additional info. - :vartype info: str + :vartype info: object """ _validation = { @@ -207,43 +257,48 @@ class ErrorAdditionalInfo(msrest.serialization.Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs) -> None: super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None -class ErrorContract(msrest.serialization.Model): +class ErrorContract(Model): """Describes the format of Error response. :param error: The error details. - :type error: ~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse + :type error: ~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse """ _attribute_map = { 'error': {'key': 'error', 'type': 'ErrorResponse'}, } - def __init__( - self, - *, - error: Optional["ErrorResponse"] = None, - **kwargs - ): + def __init__(self, *, error=None, **kwargs) -> None: super(ErrorContract, self).__init__(**kwargs) self.error = error -class ErrorResponse(msrest.serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). +class ErrorContractException(HttpOperationError): + """Server responsed with exception of type: 'ErrorContract'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorContractException, self).__init__(deserialize, response, 'ErrorContract', *args) - Variables are only populated by the server, and will be ignored when sending a request. + +class ErrorResponse(Model): + """The resource management error response. + + Variables are only populated by the server, and will be ignored when + sending a request. :ivar code: The error code. :vartype code: str @@ -252,10 +307,11 @@ class ErrorResponse(msrest.serialization.Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse] + :vartype details: + list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse] :ivar additional_info: The error additional info. :vartype additional_info: - list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorAdditionalInfo] + list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorAdditionalInfo] """ _validation = { @@ -274,10 +330,7 @@ class ErrorResponse(msrest.serialization.Model): 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, } - def __init__( - self, - **kwargs - ): + def __init__(self, **kwargs) -> None: super(ErrorResponse, self).__init__(**kwargs) self.code = None self.message = None @@ -286,18 +339,20 @@ def __init__( self.additional_info = None -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager resources. +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. + 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}. + :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. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str """ @@ -313,55 +368,47 @@ class Resource(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) -class ScheduledQueryRuleCriteria(msrest.serialization.Model): +class ScheduledQueryRuleCriteria(Model): """The rule criteria that defines the conditions of the scheduled query rule. - :param all_of: A list of conditions to evaluate against the specified scopes. - :type all_of: list[~$(python-base-namespace).v2021_02_01_preview.models.Condition] + :param all_of: A list of conditions to evaluate against the specified + scopes + :type all_of: + list[~azure.mgmt.monitor.v2020_05_01_preview.models.Condition] """ _attribute_map = { 'all_of': {'key': 'allOf', 'type': '[Condition]'}, } - def __init__( - self, - *, - all_of: Optional[List["Condition"]] = None, - **kwargs - ): + def __init__(self, *, all_of=None, **kwargs) -> None: super(ScheduledQueryRuleCriteria, self).__init__(**kwargs) self.all_of = all_of class TrackedResource(Resource): - """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. + """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. + Variables are only populated 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}. + :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. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". + :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. + :param tags: Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. + :param location: Required. The geo-location where the resource lives :type location: str """ @@ -380,13 +427,7 @@ class TrackedResource(Resource): 'location': {'key': 'location', 'type': 'str'}, } - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - **kwargs - ): + def __init__(self, *, location: str, tags=None, **kwargs) -> None: super(TrackedResource, self).__init__(**kwargs) self.tags = tags self.location = location @@ -395,85 +436,56 @@ def __init__( class ScheduledQueryRuleResource(TrackedResource): """The scheduled query rule resource. - 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. - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :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. + :ivar name: The name of the resource :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". + :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. + :param tags: Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. + :param location: Required. The geo-location where the resource lives :type location: str - :param kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible - values include: "LogAlert", "LogToMetric". - :type kind: str or ~$(python-base-namespace).v2021_02_01_preview.models.Kind - :ivar etag: The etag field is *not* required. If it is provided in the response body, it must - also be provided as a header per the normal etag convention. Entity tags are used for - comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in - the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range - (section 14.27) header fields. - :vartype etag: str - :ivar system_data: SystemData of ScheduledQueryRule. - :vartype system_data: ~$(python-base-namespace).v2021_02_01_preview.models.SystemData - :ivar created_with_api_version: The api-version used when creating this alert rule. - :vartype created_with_api_version: str - :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. - :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param display_name: The display name of the alert rule. - :type display_name: str - :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is - severest. Relevant and required only for rules of the kind LogAlert. Possible values include: - 0, 1, 2, 3, 4. - :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value - should be true or false. + :param severity: Severity of the alert. Should be an integer between + [0-4]. Value of 0 is severest + :type severity: int + :param enabled: The flag which indicates whether this scheduled query rule + is enabled. Value should be true or false :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is scoped to. + :param scopes: The list of resource id's that this scheduled query rule is + scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO - 8601 duration format. Relevant and required only for rules of the kind LogAlert. - :type evaluation_frequency: ~datetime.timedelta - :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query - will be executed (bin size). Relevant and required only for rules of the kind LogAlert. - :type window_size: ~datetime.timedelta - :param override_query_time_range: If specified then overrides the query time range (default is - WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. - :type override_query_time_range: ~datetime.timedelta - :param target_resource_types: List of resource type of the target resource(s) on which the - alert is created/updated. For example if the scope is a resource group and targetResourceTypes - is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual - machine in the resource group which meet the alert criteria. Relevant only for rules of the - kind LogAlert. + :param evaluation_frequency: How often the scheduled query rule is + evaluated represented in ISO 8601 duration format. + :type evaluation_frequency: timedelta + :param window_size: The period of time (in ISO 8601 duration format) on + which the Alert query will be executed (bin size). + :type window_size: timedelta + :param target_resource_types: List of resource type of the target + resource(s) on which the alert is created/updated. For example if the + scope is a resource group and targetResourceTypes is + Microsoft.Compute/virtualMachines, then a different alert will be fired + for each virtual machine in the resource group which meet the alert + criteria :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the scheduled query rule. - :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration - format) after the alert is fired. Relevant only for rules of the kind LogAlert. - :type mute_actions_duration: ~datetime.timedelta - :param actions: Actions to invoke when the alert fires. - :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] - :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled - query rule has been configured to be stored in the customer's storage. The default is false. - :vartype is_workspace_alerts_storage_configured: bool - :param check_workspace_alerts_storage_configured: The flag which indicates whether this - scheduled query rule should be stored in the customer's storage. The default is false. Relevant - only for rules of the kind LogAlert. - :type check_workspace_alerts_storage_configured: bool - :param skip_query_validation: The flag which indicates whether the provided query should be - validated or not. The default is false. Relevant only for rules of the kind LogAlert. - :type skip_query_validation: bool - :param auto_mitigate: The flag that indicates whether the alert should be automatically - resolved or not. The default is true. Relevant only for rules of the kind LogAlert. - :type auto_mitigate: bool + :param criteria: The rule criteria that defines the conditions of the + scheduled query rule. + :type criteria: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time + (in ISO 8601 duration format) after the alert is fired. + :type mute_actions_duration: timedelta + :param actions: + :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] """ _validation = { @@ -481,11 +493,6 @@ class ScheduledQueryRuleResource(TrackedResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, - 'etag': {'readonly': True}, - 'system_data': {'readonly': True}, - 'created_with_api_version': {'readonly': True}, - 'is_legacy_log_analytics_rule': {'readonly': True}, - 'is_workspace_alerts_storage_configured': {'readonly': True}, } _attribute_map = { @@ -494,275 +501,96 @@ class ScheduledQueryRuleResource(TrackedResource): 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, - 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, - 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, - 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, - 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - kind: Optional[Union[str, "Kind"]] = None, - description: Optional[str] = None, - display_name: Optional[str] = None, - severity: Optional[Union[float, "AlertSeverity"]] = None, - enabled: Optional[bool] = None, - scopes: Optional[List[str]] = None, - evaluation_frequency: Optional[datetime.timedelta] = None, - window_size: Optional[datetime.timedelta] = None, - override_query_time_range: Optional[datetime.timedelta] = None, - target_resource_types: Optional[List[str]] = None, - criteria: Optional["ScheduledQueryRuleCriteria"] = None, - mute_actions_duration: Optional[datetime.timedelta] = None, - actions: Optional[List["Action"]] = None, - check_workspace_alerts_storage_configured: Optional[bool] = None, - skip_query_validation: Optional[bool] = None, - auto_mitigate: Optional[bool] = None, - **kwargs - ): + def __init__(self, *, location: str, tags=None, description: str=None, severity: int=None, enabled: bool=None, scopes=None, evaluation_frequency=None, window_size=None, target_resource_types=None, criteria=None, mute_actions_duration=None, actions=None, **kwargs) -> None: super(ScheduledQueryRuleResource, self).__init__(tags=tags, location=location, **kwargs) - self.kind = kind - self.etag = None - self.system_data = None - self.created_with_api_version = None - self.is_legacy_log_analytics_rule = None self.description = description - self.display_name = display_name self.severity = severity self.enabled = enabled self.scopes = scopes self.evaluation_frequency = evaluation_frequency self.window_size = window_size - self.override_query_time_range = override_query_time_range self.target_resource_types = target_resource_types self.criteria = criteria self.mute_actions_duration = mute_actions_duration self.actions = actions - self.is_workspace_alerts_storage_configured = None - self.check_workspace_alerts_storage_configured = check_workspace_alerts_storage_configured - self.skip_query_validation = skip_query_validation - self.auto_mitigate = auto_mitigate - - -class ScheduledQueryRuleResourceCollection(msrest.serialization.Model): - """Represents a collection of scheduled query rule resources. - - :param value: The values for the scheduled query rule resources. - :type value: - list[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'}, - } - - def __init__( - self, - *, - value: Optional[List["ScheduledQueryRuleResource"]] = None, - **kwargs - ): - super(ScheduledQueryRuleResourceCollection, self).__init__(**kwargs) - self.value = value -class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): +class ScheduledQueryRuleResourcePatch(Model): """The scheduled query rule resource for patch operations. - Variables are only populated by the server, and will be ignored when sending a request. - - :param tags: A set of tags. Resource tags. + :param tags: Resource tags :type tags: dict[str, str] - :ivar created_with_api_version: The api-version used when creating this alert rule. - :vartype created_with_api_version: str - :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. - :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param display_name: The display name of the alert rule. - :type display_name: str - :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is - severest. Relevant and required only for rules of the kind LogAlert. Possible values include: - 0, 1, 2, 3, 4. - :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value - should be true or false. + :param severity: Severity of the alert. Should be an integer between + [0-4]. Value of 0 is severest + :type severity: int + :param enabled: The flag which indicates whether this scheduled query rule + is enabled. Value should be true or false :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is scoped to. + :param scopes: The list of resource id's that this scheduled query rule is + scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO - 8601 duration format. Relevant and required only for rules of the kind LogAlert. - :type evaluation_frequency: ~datetime.timedelta - :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query - will be executed (bin size). Relevant and required only for rules of the kind LogAlert. - :type window_size: ~datetime.timedelta - :param override_query_time_range: If specified then overrides the query time range (default is - WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. - :type override_query_time_range: ~datetime.timedelta - :param target_resource_types: List of resource type of the target resource(s) on which the - alert is created/updated. For example if the scope is a resource group and targetResourceTypes - is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual - machine in the resource group which meet the alert criteria. Relevant only for rules of the - kind LogAlert. + :param evaluation_frequency: How often the scheduled query rule is + evaluated represented in ISO 8601 duration format. + :type evaluation_frequency: timedelta + :param window_size: The period of time (in ISO 8601 duration format) on + which the Alert query will be executed (bin size). + :type window_size: timedelta + :param target_resource_types: List of resource type of the target + resource(s) on which the alert is created/updated. For example if the + scope is a resource group and targetResourceTypes is + Microsoft.Compute/virtualMachines, then a different alert will be fired + for each virtual machine in the resource group which meet the alert + criteria :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the scheduled query rule. - :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration - format) after the alert is fired. Relevant only for rules of the kind LogAlert. - :type mute_actions_duration: ~datetime.timedelta - :param actions: Actions to invoke when the alert fires. - :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] - :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled - query rule has been configured to be stored in the customer's storage. The default is false. - :vartype is_workspace_alerts_storage_configured: bool - :param check_workspace_alerts_storage_configured: The flag which indicates whether this - scheduled query rule should be stored in the customer's storage. The default is false. Relevant - only for rules of the kind LogAlert. - :type check_workspace_alerts_storage_configured: bool - :param skip_query_validation: The flag which indicates whether the provided query should be - validated or not. The default is false. Relevant only for rules of the kind LogAlert. - :type skip_query_validation: bool - :param auto_mitigate: The flag that indicates whether the alert should be automatically - resolved or not. The default is true. Relevant only for rules of the kind LogAlert. - :type auto_mitigate: bool + :param criteria: The rule criteria that defines the conditions of the + scheduled query rule. + :type criteria: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time + (in ISO 8601 duration format) after the alert is fired. + :type mute_actions_duration: timedelta + :param actions: + :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] """ - _validation = { - 'created_with_api_version': {'readonly': True}, - 'is_legacy_log_analytics_rule': {'readonly': True}, - 'is_workspace_alerts_storage_configured': {'readonly': True}, - } - _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, - 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, - 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, - 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, - 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, - 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, - 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__( - self, - *, - tags: Optional[Dict[str, str]] = None, - description: Optional[str] = None, - display_name: Optional[str] = None, - severity: Optional[Union[float, "AlertSeverity"]] = None, - enabled: Optional[bool] = None, - scopes: Optional[List[str]] = None, - evaluation_frequency: Optional[datetime.timedelta] = None, - window_size: Optional[datetime.timedelta] = None, - override_query_time_range: Optional[datetime.timedelta] = None, - target_resource_types: Optional[List[str]] = None, - criteria: Optional["ScheduledQueryRuleCriteria"] = None, - mute_actions_duration: Optional[datetime.timedelta] = None, - actions: Optional[List["Action"]] = None, - check_workspace_alerts_storage_configured: Optional[bool] = None, - skip_query_validation: Optional[bool] = None, - auto_mitigate: Optional[bool] = None, - **kwargs - ): + def __init__(self, *, tags=None, description: str=None, severity: int=None, enabled: bool=None, scopes=None, evaluation_frequency=None, window_size=None, target_resource_types=None, criteria=None, mute_actions_duration=None, actions=None, **kwargs) -> None: super(ScheduledQueryRuleResourcePatch, self).__init__(**kwargs) self.tags = tags - self.created_with_api_version = None - self.is_legacy_log_analytics_rule = None self.description = description - self.display_name = display_name self.severity = severity self.enabled = enabled self.scopes = scopes self.evaluation_frequency = evaluation_frequency self.window_size = window_size - self.override_query_time_range = override_query_time_range self.target_resource_types = target_resource_types self.criteria = criteria self.mute_actions_duration = mute_actions_duration self.actions = actions - self.is_workspace_alerts_storage_configured = None - self.check_workspace_alerts_storage_configured = check_workspace_alerts_storage_configured - self.skip_query_validation = skip_query_validation - self.auto_mitigate = auto_mitigate - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or - ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - created_by: Optional[str] = None, - created_by_type: Optional[Union[str, "CreatedByType"]] = None, - created_at: Optional[datetime.datetime] = None, - last_modified_by: Optional[str] = None, - last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, - last_modified_at: Optional[datetime.datetime] = None, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = created_by - self.created_by_type = created_by_type - self.created_at = created_at - self.last_modified_by = last_modified_by - self.last_modified_by_type = last_modified_by_type - self.last_modified_at = last_modified_at diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.py new file mode 100644 index 00000000000..93fa54eb856 --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.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 enum import Enum + + +class TimeAggregation(str, Enum): + + count = "Count" + average = "Average" + minimum = "Minimum" + maximum = "Maximum" + total = "Total" + + +class DimensionOperator(str, Enum): + + include = "Include" + exclude = "Exclude" + + +class ConditionOperator(str, Enum): + + equals = "Equals" + greater_than = "GreaterThan" + greater_than_or_equal = "GreaterThanOrEqual" + less_than = "LessThan" + less_than_or_equal = "LessThanOrEqual" diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.py deleted file mode 100644 index 161a4ad83b7..00000000000 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.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 enum import Enum, EnumMeta -from six import with_metaclass - -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class AlertSeverity(with_metaclass(_CaseInsensitiveEnumMeta, float, Enum)): - """Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and - required only for rules of the kind LogAlert. - """ - - ZERO = 0 - ONE = 1 - TWO = 2 - THREE = 3 - FOUR = 4 - -class ConditionOperator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The criteria operator. Relevant and required only for rules of the kind LogAlert. - """ - - EQUALS = "Equals" - GREATER_THAN = "GreaterThan" - GREATER_THAN_OR_EQUAL = "GreaterThanOrEqual" - LESS_THAN = "LessThan" - LESS_THAN_OR_EQUAL = "LessThanOrEqual" - -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The type of identity that created the resource. - """ - - USER = "User" - APPLICATION = "Application" - MANAGED_IDENTITY = "ManagedIdentity" - KEY = "Key" - -class DimensionOperator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Operator for dimension values - """ - - INCLUDE = "Include" - EXCLUDE = "Exclude" - -class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Indicates the type of scheduled query rule. The default is LogAlert. - """ - - LOG_ALERT = "LogAlert" - LOG_TO_METRIC = "LogToMetric" - -class TimeAggregation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Aggregation type. Relevant and required only for rules of the kind LogAlert. - """ - - COUNT = "Count" - AVERAGE = "Average" - MINIMUM = "Minimum" - MAXIMUM = "Maximum" - TOTAL = "Total" diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_paged_models.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_paged_models.py new file mode 100644 index 00000000000..f84d254075a --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/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 ScheduledQueryRuleResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`ScheduledQueryRuleResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'} + } + + def __init__(self, *args, **kwargs): + + super(ScheduledQueryRuleResourcePaged, self).__init__(*args, **kwargs) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py index f677702ed3d..c8cedc13e4d 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py @@ -1,9 +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. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. # -------------------------------------------------------------------------- from ._scheduled_query_rules_operations import ScheduledQueryRulesOperations diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py index 0a62242f6c8..448838fbdc5 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py @@ -1,443 +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. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ClientAuthenticationError, 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 +import uuid +from msrest.pipeline import ClientRawResponse -from .. import models as _models +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 ScheduledQueryRulesOperations(object): """ScheduledQueryRulesOperations 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. + 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: ~$(python-base-namespace).v2021_02_01_preview.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. + :ivar api_version: Client Api Version. Constant value: "2020-05-01-preview". """ - models = _models + models = models def __init__(self, client, config, serializer, deserializer): + self._client = client self._serialize = serializer self._deserialize = deserializer - self._config = config + self.api_version = "2020-05-01-preview" + + self.config = config def list_by_subscription( - self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ScheduledQueryRuleResourceCollection"] + self, custom_headers=None, raw=False, **operation_config): """Retrieve a scheduled query rule definitions in a subscription. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResourceCollection] - :raises: ~azure.core.exceptions.HttpResponseError + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ScheduledQueryRuleResource + :rtype: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResourcePaged[~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource] + :raises: + :class:`ErrorContractException` """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: # Construct URL - url = self.list_by_subscription.metadata['url'] # type: ignore + 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), + 'subscriptionId': self._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') + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request + query_parameters = {} - def extract_data(pipeline_response): - deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request - def get_next(next_link=None): + def internal_paging(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise models.ErrorContractException(self._deserialize, response) - return pipeline_response + return response - return ItemPaged( - get_next, extract_data - ) - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/scheduledQueryRules'} # type: ignore + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ScheduledQueryRuleResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/scheduledQueryRules'} def list_by_resource_group( - self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ScheduledQueryRuleResourceCollection"] + self, resource_group_name, custom_headers=None, raw=False, **operation_config): """Retrieve scheduled query rule definitions in a resource group. - :param resource_group_name: The name of the resource group. The name is case insensitive. + :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: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResourceCollection] - :raises: ~azure.core.exceptions.HttpResponseError + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ScheduledQueryRuleResource + :rtype: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResourcePaged[~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource] + :raises: + :class:`ErrorContractException` """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: # Construct URL - url = self.list_by_resource_group.metadata['url'] # type: ignore + 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\._\(\)]+$'), + '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') + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request + query_parameters = {} - def extract_data(pipeline_response): - deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request - def get_next(next_link=None): + def internal_paging(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise models.ErrorContractException(self._deserialize, response) - return pipeline_response + return response - return ItemPaged( - get_next, extract_data - ) - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules'} # type: ignore + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ScheduledQueryRuleResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules'} def get( - self, - resource_group_name, # type: str - rule_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ScheduledQueryRuleResource" + self, resource_group_name, rule_name, custom_headers=None, raw=False, **operation_config): """Retrieve an scheduled query rule definition. - :param resource_group_name: The name of the resource group. The name is case insensitive. + :param resource_group_name: The name of the resource group. :type resource_group_name: str :param rule_name: The name of the rule. :type rule_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ScheduledQueryRuleResource, or the result of cls(response) - :rtype: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource - :raises: ~azure.core.exceptions.HttpResponseError + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ScheduledQueryRuleResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorContractException` """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" - accept = "application/json" - # Construct URL - url = self.get.metadata['url'] # type: ignore + 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\._\(\)]+$'), - 'ruleName': self._serialize.url("rule_name", rule_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'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # 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 + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise models.ErrorContractException(self._deserialize, response) - deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ScheduledQueryRuleResource', response) - if cls: - return cls(pipeline_response, deserialized, {}) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} def create_or_update( - self, - resource_group_name, # type: str - rule_name, # type: str - parameters, # type: "_models.ScheduledQueryRuleResource" - **kwargs # type: Any - ): - # type: (...) -> "_models.ScheduledQueryRuleResource" + self, resource_group_name, rule_name, parameters, custom_headers=None, raw=False, **operation_config): """Creates or updates a scheduled query rule. - :param resource_group_name: The name of the resource group. The name is case insensitive. + :param resource_group_name: The name of the resource group. :type resource_group_name: str :param rule_name: The name of the rule. :type rule_name: str :param parameters: The parameters of the rule to create or update. - :type parameters: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ScheduledQueryRuleResource, or the result of cls(response) - :rtype: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource - :raises: ~azure.core.exceptions.HttpResponseError + :type parameters: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ScheduledQueryRuleResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorContractException` """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore + 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\._\(\)]+$'), - 'ruleName': self._serialize.url("rule_name", rule_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'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body body_content = self._serialize.body(parameters, 'ScheduledQueryRuleResource') - 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 + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 201]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise models.ErrorContractException(self._deserialize, response) + deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) - + deserialized = self._deserialize('ScheduledQueryRuleResource', response) if response.status_code == 201: - deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) + deserialized = self._deserialize('ScheduledQueryRuleResource', response) - if cls: - return cls(pipeline_response, deserialized, {}) + 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/scheduledQueryRules/{ruleName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} def update( - self, - resource_group_name, # type: str - rule_name, # type: str - parameters, # type: "_models.ScheduledQueryRuleResourcePatch" - **kwargs # type: Any - ): - # type: (...) -> "_models.ScheduledQueryRuleResource" + self, resource_group_name, rule_name, parameters, custom_headers=None, raw=False, **operation_config): """Update a scheduled query rule. - :param resource_group_name: The name of the resource group. The name is case insensitive. + :param resource_group_name: The name of the resource group. :type resource_group_name: str :param rule_name: The name of the rule. :type rule_name: str :param parameters: The parameters of the rule to update. - :type parameters: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResourcePatch - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ScheduledQueryRuleResource, or the result of cls(response) - :rtype: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource - :raises: ~azure.core.exceptions.HttpResponseError + :type parameters: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResourcePatch + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ScheduledQueryRuleResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorContractException` """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - # Construct URL - url = self.update.metadata['url'] # type: ignore + 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\._\(\)]+$'), - 'ruleName': self._serialize.url("rule_name", rule_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'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body body_content = self._serialize.body(parameters, 'ScheduledQueryRuleResourcePatch') - 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 + + # 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise models.ErrorContractException(self._deserialize, response) - deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ScheduledQueryRuleResource', response) - if cls: - return cls(pipeline_response, deserialized, {}) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} def delete( - self, - resource_group_name, # type: str - rule_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + self, resource_group_name, rule_name, custom_headers=None, raw=False, **operation_config): """Deletes a scheduled query rule. - :param resource_group_name: The name of the resource group. The name is case insensitive. + :param resource_group_name: The name of the resource group. :type resource_group_name: str :param rule_name: The name of the rule. :type rule_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 + :param dict custom_headers: headers that will 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:`ErrorContractException` """ - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" - accept = "application/json" - # Construct URL - url = self.delete.metadata['url'] # type: ignore + 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\._\(\)]+$'), - 'ruleName': self._serialize.url("rule_name", rule_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'), + 'ruleName': self._serialize.url("rule_name", rule_name, 'str') } url = self._client.format_url(url, **path_format_arguments) # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # 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 + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 204]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if cls: - return cls(pipeline_response, None, {}) + raise models.ErrorContractException(self._deserialize, response) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/version.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/version.py new file mode 100644 index 00000000000..fc729cd3194 --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/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-05-01-preview" + diff --git a/src/scheduled-query/setup.py b/src/scheduled-query/setup.py index c01e5f1f5e8..b8ff2e55dd0 100644 --- a/src/scheduled-query/setup.py +++ b/src/scheduled-query/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.3.0' +VERSION = '0.3.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From dfda3fd89202e63076751650ad1539af5be1645c Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 22 Jun 2021 21:02:31 +0800 Subject: [PATCH 09/85] [Release] Update index.json for extension [ scheduled-query ] (#3534) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=959559 Last commit: https://github.com/Azure/azure-cli-extensions/commit/b82ed96acd31b15232405652386f02c05e1a2579 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 1b151f71952..307219e82d1 100644 --- a/src/index.json +++ b/src/index.json @@ -15706,6 +15706,49 @@ "version": "0.3.0" }, "sha256Digest": "ec2220289b5715676e169baeb457322cceade980a36c9034eb58206371703892" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-0.3.1-py2.py3-none-any.whl", + "filename": "scheduled_query-0.3.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.20.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": "scheduled-query", + "summary": "Microsoft Azure Command-Line Tools Scheduled_query Extension", + "version": "0.3.1" + }, + "sha256Digest": "0535be22855f9ab829421fc8f8d47704a0f7e2ea1067ea57d486e9b81a71c5cd" } ], "sentinel": [ From bb9176d0f14c570d69b466f351d9513a52e128e6 Mon Sep 17 00:00:00 2001 From: Christopher Harrison Date: Tue, 22 Jun 2021 20:24:16 -0700 Subject: [PATCH 10/85] Removed hack extension (#3536) --- src/index.json | 91 -------------------------------------------------- 1 file changed, 91 deletions(-) diff --git a/src/index.json b/src/index.json index 307219e82d1..19fae442d41 100644 --- a/src/index.json +++ b/src/index.json @@ -10656,97 +10656,6 @@ "sha256Digest": "0cf21ef88d49458157dae77e5bb25dfdfff8c12e76d15a19d468b408f4ab61c5" } ], - "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" - }, - { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/hack-0.4.3-py2.py3-none-any.whl", - "filename": "hack-0.4.3-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", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "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/tree/master/src/hack" - } - } - }, - "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.3" - }, - "sha256Digest": "bd608002fbab185c137cbbe4de73f7dbc1a438236c96ea53ddc22e27aa7fa013" - } - ], "hardware-security-modules": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/hardware_security_modules-0.1.0-py3-none-any.whl", From 222f1bb652fd6541dc68b134c033022da7e3b2ad Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Wed, 23 Jun 2021 14:12:04 +0800 Subject: [PATCH 11/85] [AKS] Fix AKS PR check-in pipeline (#3532) * update transcribe * fix pipeline * update pool image * Trigger Build --- .../azcli_aks_live_test/transcribe_env.sh | 41 +++++++++++-------- .../vsts-azcli-aks-live-test.yaml | 4 +- .../vsts-azcli-aks-unit-test.yaml | 4 +- 3 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh index 3d256969fda..ea56ba31f61 100755 --- a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh +++ b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh @@ -7,12 +7,21 @@ set -o pipefail set -o xtrace # check var -[[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) -[[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) +# from variable group [[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) -[[ -z "${TEST_LOCATION}" ]] && (echo "TEST_LOCATION is empty"; exit 1) +[[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) +[[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) +[[ -z "${IMAGE_PREFIX}" ]] && (echo "IMAGE_PREFIX is empty"; exit 1) +[[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) +[[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) +[[ -z "${PYTHON_VERSION}" ]] && (echo "PYTHON_VERSION is empty"; exit 1) + +# from azure devops [[ -z "${BUILD_REASON}" ]] && (echo "BUILD_REASON is empty") [[ -z "${SYSTEM_PULLREQUEST_TARGETBRANCH}" ]] && (echo "SYSTEM_PULLREQUEST_TARGETBRANCH is empty") + +# custom +[[ -z "${TEST_LOCATION}" ]] && (echo "TEST_LOCATION is empty"; exit 1) [[ -z "${COVERAGE}" ]] && (echo "COVERAGE is empty"; exit 1) [[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) [[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) @@ -25,10 +34,6 @@ set -o xtrace [[ -z "${EXT_REPO}" ]] && (echo "EXT_REPO is empty"; exit 1) [[ -z "${EXT_BRANCH}" ]] && (echo "EXT_BRANCH is empty"; exit 1) [[ -z "${MANUAL_EXT}" ]] && (echo "MANUAL_EXT is empty"; exit 1) -[[ -z "${IMAGE_PREFIX}" ]] && (echo "IMAGE_PREFIX is empty"; exit 1) -[[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) -[[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) -[[ -z "${PYTHON_VERSION}" ]] && (echo "PYTHON_VERSION is empty") # clear cat /dev/null > env.list @@ -38,14 +43,22 @@ echo "TENANT_ID=${TENANT_ID}" >> env.list echo "AZCLI_ALT_SUBSCRIPTION_ID=${AZCLI_ALT_SUBSCRIPTION_ID}" >> env.list echo "AZCLI_ALT_CLIENT_ID=${AZCLI_ALT_CLIENT_ID}" >> env.list -# azdev env -echo "AZURE_CLI_TEST_DEV_SP_NAME=${AZCLI_ALT_CLIENT_ID}" >> env.list -echo "AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION=${TEST_LOCATION}" >> env.list +# image +echo "IMAGE_PREFIX=${IMAGE_PREFIX}" >> env.list +echo "IMAGE_NAME=${IMAGE_NAME}" >> env.list +echo "IMAGE_TAG=${IMAGE_TAG}" >> env.list # predefined variables echo "BUILD_REASON=${BUILD_REASON}" >> env.list echo "SYSTEM_PULLREQUEST_TARGETBRANCH=${SYSTEM_PULLREQUEST_TARGETBRANCH}" >> env.list +# python version +echo "PYTHON_VERSION=${PYTHON_VERSION}" >> env.list + +# azdev env +echo "AZURE_CLI_TEST_DEV_SP_NAME=${AZCLI_ALT_CLIENT_ID}" >> env.list +echo "AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION=${TEST_LOCATION}" >> env.list + # test echo "COVERAGE=${COVERAGE}" >> env.list echo "TEST_MODE=${TEST_MODE}" >> env.list @@ -61,11 +74,3 @@ echo "CLI_BRANCH=${CLI_BRANCH}" >> env.list echo "EXT_REPO=${EXT_REPO}" >> env.list echo "EXT_BRANCH=${EXT_BRANCH}" >> env.list echo "MANUAL_EXT=${MANUAL_EXT}" >> env.list - -# image -echo "IMAGE_PREFIX=${IMAGE_PREFIX}" >> env.list -echo "IMAGE_NAME=${IMAGE_NAME}" >> env.list -echo "IMAGE_TAG=${IMAGE_TAG}" >> env.list - -# misc -echo "PYTHON_VERSION=${PYTHON_VERSION}" >> env.list diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml index 48c9e50acd3..cf082cd587a 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml @@ -5,7 +5,7 @@ trigger: none pr: branches: include: - - master + - main paths: include: - src/aks-preview/ @@ -13,7 +13,7 @@ pr: jobs: - job: LiveTest pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-18.04' timeoutInMinutes: 360 displayName: "Live Test with Python" steps: diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml index 80ee11eb468..5cd8c268ce8 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml @@ -5,7 +5,7 @@ trigger: none pr: branches: include: - - master + - main paths: include: - src/aks-preview/ @@ -13,7 +13,7 @@ pr: jobs: - job: UnitTest pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-18.04' timeoutInMinutes: 360 displayName: "Unit Test with Python" steps: From 8c514f3559a932ecb61f123d7d6979e4bdff3271 Mon Sep 17 00:00:00 2001 From: Neehar Duvvuri <40341266+needuv@users.noreply.github.com> Date: Wed, 23 Jun 2021 18:31:54 -0400 Subject: [PATCH 12/85] Release version 2.0.1a2 (#3540) Co-authored-by: Neehar Duvvuri --- src/index.json | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/src/index.json b/src/index.json index 19fae442d41..6a4ada25763 100644 --- a/src/index.json +++ b/src/index.json @@ -13813,6 +13813,67 @@ "version": "2.0.1a1" }, "sha256Digest": "079a8f3ecf3f0816a8afd4fe65303940721679f02718f70ddb706934201ada50" + }, + { + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.1a2-py3-none-any.whl", + "filename": "ml-2.0.1a2-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.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/tree/master/src/machinelearningservices" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ml", + "run_requires": [ + { + "requires": [ + "azure-identity", + "azure-storage-blob (<=12.5.0,>12.0.0b4)", + "azure-storage-file-share (==12.3.0)", + "cryptography (<=3.3.2)", + "docker (>=4.0.0,~=5.0.0)", + "isodate", + "marshmallow (<4.0.0,>=3.5)", + "pathspec (==0.8.*)", + "pydash (<=4.9.0)", + "pyjwt (<2.0.0)", + "tqdm" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", + "version": "2.0.1a2" + }, + "sha256Digest": "b17126a35dd3ebb65cbe54fe2d69fc9274b37ec5a150ea084b1b343b7393ccde" } ], "monitor-control-service": [ From 0eb4c7e3eac783ebed1dfc7cf11c8aae84b8f594 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Thu, 24 Jun 2021 10:23:12 +0800 Subject: [PATCH 13/85] {AKS} Fix recording tests in aks-preview (#3538) * fix recording * fix fips case --- ...tsecretsprovider_with_secret_rotation.yaml | 232 +-- ...test_aks_create_none_private_dns_zone.yaml | 258 ++-- ...ks_create_private_cluster_public_fqdn.yaml | 920 +++++++----- ...ng_azurecni_with_pod_identity_enabled.yaml | 1013 +++++++------ .../recordings/test_aks_create_with_ahub.yaml | 1110 +++++++------- ..._aks_create_with_auto_upgrade_channel.yaml | 369 +++-- ...th_azurekeyvaultsecretsprovider_addon.yaml | 257 +++- .../recordings/test_aks_create_with_fips.yaml | 564 +++---- ...gw_addon_with_deprecated_subet_prefix.yaml | 210 ++- .../test_aks_create_with_node_config.yaml | 1309 ++++------------- ...aks_create_with_openservicemesh_addon.yaml | 432 ++---- .../test_aks_create_with_ossku.yaml | 866 ++--------- ..._aks_create_with_pod_identity_enabled.yaml | 1113 +++++++------- .../test_aks_create_with_windows.yaml | 1124 +++++++------- ...est_aks_disable_addon_openservicemesh.yaml | 1108 +++++++++----- ...don_with_azurekeyvaultsecretsprovider.yaml | 665 ++++----- ...aks_enable_addon_with_openservicemesh.yaml | 670 +++++---- .../test_aks_nodepool_add_with_ossku.yaml | 1264 +++++++++++----- .../test_aks_nodepool_get_upgrades.yaml | 312 ++-- ...tsecretsprovider_with_secret_rotation.yaml | 557 ++++--- .../tests/latest/test_aks_commands.py | 2 +- 21 files changed, 7400 insertions(+), 6955 deletions(-) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml index 49847dba6ae..481c3e1e365 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T06:22:49Z"},"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":"2021-06-23T08:01:22Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 06:22:51 GMT + - Wed, 23 Jun 2021 08:01:25 GMT expires: - '-1' pragma: @@ -43,18 +43,19 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestjnhrpuwrv-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestwiynh3brq-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "true"}}}, "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"}}' + "loadBalancerSku": "standard"}, "disableLocalAccounts": false}, "identity": + {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1365' + - '1421' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -73,7 +74,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -84,20 +85,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestjnhrpuwrv-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestwiynh3brq-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestwiynh3brq-8ecadf-e8637f9f.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestwiynh3brq-8ecadf-e8637f9f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -108,21 +110,21 @@ interactions: {\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\": 100\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2809' + - '2875' content-type: - application/json date: - - Fri, 14 May 2021 06:23:05 GMT + - Wed, 23 Jun 2021 08:01:39 GMT expires: - '-1' pragma: @@ -134,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1196' status: code: 201 message: Created @@ -154,22 +156,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:23:36 GMT + - Wed, 23 Jun 2021 08:02:10 GMT expires: - '-1' pragma: @@ -203,22 +205,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:24:07 GMT + - Wed, 23 Jun 2021 08:02:41 GMT expires: - '-1' pragma: @@ -252,22 +254,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:24:39 GMT + - Wed, 23 Jun 2021 08:03:13 GMT expires: - '-1' pragma: @@ -301,22 +303,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:25:11 GMT + - Wed, 23 Jun 2021 08:03:44 GMT expires: - '-1' pragma: @@ -350,22 +352,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:25:43 GMT + - Wed, 23 Jun 2021 08:04:15 GMT expires: - '-1' pragma: @@ -399,22 +401,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:26:14 GMT + - Wed, 23 Jun 2021 08:04:47 GMT expires: - '-1' pragma: @@ -448,23 +450,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\",\n \"endTime\": - \"2021-05-14T06:26:14.6574641Z\"\n }" + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:26:46 GMT + - Wed, 23 Jun 2021 08:05:18 GMT expires: - '-1' pragma: @@ -498,7 +499,57 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6acad5ac-0179-437c-b68e-d4247aa59aa5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"acd5ca6a-7901-7c43-b68e-d4247aa59aa5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:01:38.2Z\",\n \"endTime\": + \"2021-06-23T08:05:20.9119388Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:05: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 --generate-ssh-keys -a --enable-secret-rotation -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -507,20 +558,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestjnhrpuwrv-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestwiynh3brq-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestwiynh3brq-8ecadf-e8637f9f.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestwiynh3brq-8ecadf-e8637f9f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -531,25 +583,26 @@ interactions: \ \"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/67ea7881-9f4b-4c74-a822-16512592f396\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/2ff5b375-3f6c-4446-9159-292a306afe05\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3855' + - '3921' content-type: - application/json date: - - Fri, 14 May 2021 06:26:47 GMT + - Wed, 23 Jun 2021 08:05:51 GMT expires: - '-1' pragma: @@ -583,29 +636,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/25713bcf-d9f5-48b9-88ed-897868c814e7?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5e71d17f-aec9-4121-bec3-06f3fcdbd6bf?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:26:51 GMT + - Wed, 23 Jun 2021 08:05:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/25713bcf-d9f5-48b9-88ed-897868c814e7?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/5e71d17f-aec9-4121-bec3-06f3fcdbd6bf?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml index bc85304fff1..a1a5570cec5 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml @@ -14,12 +14,12 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T06:07:18Z"},"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":"2021-06-23T08:01:22Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -28,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 06:07:20 GMT + - Wed, 23 Jun 2021 08:01:25 GMT expires: - '-1' pragma: @@ -44,18 +44,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest35ctph3yx-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "cliakstest-clitestcktp7ru3l-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, - "apiServerAccessProfile": {"enablePrivateCluster": true, "privateDNSZone": "none"}}, - "identity": {"type": "SystemAssigned"}}' + "apiServerAccessProfile": {"enablePrivateCluster": true, "privateDNSZone": "none"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -66,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1356' + - '1412' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -75,7 +75,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -86,20 +86,22 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest35ctph3yx-8ecadf\",\n \"azurePortalFQDN\": - \"88d4f5ef019e6836c20ebae9ff53f463-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitest35ctph3yx-8ecadf-859cff10.09a8c984-070a-496c-b59b-6e03147ec8bb.privatelink.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestcktp7ru3l-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestcktp7ru3l-8ecadf-472c3cf3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cabb0a43d17d6964121803e7ce150b4c-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestcktp7ru3l-8ecadf-472c3cf3.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n \"enableRBAC\": true,\n @@ -112,21 +114,22 @@ interactions: [\n {\n \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": - true,\n \"privateDNSZone\": \"none\"\n }\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true,\n \"privateDNSZone\": \"none\",\n \"enablePrivateClusterPublicFQDN\": + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3036' + - '3181' content-type: - application/json date: - - Fri, 14 May 2021 06:07:34 GMT + - Wed, 23 Jun 2021 08:01:35 GMT expires: - '-1' pragma: @@ -138,7 +141,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -159,13 +162,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -174,7 +177,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:08:05 GMT + - Wed, 23 Jun 2021 08:02:07 GMT expires: - '-1' pragma: @@ -209,13 +212,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -224,7 +227,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:08:36 GMT + - Wed, 23 Jun 2021 08:02:39 GMT expires: - '-1' pragma: @@ -259,13 +262,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -274,7 +277,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:09:08 GMT + - Wed, 23 Jun 2021 08:03:10 GMT expires: - '-1' pragma: @@ -309,13 +312,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -324,7 +327,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:09:39 GMT + - Wed, 23 Jun 2021 08:03:41 GMT expires: - '-1' pragma: @@ -359,13 +362,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -374,7 +377,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:10:10 GMT + - Wed, 23 Jun 2021 08:04:13 GMT expires: - '-1' pragma: @@ -409,13 +412,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -424,7 +427,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:10:41 GMT + - Wed, 23 Jun 2021 08:04:43 GMT expires: - '-1' pragma: @@ -459,13 +462,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -474,7 +477,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:11:13 GMT + - Wed, 23 Jun 2021 08:05:15 GMT expires: - '-1' pragma: @@ -509,13 +512,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -524,7 +527,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:11:44 GMT + - Wed, 23 Jun 2021 08:05:47 GMT expires: - '-1' pragma: @@ -559,13 +562,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" headers: cache-control: - no-cache @@ -574,7 +577,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:12:16 GMT + - Wed, 23 Jun 2021 08:06:18 GMT expires: - '-1' pragma: @@ -609,14 +612,64 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\",\n \"endTime\": - \"2021-05-14T06:12:20.8077766Z\"\n }" + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:06: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 --node-count --generate-ssh-keys --load-balancer-sku + --enable-private-cluster --private-dns-zone + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f44f5a00-8d0b-4174-9e27-e410186082c6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"005a4ff4-0b8d-7441-9e27-e410186082c6\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:01:34.9766666Z\",\n \"endTime\": + \"2021-06-23T08:07:10.5181472Z\"\n }" headers: cache-control: - no-cache @@ -625,7 +678,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:12:47 GMT + - Wed, 23 Jun 2021 08:07:20 GMT expires: - '-1' pragma: @@ -660,7 +713,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: @@ -669,27 +722,29 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest35ctph3yx-8ecadf\",\n \"azurePortalFQDN\": - \"88d4f5ef019e6836c20ebae9ff53f463-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitest35ctph3yx-8ecadf-859cff10.09a8c984-070a-496c-b59b-6e03147ec8bb.privatelink.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestcktp7ru3l-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestcktp7ru3l-8ecadf-472c3cf3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cabb0a43d17d6964121803e7ce150b4c-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestcktp7ru3l-8ecadf-472c3cf3.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/bcfc99d8-4cbb-4006-83d4-df8e351f782e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/e0e8828e-1811-4c7a-ba41-c476bbd490d9\"\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\": @@ -697,21 +752,23 @@ interactions: \ \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": - true,\n \"privateDNSZone\": \"none\"\n },\n \"identityProfile\": {\n - \ \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + true,\n \"privateDNSZone\": \"none\",\n \"enablePrivateClusterPublicFQDN\": + true\n },\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3900' + - '4045' content-type: - application/json date: - - Fri, 14 May 2021 06:12:50 GMT + - Wed, 23 Jun 2021 08:07:23 GMT expires: - '-1' pragma: @@ -745,29 +802,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/75ea5812-478d-4054-90ac-be2101067cd6?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7fd8b76-3f06-4e3a-872d-dd0f1a427594?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:12:52 GMT + - Wed, 23 Jun 2021 08:07:27 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/75ea5812-478d-4054-90ac-be2101067cd6?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b7fd8b76-3f06-4e3a-872d-dd0f1a427594?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml index 3cf2cd388fe..5ac82986559 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml @@ -14,15 +14,12 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-06-07T05:53:41Z"},"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":"2021-06-23T08:01:22Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -31,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Jun 2021 05:53:51 GMT + - Wed, 23 Jun 2021 08:01:24 GMT expires: - '-1' pragma: @@ -47,18 +44,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5mcnikium-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "cliakstest-clitestm6375nb7i-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGesZJ04maueBx9GlYIweh9+kFv4J3VceW73IaVpC7+5UIo0mOrKlkWGKoJx2z7PTfxjS3XJcJ2z8bQOyUpCqrY15P2xarBfRxpFjHqAuZRk234sBQ2DC9Txc1KpY+wzOEqaJDDyd+lmi0IqjGxsNPS65HbzuwCUziI2LjK61pwTALLnJv2HSn1/7003yIuu04IJXXSkncUZnp3a5Of/ek2+QU76/j02LYllctcGS2txei9g2zaipMBfZ9vnUCN9rxdqxbcKC1oFrVo+1reT/CvU3ej5cFKLRggZWHO/x+KYLtQDaVH61+sktlbj1CBCP8nTwKdLl+h9xCd0OJmDR"}]}}, - "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": "standard"}, "apiServerAccessProfile": {"enablePrivateCluster": - true, "enablePrivateClusterPublicFQDN": true}, "disableLocalAccounts": false}, - "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, + "apiServerAccessProfile": {"enablePrivateCluster": true, "enablePrivateClusterPublicFQDN": + true}, "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: AKSHTTPCustomFeatures: - Microsoft.ContainerService/EnablePrivateClusterPublicFQDN @@ -71,71 +68,70 @@ interactions: Connection: - keep-alive Content-Length: - - '1373' + - '1426' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ - : \"cliakstest-clitest5mcnikium-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5mcnikium-8ecadf-d6f489fe.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"0ebcdadf2361915038345ff22c75e917-priv.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"privateFQDN\": \"cliakstest-clitest5mcnikium-8ecadf-5f3a2229.e3ea1835-ad19-4e03-9489-db955099a9bd.privatelink.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n\ - \ \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\"\ - : \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": \"\ - Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGesZJ04maueBx9GlYIweh9+kFv4J3VceW73IaVpC7+5UIo0mOrKlkWGKoJx2z7PTfxjS3XJcJ2z8bQOyUpCqrY15P2xarBfRxpFjHqAuZRk234sBQ2DC9Txc1KpY+wzOEqaJDDyd+lmi0IqjGxsNPS65HbzuwCUziI2LjK61pwTALLnJv2HSn1/7003yIuu04IJXXSkncUZnp3a5Of/ek2+QU76/j02LYllctcGS2txei9g2zaipMBfZ9vnUCN9rxdqxbcKC1oFrVo+1reT/CvU3ej5cFKLRggZWHO/x+KYLtQDaVH61+sktlbj1CBCP8nTwKdLl+h9xCd0OJmDR\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000001_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\": 100,\n \"privateLinkResources\": [\n {\n \"name\"\ - : \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\"\ - ,\n \"groupId\": \"management\",\n \"requiredMembers\": [\n \"\ - management\"\n ]\n }\n ],\n \"apiServerAccessProfile\": {\n \ - \ \"enablePrivateCluster\": true,\n \"privateDNSZone\": \"system\",\n \ - \ \"enablePrivateClusterPublicFQDN\": true\n },\n \"disableLocalAccounts\"\ - : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ - principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ - \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestm6375nb7i-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestm6375nb7i-8ecadf-9596d2b3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"7ff964ceefa0f95e06bf0dc0a0326bf9-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestm6375nb7i-8ecadf-3d93f2a4.4905f439-b4d7-44bb-bed3-4000fe61d01a.privatelink.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_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\": 100,\n \"privateLinkResources\": + [\n {\n \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n + \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n + \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": + true,\n \"privateDNSZone\": \"system\",\n \"enablePrivateClusterPublicFQDN\": + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3170' + - '3228' content-type: - application/json date: - - Mon, 07 Jun 2021 05:54:05 GMT + - Wed, 23 Jun 2021 08:01:40 GMT expires: - '-1' pragma: @@ -166,14 +162,115 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:02:11 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 --node-count --generate-ssh-keys --enable-public-fqdn + --enable-private-cluster --aks-custom-headers + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:02:43 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 --node-count --generate-ssh-keys --enable-public-fqdn + --enable-private-cluster --aks-custom-headers + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -182,7 +279,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:54:37 GMT + - Wed, 23 Jun 2021 08:03:13 GMT expires: - '-1' pragma: @@ -215,14 +312,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -231,7 +329,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:55:08 GMT + - Wed, 23 Jun 2021 08:03:45 GMT expires: - '-1' pragma: @@ -264,14 +362,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -280,7 +379,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:55:39 GMT + - Wed, 23 Jun 2021 08:04:16 GMT expires: - '-1' pragma: @@ -313,14 +412,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -329,7 +429,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:56:10 GMT + - Wed, 23 Jun 2021 08:04:48 GMT expires: - '-1' pragma: @@ -362,14 +462,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -378,7 +479,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:56:42 GMT + - Wed, 23 Jun 2021 08:05:18 GMT expires: - '-1' pragma: @@ -411,14 +512,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -427,7 +529,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:57:13 GMT + - Wed, 23 Jun 2021 08:05:50 GMT expires: - '-1' pragma: @@ -460,14 +562,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -476,7 +579,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:57:45 GMT + - Wed, 23 Jun 2021 08:06:21 GMT expires: - '-1' pragma: @@ -509,14 +612,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -525,7 +629,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:58:15 GMT + - Wed, 23 Jun 2021 08:06:52 GMT expires: - '-1' pragma: @@ -558,14 +662,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -574,7 +679,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:58:46 GMT + - Wed, 23 Jun 2021 08:07:24 GMT expires: - '-1' pragma: @@ -607,14 +712,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -623,7 +729,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:59:18 GMT + - Wed, 23 Jun 2021 08:07:55 GMT expires: - '-1' pragma: @@ -656,14 +762,15 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" headers: cache-control: - no-cache @@ -672,7 +779,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 05:59:49 GMT + - Wed, 23 Jun 2021 08:08:26 GMT expires: - '-1' pragma: @@ -705,15 +812,66 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/50b22411-dc76-4918-94ad-add69ea4cd1b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1124b250-76dc-1849-94ad-add69ea4cd1b\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-06-07T05:54:05.0233333Z\",\n \"\ - endTime\": \"2021-06-07T05:59:58.443807Z\"\n }" + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:08: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: + - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn + --enable-private-cluster --aks-custom-headers + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc043c7e-ac2c-4523-9358-b73a0c842c5e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7e3c04bc-2cac-2345-9358-b73a0c842c5e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:01:39.2966666Z\",\n \"endTime\": + \"2021-06-23T08:09:03.947086Z\"\n }" headers: cache-control: - no-cache @@ -722,7 +880,7 @@ interactions: content-type: - application/json date: - - Mon, 07 Jun 2021 06:00:21 GMT + - Wed, 23 Jun 2021 08:09:29 GMT expires: - '-1' pragma: @@ -755,66 +913,64 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --enable-public-fqdn --enable-private-cluster --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ - : \"cliakstest-clitest5mcnikium-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5mcnikium-8ecadf-d6f489fe.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"0ebcdadf2361915038345ff22c75e917-priv.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"privateFQDN\": \"cliakstest-clitest5mcnikium-8ecadf-5f3a2229.e3ea1835-ad19-4e03-9489-db955099a9bd.privatelink.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\"\ - ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ - mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ - : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGesZJ04maueBx9GlYIweh9+kFv4J3VceW73IaVpC7+5UIo0mOrKlkWGKoJx2z7PTfxjS3XJcJ2z8bQOyUpCqrY15P2xarBfRxpFjHqAuZRk234sBQ2DC9Txc1KpY+wzOEqaJDDyd+lmi0IqjGxsNPS65HbzuwCUziI2LjK61pwTALLnJv2HSn1/7003yIuu04IJXXSkncUZnp3a5Of/ek2+QU76/j02LYllctcGS2txei9g2zaipMBfZ9vnUCN9rxdqxbcKC1oFrVo+1reT/CvU3ej5cFKLRggZWHO/x+KYLtQDaVH61+sktlbj1CBCP8nTwKdLl+h9xCd0OJmDR\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b3199125-8ad3-4b80-af09-854507b2979e\"\ - \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\": 100,\n \"privateLinkResources\": [\n {\n \"id\"\ - : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\"\ - ,\n \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\"\ - ,\n \"groupId\": \"management\",\n \"requiredMembers\": [\n \"\ - management\"\n ]\n }\n ],\n \"apiServerAccessProfile\": {\n \ - \ \"enablePrivateCluster\": true,\n \"privateDNSZone\": \"system\",\n \ - \ \"enablePrivateClusterPublicFQDN\": true\n },\n \"identityProfile\"\ - : {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\"\ - ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ - :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ - : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ - principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ - \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestm6375nb7i-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestm6375nb7i-8ecadf-9596d2b3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"7ff964ceefa0f95e06bf0dc0a0326bf9-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestm6375nb7i-8ecadf-3d93f2a4.4905f439-b4d7-44bb-bed3-4000fe61d01a.privatelink.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/f480dc5d-27a9-4dae-a184-c38f7a6cf645\"\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\": + 100,\n \"privateLinkResources\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\",\n + \ \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n + \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n + \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": + true,\n \"privateDNSZone\": \"system\",\n \"enablePrivateClusterPublicFQDN\": + true\n },\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '4034' + - '4092' content-type: - application/json date: - - Mon, 07 Jun 2021 06:00:22 GMT + - Wed, 23 Jun 2021 08:09:31 GMT expires: - '-1' pragma: @@ -846,68 +1002,66 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ - : \"cliakstest-clitest5mcnikium-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5mcnikium-8ecadf-d6f489fe.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"0ebcdadf2361915038345ff22c75e917-priv.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"privateFQDN\": \"cliakstest-clitest5mcnikium-8ecadf-5f3a2229.e3ea1835-ad19-4e03-9489-db955099a9bd.privatelink.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\"\ - ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ - mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ - : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGesZJ04maueBx9GlYIweh9+kFv4J3VceW73IaVpC7+5UIo0mOrKlkWGKoJx2z7PTfxjS3XJcJ2z8bQOyUpCqrY15P2xarBfRxpFjHqAuZRk234sBQ2DC9Txc1KpY+wzOEqaJDDyd+lmi0IqjGxsNPS65HbzuwCUziI2LjK61pwTALLnJv2HSn1/7003yIuu04IJXXSkncUZnp3a5Of/ek2+QU76/j02LYllctcGS2txei9g2zaipMBfZ9vnUCN9rxdqxbcKC1oFrVo+1reT/CvU3ej5cFKLRggZWHO/x+KYLtQDaVH61+sktlbj1CBCP8nTwKdLl+h9xCd0OJmDR\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b3199125-8ad3-4b80-af09-854507b2979e\"\ - \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\": 100,\n \"privateLinkResources\": [\n {\n \"id\"\ - : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\"\ - ,\n \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\"\ - ,\n \"groupId\": \"management\",\n \"requiredMembers\": [\n \"\ - management\"\n ]\n }\n ],\n \"apiServerAccessProfile\": {\n \ - \ \"enablePrivateCluster\": true,\n \"privateDNSZone\": \"system\",\n \ - \ \"enablePrivateClusterPublicFQDN\": true\n },\n \"identityProfile\"\ - : {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\"\ - ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ - :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ - : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ - principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ - \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestm6375nb7i-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestm6375nb7i-8ecadf-9596d2b3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"7ff964ceefa0f95e06bf0dc0a0326bf9-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestm6375nb7i-8ecadf-3d93f2a4.4905f439-b4d7-44bb-bed3-4000fe61d01a.privatelink.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/f480dc5d-27a9-4dae-a184-c38f7a6cf645\"\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\": + 100,\n \"privateLinkResources\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\",\n + \ \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n + \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n + \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": + true,\n \"privateDNSZone\": \"system\",\n \"enablePrivateClusterPublicFQDN\": + true\n },\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '4034' + - '4092' content-type: - application/json date: - - Mon, 07 Jun 2021 06:00:27 GMT + - Wed, 23 Jun 2021 08:09:33 GMT expires: - '-1' pragma: @@ -927,20 +1081,21 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", - "dnsPrefix": "cliakstest-clitest5mcnikium-8ecadf", "agentPoolProfiles": [{"count": + "dnsPrefix": "cliakstest-clitestm6375nb7i-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGesZJ04maueBx9GlYIweh9+kFv4J3VceW73IaVpC7+5UIo0mOrKlkWGKoJx2z7PTfxjS3XJcJ2z8bQOyUpCqrY15P2xarBfRxpFjHqAuZRk234sBQ2DC9Txc1KpY+wzOEqaJDDyd+lmi0IqjGxsNPS65HbzuwCUziI2LjK61pwTALLnJv2HSn1/7003yIuu04IJXXSkncUZnp3a5Of/ek2+QU76/j02LYllctcGS2txei9g2zaipMBfZ9vnUCN9rxdqxbcKC1oFrVo+1reT/CvU3ej5cFKLRggZWHO/x+KYLtQDaVH61+sktlbj1CBCP8nTwKdLl+h9xCd0OJmDR"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "nodeResourceGroup": "MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b3199125-8ad3-4b80-af09-854507b2979e"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/f480dc5d-27a9-4dae-a184-c38f7a6cf645"}]}}, "autoUpgradeProfile": {}, "apiServerAccessProfile": {"enablePrivateCluster": true, "privateDNSZone": "system", "enablePrivateClusterPublicFQDN": false}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", @@ -962,75 +1117,74 @@ interactions: Connection: - keep-alive Content-Length: - - '2702' + - '2755' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --disable-public-fqdn --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ - : \"cliakstest-clitest5mcnikium-8ecadf\",\n \"azurePortalFQDN\": \"0ebcdadf2361915038345ff22c75e917-priv.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"privateFQDN\": \"cliakstest-clitest5mcnikium-8ecadf-5f3a2229.e3ea1835-ad19-4e03-9489-db955099a9bd.privatelink.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n\ - \ \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\"\ - : \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": \"\ - Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGesZJ04maueBx9GlYIweh9+kFv4J3VceW73IaVpC7+5UIo0mOrKlkWGKoJx2z7PTfxjS3XJcJ2z8bQOyUpCqrY15P2xarBfRxpFjHqAuZRk234sBQ2DC9Txc1KpY+wzOEqaJDDyd+lmi0IqjGxsNPS65HbzuwCUziI2LjK61pwTALLnJv2HSn1/7003yIuu04IJXXSkncUZnp3a5Of/ek2+QU76/j02LYllctcGS2txei9g2zaipMBfZ9vnUCN9rxdqxbcKC1oFrVo+1reT/CvU3ej5cFKLRggZWHO/x+KYLtQDaVH61+sktlbj1CBCP8nTwKdLl+h9xCd0OJmDR\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b3199125-8ad3-4b80-af09-854507b2979e\"\ - \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\": 100,\n \"privateLinkResources\": [\n {\n \"name\"\ - : \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\"\ - ,\n \"groupId\": \"management\",\n \"requiredMembers\": [\n \"\ - management\"\n ],\n \"privateLinkServiceID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hcp-underlay-westus2-cx-154/providers/Microsoft.Network/privateLinkServices/a8e475f4473984e2ebabfd6ff511652b\"\ - \n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\"\ - : true,\n \"privateDNSZone\": \"system\",\n \"enablePrivateClusterPublicFQDN\"\ - : false\n },\n \"identityProfile\": {\n \"kubeletidentity\": {\n \ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\"\ - ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ - :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ - : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ - principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ - \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestm6375nb7i-8ecadf\",\n + \ \"azurePortalFQDN\": \"7ff964ceefa0f95e06bf0dc0a0326bf9-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestm6375nb7i-8ecadf-3d93f2a4.4905f439-b4d7-44bb-bed3-4000fe61d01a.privatelink.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/f480dc5d-27a9-4dae-a184-c38f7a6cf645\"\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\": + 100,\n \"privateLinkResources\": [\n {\n \"name\": \"management\",\n + \ \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n + \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n + \ ],\n \"privateLinkServiceID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hcp-underlay-westus2-cx-82/providers/Microsoft.Network/privateLinkServices/aa37440e9a05a417daffb694dad640f9\"\n + \ }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": + true,\n \"privateDNSZone\": \"system\",\n \"enablePrivateClusterPublicFQDN\": + false\n },\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/68cd1a69-8146-4d44-940a-024053a358cf?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9755368f-2b18-433c-af42-6cd31e47cd66?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3960' + - '4017' content-type: - application/json date: - - Mon, 07 Jun 2021 06:00:34 GMT + - Wed, 23 Jun 2021 08:09:40 GMT expires: - '-1' pragma: @@ -1046,7 +1200,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -1064,23 +1218,24 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/68cd1a69-8146-4d44-940a-024053a358cf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9755368f-2b18-433c-af42-6cd31e47cd66?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"691acd68-4681-444d-940a-024053a358cf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T06:00:32.1366666Z\"\n }" + string: "{\n \"name\": \"8f365597-182b-3c43-af42-6cd31e47cd66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:38.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 07 Jun 2021 06:01:05 GMT + - Wed, 23 Jun 2021 08:10:10 GMT expires: - '-1' pragma: @@ -1112,23 +1267,73 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/68cd1a69-8146-4d44-940a-024053a358cf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9755368f-2b18-433c-af42-6cd31e47cd66?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"691acd68-4681-444d-940a-024053a358cf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-07T06:00:32.1366666Z\"\n }" + string: "{\n \"name\": \"8f365597-182b-3c43-af42-6cd31e47cd66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:38.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:10:42 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 update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn --aks-custom-headers + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9755368f-2b18-433c-af42-6cd31e47cd66?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8f365597-182b-3c43-af42-6cd31e47cd66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:38.22Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' content-type: - application/json date: - - Mon, 07 Jun 2021 06:01:36 GMT + - Wed, 23 Jun 2021 08:11:14 GMT expires: - '-1' pragma: @@ -1160,24 +1365,25 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/68cd1a69-8146-4d44-940a-024053a358cf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9755368f-2b18-433c-af42-6cd31e47cd66?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"691acd68-4681-444d-940a-024053a358cf\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-06-07T06:00:32.1366666Z\",\n \"\ - endTime\": \"2021-06-07T06:01:39.8975854Z\"\n }" + string: "{\n \"name\": \"8f365597-182b-3c43-af42-6cd31e47cd66\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:09:38.22Z\",\n \"endTime\": + \"2021-06-23T08:11:27.9321529Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Mon, 07 Jun 2021 06:02:07 GMT + - Wed, 23 Jun 2021 08:11:45 GMT expires: - '-1' pragma: @@ -1209,65 +1415,63 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn --aks-custom-headers User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ - : \"cliakstest-clitest5mcnikium-8ecadf\",\n \"azurePortalFQDN\": \"0ebcdadf2361915038345ff22c75e917-priv.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"privateFQDN\": \"cliakstest-clitest5mcnikium-8ecadf-5f3a2229.e3ea1835-ad19-4e03-9489-db955099a9bd.privatelink.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\"\ - ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ - mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ - : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGesZJ04maueBx9GlYIweh9+kFv4J3VceW73IaVpC7+5UIo0mOrKlkWGKoJx2z7PTfxjS3XJcJ2z8bQOyUpCqrY15P2xarBfRxpFjHqAuZRk234sBQ2DC9Txc1KpY+wzOEqaJDDyd+lmi0IqjGxsNPS65HbzuwCUziI2LjK61pwTALLnJv2HSn1/7003yIuu04IJXXSkncUZnp3a5Of/ek2+QU76/j02LYllctcGS2txei9g2zaipMBfZ9vnUCN9rxdqxbcKC1oFrVo+1reT/CvU3ej5cFKLRggZWHO/x+KYLtQDaVH61+sktlbj1CBCP8nTwKdLl+h9xCd0OJmDR\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b3199125-8ad3-4b80-af09-854507b2979e\"\ - \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\": 100,\n \"privateLinkResources\": [\n {\n \"id\"\ - : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\"\ - ,\n \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\"\ - ,\n \"groupId\": \"management\",\n \"requiredMembers\": [\n \"\ - management\"\n ]\n }\n ],\n \"apiServerAccessProfile\": {\n \ - \ \"enablePrivateCluster\": true,\n \"privateDNSZone\": \"system\",\n \ - \ \"enablePrivateClusterPublicFQDN\": false\n },\n \"identityProfile\"\ - : {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\"\ - ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ - :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ - : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ - principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ - \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestm6375nb7i-8ecadf\",\n + \ \"azurePortalFQDN\": \"7ff964ceefa0f95e06bf0dc0a0326bf9-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestm6375nb7i-8ecadf-3d93f2a4.4905f439-b4d7-44bb-bed3-4000fe61d01a.privatelink.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/f480dc5d-27a9-4dae-a184-c38f7a6cf645\"\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\": + 100,\n \"privateLinkResources\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\",\n + \ \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n + \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n + \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": + true,\n \"privateDNSZone\": \"system\",\n \"enablePrivateClusterPublicFQDN\": + false\n },\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3955' + - '4013' content-type: - application/json date: - - Mon, 07 Jun 2021 06:02:09 GMT + - Wed, 23 Jun 2021 08:11:47 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml index 1a29dfdb293..b9aadce5eda 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml @@ -14,12 +14,12 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --network-plugin User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T06:02:33Z"},"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":"2021-06-23T08:01:22Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -28,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 06:02:35 GMT + - Wed, 23 Jun 2021 08:01:24 GMT expires: - '-1' pragma: @@ -44,16 +44,16 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitest7bxlbobxx-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {}, "podIdentityProfile": {"enabled": true}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "azure", "outboundType": "loadBalancer", "loadBalancerSku": - "standard"}}, "identity": {"type": "SystemAssigned"}}' + "standard"}, "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -64,7 +64,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1187' + - '1243' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -73,7 +73,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -84,20 +84,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -108,21 +109,21 @@ interactions: 1\n }\n },\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\": 100,\n \"podIdentityProfile\": - {\n \"enabled\": true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" + {\n \"enabled\": true\n },\n \"disableLocalAccounts\": false\n },\n + \ \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2762' + - '2828' content-type: - application/json date: - - Fri, 14 May 2021 06:02:48 GMT + - Wed, 23 Jun 2021 08:01:39 GMT expires: - '-1' pragma: @@ -134,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -155,13 +156,63 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"caeb4a92-7273-6043-ab7d-022579c0c1f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:02: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 +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --network-plugin + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" + string: "{\n \"name\": \"caeb4a92-7273-6043-ab7d-022579c0c1f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2766666Z\"\n }" headers: cache-control: - no-cache @@ -170,7 +221,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:03:19 GMT + - Wed, 23 Jun 2021 08:02:42 GMT expires: - '-1' pragma: @@ -205,13 +256,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" + string: "{\n \"name\": \"caeb4a92-7273-6043-ab7d-022579c0c1f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2766666Z\"\n }" headers: cache-control: - no-cache @@ -220,7 +271,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:03:50 GMT + - Wed, 23 Jun 2021 08:03:14 GMT expires: - '-1' pragma: @@ -255,13 +306,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" + string: "{\n \"name\": \"caeb4a92-7273-6043-ab7d-022579c0c1f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2766666Z\"\n }" headers: cache-control: - no-cache @@ -270,7 +321,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:04:22 GMT + - Wed, 23 Jun 2021 08:03:46 GMT expires: - '-1' pragma: @@ -305,13 +356,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" + string: "{\n \"name\": \"caeb4a92-7273-6043-ab7d-022579c0c1f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2766666Z\"\n }" headers: cache-control: - no-cache @@ -320,7 +371,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:04:54 GMT + - Wed, 23 Jun 2021 08:04:16 GMT expires: - '-1' pragma: @@ -355,13 +406,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" + string: "{\n \"name\": \"caeb4a92-7273-6043-ab7d-022579c0c1f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:39.2766666Z\"\n }" headers: cache-control: - no-cache @@ -370,7 +421,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:05:25 GMT + - Wed, 23 Jun 2021 08:04:48 GMT expires: - '-1' pragma: @@ -405,23 +456,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/924aebca-7372-4360-ab7d-022579c0c1f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\",\n \"endTime\": - \"2021-05-14T06:05:56.041469Z\"\n }" + string: "{\n \"name\": \"caeb4a92-7273-6043-ab7d-022579c0c1f5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:01:39.2766666Z\",\n \"endTime\": + \"2021-06-23T08:05:09.0121077Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Fri, 14 May 2021 06:05:57 GMT + - Wed, 23 Jun 2021 08:05:19 GMT expires: - '-1' pragma: @@ -456,7 +507,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -465,20 +516,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -486,25 +538,26 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3425' + - '3491' content-type: - application/json date: - - Fri, 14 May 2021 06:05:59 GMT + - Wed, 23 Jun 2021 08:05:21 GMT expires: - '-1' pragma: @@ -538,7 +591,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -549,20 +602,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -570,25 +624,26 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3425' + - '3491' content-type: - application/json date: - - Fri, 14 May 2021 06:06:01 GMT + - Wed, 23 Jun 2021 08:05:23 GMT expires: - '-1' pragma: @@ -607,14 +662,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitest7bxlbobxx-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": false}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", @@ -622,11 +678,12 @@ interactions: "azure", "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/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -637,7 +694,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2274' + - '2332' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -645,7 +702,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -656,20 +713,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -677,27 +735,27 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {},\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/1bbe8f68-5497-4afb-b477-8ce684605d53?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79326953-8e3c-4220-aaf8-2c55131b2795?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3399' + - '3465' content-type: - application/json date: - - Fri, 14 May 2021 06:06:08 GMT + - Wed, 23 Jun 2021 08:05:29 GMT expires: - '-1' pragma: @@ -713,7 +771,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -733,13 +791,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1bbe8f68-5497-4afb-b477-8ce684605d53?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79326953-8e3c-4220-aaf8-2c55131b2795?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"688fbe1b-9754-fb4a-b477-8ce684605d53\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:06:05.7633333Z\"\n }" + string: "{\n \"name\": \"53693279-3c8e-2042-aaf8-2c55131b2795\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:28.3233333Z\"\n }" headers: cache-control: - no-cache @@ -748,7 +806,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:06:39 GMT + - Wed, 23 Jun 2021 08:06:00 GMT expires: - '-1' pragma: @@ -782,14 +840,14 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1bbe8f68-5497-4afb-b477-8ce684605d53?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79326953-8e3c-4220-aaf8-2c55131b2795?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"688fbe1b-9754-fb4a-b477-8ce684605d53\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:06:05.7633333Z\",\n \"endTime\": - \"2021-05-14T06:07:08.6954295Z\"\n }" + string: "{\n \"name\": \"53693279-3c8e-2042-aaf8-2c55131b2795\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:05:28.3233333Z\",\n \"endTime\": + \"2021-06-23T08:06:20.3378765Z\"\n }" headers: cache-control: - no-cache @@ -798,7 +856,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:07:11 GMT + - Wed, 23 Jun 2021 08:06:31 GMT expires: - '-1' pragma: @@ -832,7 +890,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -841,20 +899,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -862,25 +921,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {},\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3401' + - '3467' content-type: - application/json date: - - Fri, 14 May 2021 06:07:13 GMT + - Wed, 23 Jun 2021 08:06:32 GMT expires: - '-1' pragma: @@ -914,7 +973,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -925,20 +984,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -946,25 +1006,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {},\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3401' + - '3467' content-type: - application/json date: - - Fri, 14 May 2021 06:07:14 GMT + - Wed, 23 Jun 2021 08:06:34 GMT expires: - '-1' pragma: @@ -983,14 +1043,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitest7bxlbobxx-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": @@ -999,11 +1060,12 @@ interactions: "azure", "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/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1014,7 +1076,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2341' + - '2399' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1022,7 +1084,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1033,20 +1095,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -1054,27 +1117,28 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/053028e0-a13d-4d79-b398-089bc6969f32?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/865570ee-5a5c-4f60-a468-a3719307d3e3?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3423' + - '3489' content-type: - application/json date: - - Fri, 14 May 2021 06:07:20 GMT + - Wed, 23 Jun 2021 08:06:41 GMT expires: - '-1' pragma: @@ -1110,13 +1174,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/053028e0-a13d-4d79-b398-089bc6969f32?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/865570ee-5a5c-4f60-a468-a3719307d3e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0283005-3da1-794d-b398-089bc6969f32\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:18.7533333Z\"\n }" + string: "{\n \"name\": \"ee705586-5c5a-604f-a468-a3719307d3e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:39.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1125,7 +1189,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:07:51 GMT + - Wed, 23 Jun 2021 08:07:12 GMT expires: - '-1' pragma: @@ -1159,14 +1223,14 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/053028e0-a13d-4d79-b398-089bc6969f32?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/865570ee-5a5c-4f60-a468-a3719307d3e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0283005-3da1-794d-b398-089bc6969f32\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:07:18.7533333Z\",\n \"endTime\": - \"2021-05-14T06:08:13.6137986Z\"\n }" + string: "{\n \"name\": \"ee705586-5c5a-604f-a468-a3719307d3e3\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:06:39.7766666Z\",\n \"endTime\": + \"2021-06-23T08:07:38.8973157Z\"\n }" headers: cache-control: - no-cache @@ -1175,7 +1239,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:08:23 GMT + - Wed, 23 Jun 2021 08:07:44 GMT expires: - '-1' pragma: @@ -1209,7 +1273,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1218,20 +1282,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -1239,25 +1304,26 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3425' + - '3491' content-type: - application/json date: - - Fri, 14 May 2021 06:08:24 GMT + - Wed, 23 Jun 2021 08:07:47 GMT expires: - '-1' pragma: @@ -1291,7 +1357,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -1302,20 +1368,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -1323,25 +1390,26 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3425' + - '3491' content-type: - application/json date: - - Fri, 14 May 2021 06:08:26 GMT + - Wed, 23 Jun 2021 08:07:49 GMT expires: - '-1' pragma: @@ -1360,14 +1428,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitest7bxlbobxx-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": @@ -1377,10 +1446,11 @@ interactions: "azure", "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/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1391,7 +1461,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2396' + - '2454' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1399,7 +1469,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1410,20 +1480,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -1431,7 +1502,7 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": @@ -1440,20 +1511,21 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/128d13ff-f834-41a4-bfb6-2d11a78ff3ac?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e11f17a3-064a-4091-9728-6da99698789d?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3597' + - '3663' content-type: - application/json date: - - Fri, 14 May 2021 06:08:33 GMT + - Wed, 23 Jun 2021 08:07:55 GMT expires: - '-1' pragma: @@ -1469,7 +1541,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1198' status: code: 200 message: OK @@ -1489,22 +1561,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/128d13ff-f834-41a4-bfb6-2d11a78ff3ac?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e11f17a3-064a-4091-9728-6da99698789d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ff138d12-34f8-a441-bfb6-2d11a78ff3ac\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:32.04Z\"\n }" + string: "{\n \"name\": \"a3171fe1-4a06-9140-9728-6da99698789d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:07:54.3133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:09:04 GMT + - Wed, 23 Jun 2021 08:08:27 GMT expires: - '-1' pragma: @@ -1538,23 +1610,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/128d13ff-f834-41a4-bfb6-2d11a78ff3ac?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e11f17a3-064a-4091-9728-6da99698789d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ff138d12-34f8-a441-bfb6-2d11a78ff3ac\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:08:32.04Z\",\n \"endTime\": - \"2021-05-14T06:09:27.7357078Z\"\n }" + string: "{\n \"name\": \"a3171fe1-4a06-9140-9728-6da99698789d\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:07:54.3133333Z\",\n \"endTime\": + \"2021-06-23T08:08:54.9359475Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Fri, 14 May 2021 06:09:35 GMT + - Wed, 23 Jun 2021 08:08:59 GMT expires: - '-1' pragma: @@ -1588,7 +1660,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1597,20 +1669,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -1618,7 +1691,7 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": @@ -1627,18 +1700,19 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3599' + - '3665' content-type: - application/json date: - - Fri, 14 May 2021 06:09:37 GMT + - Wed, 23 Jun 2021 08:09:01 GMT expires: - '-1' pragma: @@ -1672,7 +1746,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -1683,20 +1757,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -1704,7 +1779,7 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": @@ -1713,18 +1788,19 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3599' + - '3665' content-type: - application/json date: - - Fri, 14 May 2021 06:09:39 GMT + - Wed, 23 Jun 2021 08:09:03 GMT expires: - '-1' pragma: @@ -1743,14 +1819,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitest7bxlbobxx-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": @@ -1760,10 +1837,11 @@ interactions: "azure", "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/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1774,7 +1852,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2406' + - '2464' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1782,7 +1860,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1793,20 +1871,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -1814,7 +1893,7 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": @@ -1823,21 +1902,21 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \ \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n - \ }\n ]\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" + \ }\n ]\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/db7e7655-3801-4387-9f9b-1ea8ff71d444?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1e35d0e-72b5-42a1-b886-34ea197134fc?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3614' + - '3680' content-type: - application/json date: - - Fri, 14 May 2021 06:09:48 GMT + - Wed, 23 Jun 2021 08:09:11 GMT expires: - '-1' pragma: @@ -1853,7 +1932,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -1873,22 +1952,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db7e7655-3801-4387-9f9b-1ea8ff71d444?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1e35d0e-72b5-42a1-b886-34ea197134fc?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"55767edb-0138-8743-9f9b-1ea8ff71d444\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:45.97Z\"\n }" + string: "{\n \"name\": \"0e5de3e1-b572-a142-b886-34ea197134fc\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:09.5533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:10:19 GMT + - Wed, 23 Jun 2021 08:09:43 GMT expires: - '-1' pragma: @@ -1922,23 +2001,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db7e7655-3801-4387-9f9b-1ea8ff71d444?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1e35d0e-72b5-42a1-b886-34ea197134fc?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"55767edb-0138-8743-9f9b-1ea8ff71d444\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:09:45.97Z\",\n \"endTime\": - \"2021-05-14T06:10:47.794564Z\"\n }" + string: "{\n \"name\": \"0e5de3e1-b572-a142-b886-34ea197134fc\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:09:09.5533333Z\",\n \"endTime\": + \"2021-06-23T08:10:06.1268012Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '170' content-type: - application/json date: - - Fri, 14 May 2021 06:10:50 GMT + - Wed, 23 Jun 2021 08:10:14 GMT expires: - '-1' pragma: @@ -1972,7 +2051,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1981,20 +2060,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -2002,7 +2082,7 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": @@ -2011,19 +2091,19 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \ \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n - \ }\n ]\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" + \ }\n ]\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3616' + - '3682' content-type: - application/json date: - - Fri, 14 May 2021 06:10:53 GMT + - Wed, 23 Jun 2021 08:10:17 GMT expires: - '-1' pragma: @@ -2057,7 +2137,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -2068,20 +2148,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -2089,7 +2170,7 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": @@ -2098,19 +2179,19 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \ \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n - \ }\n ]\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" + \ }\n ]\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3616' + - '3682' content-type: - application/json date: - - Fri, 14 May 2021 06:10:54 GMT + - Wed, 23 Jun 2021 08:10:19 GMT expires: - '-1' pragma: @@ -2129,14 +2210,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitest7bxlbobxx-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": @@ -2145,10 +2227,11 @@ interactions: "azure", "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/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -2159,7 +2242,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2315' + - '2373' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -2167,7 +2250,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -2178,20 +2261,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -2199,27 +2283,28 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0a2c4b92-3799-4ce3-be0d-ebc2e8264249?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3423' + - '3489' content-type: - application/json date: - - Fri, 14 May 2021 06:11:02 GMT + - Wed, 23 Jun 2021 08:10:26 GMT expires: - '-1' pragma: @@ -2235,56 +2320,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks pod-identity exception delete - Connection: - - keep-alive - ParameterSetName: - - --cluster-name --resource-group --namespace --name - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"5733c635-b39d-dd4d-b84f-0bcafbc0f5de\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:11:00.88Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:11: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 + - '1197' status: code: 200 message: OK @@ -2304,13 +2340,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0a2c4b92-3799-4ce3-be0d-ebc2e8264249?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5733c635-b39d-dd4d-b84f-0bcafbc0f5de\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:11:00.88Z\"\n }" + string: "{\n \"name\": \"924b2c0a-9937-e34c-be0d-ebc2e8264249\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:10:25.64Z\"\n }" headers: cache-control: - no-cache @@ -2319,7 +2355,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:12:05 GMT + - Wed, 23 Jun 2021 08:10:58 GMT expires: - '-1' pragma: @@ -2353,23 +2389,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0a2c4b92-3799-4ce3-be0d-ebc2e8264249?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5733c635-b39d-dd4d-b84f-0bcafbc0f5de\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:11:00.88Z\",\n \"endTime\": - \"2021-05-14T06:12:08.718341Z\"\n }" + string: "{\n \"name\": \"924b2c0a-9937-e34c-be0d-ebc2e8264249\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:10:25.64Z\",\n \"endTime\": + \"2021-06-23T08:11:29.1441494Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 06:12:36 GMT + - Wed, 23 Jun 2021 08:11:29 GMT expires: - '-1' pragma: @@ -2403,7 +2439,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -2412,20 +2448,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7bxlbobxx-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7bxlbobxx-8ecadf-d8742c18.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -2433,25 +2470,26 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/49fd7996-7958-4f58-a5cd-3e2fc86b6226\"\n \ }\n ]\n },\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3425' + - '3491' content-type: - application/json date: - - Fri, 14 May 2021 06:12:38 GMT + - Wed, 23 Jun 2021 08:11:31 GMT expires: - '-1' pragma: @@ -2485,29 +2523,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1853f2b4-6541-46b5-9baf-3c1d0fb57d6d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8c9aa00-019a-42a7-8756-bd377dd9526a?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:12:42 GMT + - Wed, 23 Jun 2021 08:11:36 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1853f2b4-6541-46b5-9baf-3c1d0fb57d6d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d8c9aa00-019a-42a7-8756-bd377dd9526a?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml index 377ec38136c..ff77c90761b 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml @@ -15,12 +15,12 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T06:05:04Z"},"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":"2021-06-23T08:01:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -29,7 +29,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 06:05:06 GMT + - Wed, 23 Jun 2021 08:01:49 GMT expires: - '-1' pragma: @@ -48,13 +48,14 @@ interactions: "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": "replace-Password1234$", "licenseType": "Windows_Server"}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "azure", "outboundType": "loadBalancer", "loadBalancerSku": - "standard"}}, "identity": {"type": "SystemAssigned"}}' + "standard"}, "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1254' + - '1310' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -75,7 +76,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -86,19 +87,20 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-cb7cf354.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-cb7cf354.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -108,21 +110,21 @@ interactions: \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\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\": 100\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2693' + - '2759' content-type: - application/json date: - - Fri, 14 May 2021 06:05:20 GMT + - Wed, 23 Jun 2021 08:02:01 GMT expires: - '-1' pragma: @@ -134,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -156,13 +158,115 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:02: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: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin --enable-ahub + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:03:04 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 --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin --enable-ahub + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\"\n }" headers: cache-control: - no-cache @@ -171,7 +275,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:05:53 GMT + - Wed, 23 Jun 2021 08:03:35 GMT expires: - '-1' pragma: @@ -207,13 +311,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\"\n }" headers: cache-control: - no-cache @@ -222,7 +326,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:06:23 GMT + - Wed, 23 Jun 2021 08:04:07 GMT expires: - '-1' pragma: @@ -258,13 +362,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\"\n }" headers: cache-control: - no-cache @@ -273,7 +377,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:06:55 GMT + - Wed, 23 Jun 2021 08:04:37 GMT expires: - '-1' pragma: @@ -309,13 +413,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\"\n }" headers: cache-control: - no-cache @@ -324,7 +428,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:07:26 GMT + - Wed, 23 Jun 2021 08:05:08 GMT expires: - '-1' pragma: @@ -360,13 +464,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\"\n }" headers: cache-control: - no-cache @@ -375,7 +479,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:07:57 GMT + - Wed, 23 Jun 2021 08:05:40 GMT expires: - '-1' pragma: @@ -411,14 +515,14 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/002564d8-8d06-4001-b246-e015de764597?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\",\n \"endTime\": - \"2021-05-14T06:08:25.6851374Z\"\n }" + string: "{\n \"name\": \"d8642500-068d-0140-b246-e015de764597\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:02:01.0033333Z\",\n \"endTime\": + \"2021-06-23T08:05:41.5874985Z\"\n }" headers: cache-control: - no-cache @@ -427,7 +531,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:08:29 GMT + - Wed, 23 Jun 2021 08:06:11 GMT expires: - '-1' pragma: @@ -463,7 +567,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: @@ -472,19 +576,20 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-cb7cf354.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-cb7cf354.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -492,24 +597,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e77c1cf-b7cc-457a-966e-22aea2b46709\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3356' + - '3422' content-type: - application/json date: - - Fri, 14 May 2021 06:08:31 GMT + - Wed, 23 Jun 2021 08:06:12 GMT expires: - '-1' pragma: @@ -543,7 +649,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -556,20 +662,20 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '926' + - '957' content-type: - application/json date: - - Fri, 14 May 2021 06:08:32 GMT + - Wed, 23 Jun 2021 08:06:14 GMT expires: - '-1' pragma: @@ -591,7 +697,8 @@ interactions: body: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osType": "Windows", "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": - [], "enableEncryptionAtHost": false, "enableFIPS": false}}' + [], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false}}' headers: Accept: - application/json @@ -602,7 +709,7 @@ interactions: Connection: - keep-alive Content-Length: - - '320' + - '345' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -610,7 +717,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -623,21 +730,21 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1971.210526\",\n \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 cache-control: - no-cache content-length: - - '817' + - '846' content-type: - application/json date: - - Fri, 14 May 2021 06:08:36 GMT + - Wed, 23 Jun 2021 08:06:19 GMT expires: - '-1' pragma: @@ -649,7 +756,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -669,71 +776,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:09: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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:09:38 GMT + - Wed, 23 Jun 2021 08:06:49 GMT expires: - '-1' pragma: @@ -767,22 +825,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:10:10 GMT + - Wed, 23 Jun 2021 08:07:20 GMT expires: - '-1' pragma: @@ -816,22 +874,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:10:41 GMT + - Wed, 23 Jun 2021 08:07:53 GMT expires: - '-1' pragma: @@ -865,22 +923,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:11:13 GMT + - Wed, 23 Jun 2021 08:08:24 GMT expires: - '-1' pragma: @@ -914,22 +972,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:11:45 GMT + - Wed, 23 Jun 2021 08:08:55 GMT expires: - '-1' pragma: @@ -963,22 +1021,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:12:16 GMT + - Wed, 23 Jun 2021 08:09:27 GMT expires: - '-1' pragma: @@ -1012,22 +1070,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:12:48 GMT + - Wed, 23 Jun 2021 08:09:59 GMT expires: - '-1' pragma: @@ -1061,22 +1119,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:13:19 GMT + - Wed, 23 Jun 2021 08:10:29 GMT expires: - '-1' pragma: @@ -1110,22 +1168,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:13:51 GMT + - Wed, 23 Jun 2021 08:11:01 GMT expires: - '-1' pragma: @@ -1159,22 +1217,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:14:22 GMT + - Wed, 23 Jun 2021 08:11:32 GMT expires: - '-1' pragma: @@ -1208,22 +1266,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:14:54 GMT + - Wed, 23 Jun 2021 08:12:04 GMT expires: - '-1' pragma: @@ -1257,22 +1315,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:15:25 GMT + - Wed, 23 Jun 2021 08:12:35 GMT expires: - '-1' pragma: @@ -1306,23 +1364,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c9e490f-2ee2-45d4-be8f-2fe1fbaa46e6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\",\n \"endTime\": - \"2021-05-14T06:15:35.125377Z\"\n }" + string: "{\n \"name\": \"0f499e6c-e22e-d445-be8f-2fe1fbaa46e6\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:06:18.9766666Z\",\n \"endTime\": + \"2021-06-23T08:12:43.2956097Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '170' content-type: - application/json date: - - Fri, 14 May 2021 06:15:57 GMT + - Wed, 23 Jun 2021 08:13:07 GMT expires: - '-1' pragma: @@ -1356,7 +1414,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: @@ -1367,19 +1425,19 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1971.210526\",\n \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '818' + - '847' content-type: - application/json date: - - Fri, 14 May 2021 06:15:58 GMT + - Wed, 23 Jun 2021 08:13:08 GMT expires: - '-1' pragma: @@ -1413,7 +1471,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -1424,24 +1482,25 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-cb7cf354.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-cb7cf354.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n + \ \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -1452,24 +1511,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e77c1cf-b7cc-457a-966e-22aea2b46709\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3952' + - '4049' content-type: - application/json date: - - Fri, 14 May 2021 06:16:01 GMT + - Wed, 23 Jun 2021 08:13:10 GMT expires: - '-1' pragma: @@ -1488,18 +1548,19 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.11", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableUltraSSD": false, + "enableFIPS": false, "name": "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": - 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, - "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": 30, "osType": "Windows", - "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.19.9", - "upgradeSettings": {}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + 30, "osType": "Windows", "type": "VirtualMachineScaleSets", "mode": "User", + "orchestratorVersion": "1.19.11", "upgradeSettings": {}, "enableNodePublicIP": + false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "npwin"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "licenseType": "None", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "nodeResourceGroup": "MC_clitest000001_cliakstest000001_westus2", "enableRBAC": @@ -1507,11 +1568,12 @@ interactions: "azure", "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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e77c1cf-b7cc-457a-966e-22aea2b46709"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1522,7 +1584,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2595' + - '2679' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1530,7 +1592,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1541,24 +1603,25 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-cb7cf354.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-cb7cf354.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n + \ \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -1569,26 +1632,27 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e77c1cf-b7cc-457a-966e-22aea2b46709\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3939' + - '4036' content-type: - application/json date: - - Fri, 14 May 2021 06:16:08 GMT + - Wed, 23 Jun 2021 08:13:18 GMT expires: - '-1' pragma: @@ -1604,154 +1668,7 @@ interactions: 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: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:16: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 update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:17:11 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 update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:17:42 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 + - '1199' status: code: 200 message: OK @@ -1771,13 +1688,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -1786,7 +1703,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:18:14 GMT + - Wed, 23 Jun 2021 08:13:50 GMT expires: - '-1' pragma: @@ -1820,13 +1737,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -1835,7 +1752,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:18:45 GMT + - Wed, 23 Jun 2021 08:14:21 GMT expires: - '-1' pragma: @@ -1869,13 +1786,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -1884,7 +1801,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:19:16 GMT + - Wed, 23 Jun 2021 08:14:52 GMT expires: - '-1' pragma: @@ -1918,13 +1835,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -1933,7 +1850,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:19:49 GMT + - Wed, 23 Jun 2021 08:15:23 GMT expires: - '-1' pragma: @@ -1967,13 +1884,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -1982,7 +1899,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:20:20 GMT + - Wed, 23 Jun 2021 08:15:55 GMT expires: - '-1' pragma: @@ -2016,13 +1933,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2031,7 +1948,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:20:52 GMT + - Wed, 23 Jun 2021 08:16:26 GMT expires: - '-1' pragma: @@ -2065,13 +1982,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2080,7 +1997,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:21:24 GMT + - Wed, 23 Jun 2021 08:16:58 GMT expires: - '-1' pragma: @@ -2114,13 +2031,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2129,7 +2046,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:21:55 GMT + - Wed, 23 Jun 2021 08:17:30 GMT expires: - '-1' pragma: @@ -2163,13 +2080,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2178,7 +2095,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:22:27 GMT + - Wed, 23 Jun 2021 08:18:00 GMT expires: - '-1' pragma: @@ -2212,13 +2129,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2227,7 +2144,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:22:58 GMT + - Wed, 23 Jun 2021 08:18:32 GMT expires: - '-1' pragma: @@ -2261,13 +2178,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2276,7 +2193,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:23:30 GMT + - Wed, 23 Jun 2021 08:19:03 GMT expires: - '-1' pragma: @@ -2310,13 +2227,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2325,7 +2242,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:24:01 GMT + - Wed, 23 Jun 2021 08:19:34 GMT expires: - '-1' pragma: @@ -2359,13 +2276,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2374,7 +2291,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:24:33 GMT + - Wed, 23 Jun 2021 08:20:06 GMT expires: - '-1' pragma: @@ -2408,13 +2325,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2423,7 +2340,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:25:05 GMT + - Wed, 23 Jun 2021 08:20:37 GMT expires: - '-1' pragma: @@ -2457,13 +2374,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2472,7 +2389,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:25:37 GMT + - Wed, 23 Jun 2021 08:21:07 GMT expires: - '-1' pragma: @@ -2506,13 +2423,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2521,7 +2438,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:26:07 GMT + - Wed, 23 Jun 2021 08:21:40 GMT expires: - '-1' pragma: @@ -2555,13 +2472,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2570,7 +2487,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:26:40 GMT + - Wed, 23 Jun 2021 08:22:11 GMT expires: - '-1' pragma: @@ -2604,13 +2521,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2619,7 +2536,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:27:11 GMT + - Wed, 23 Jun 2021 08:22:43 GMT expires: - '-1' pragma: @@ -2653,13 +2570,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2668,7 +2585,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:27:42 GMT + - Wed, 23 Jun 2021 08:23:14 GMT expires: - '-1' pragma: @@ -2702,13 +2619,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2717,7 +2634,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:28:15 GMT + - Wed, 23 Jun 2021 08:23:46 GMT expires: - '-1' pragma: @@ -2751,13 +2668,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2766,7 +2683,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:28:46 GMT + - Wed, 23 Jun 2021 08:24:17 GMT expires: - '-1' pragma: @@ -2800,13 +2717,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2815,7 +2732,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:29:17 GMT + - Wed, 23 Jun 2021 08:24:48 GMT expires: - '-1' pragma: @@ -2849,13 +2766,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2864,7 +2781,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:29:49 GMT + - Wed, 23 Jun 2021 08:25:20 GMT expires: - '-1' pragma: @@ -2898,13 +2815,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2913,7 +2830,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:30:21 GMT + - Wed, 23 Jun 2021 08:25:52 GMT expires: - '-1' pragma: @@ -2947,13 +2864,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -2962,7 +2879,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:30:52 GMT + - Wed, 23 Jun 2021 08:26:24 GMT expires: - '-1' pragma: @@ -2996,13 +2913,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\"\n }" headers: cache-control: - no-cache @@ -3011,7 +2928,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:31:24 GMT + - Wed, 23 Jun 2021 08:26:56 GMT expires: - '-1' pragma: @@ -3045,14 +2962,14 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d83f0f56-5e16-493a-8757-331729c21098?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\",\n \"endTime\": - \"2021-05-14T06:31:24.9524898Z\"\n }" + string: "{\n \"name\": \"560f3fd8-165e-3a49-8757-331729c21098\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:13:16.7933333Z\",\n \"endTime\": + \"2021-06-23T08:27:24.2055657Z\"\n }" headers: cache-control: - no-cache @@ -3061,7 +2978,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:31:55 GMT + - Wed, 23 Jun 2021 08:27:28 GMT expires: - '-1' pragma: @@ -3095,7 +3012,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: @@ -3104,24 +3021,25 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-cb7cf354.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-cb7cf354.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n + \ \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -3132,24 +3050,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e77c1cf-b7cc-457a-966e-22aea2b46709\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3942' + - '4039' content-type: - application/json date: - - Fri, 14 May 2021 06:31:57 GMT + - Wed, 23 Jun 2021 08:27:29 GMT expires: - '-1' pragma: @@ -3183,7 +3102,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -3196,30 +3115,30 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n - \ }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n + \ \"enableFIPS\": false\n }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n - }" + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '1799' + - '1861' content-type: - application/json date: - - Fri, 14 May 2021 06:31:59 GMT + - Wed, 23 Jun 2021 08:27:32 GMT expires: - '-1' pragma: @@ -3255,7 +3174,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: DELETE @@ -3265,17 +3184,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d941eb29-2c17-4a17-895c-17de0c65e0f2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d4c40e8f-8f40-492c-b35c-50fe1dd7e566?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:32:01 GMT + - Wed, 23 Jun 2021 08:27:33 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d941eb29-2c17-4a17-895c-17de0c65e0f2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d4c40e8f-8f40-492c-b35c-50fe1dd7e566?api-version=2016-03-30 pragma: - no-cache server: @@ -3285,7 +3204,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted @@ -3305,29 +3224,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/af65f30d-c754-43e5-9007-5ecc2b6a917a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c95b569f-bc8b-4609-b2c0-2228d8f1d01e?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:32:03 GMT + - Wed, 23 Jun 2021 08:27:36 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/af65f30d-c754-43e5-9007-5ecc2b6a917a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/c95b569f-bc8b-4609-b2c0-2228d8f1d01e?api-version=2016-03-30 pragma: - no-cache server: @@ -3337,7 +3253,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14997' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml index 815afcb4288..36fb1ea264d 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml @@ -14,12 +14,12 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --auto-upgrade-channel User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T05:58:24Z"},"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":"2021-06-23T08:01:22Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -28,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 05:58:28 GMT + - Wed, 23 Jun 2021 08:01:26 GMT expires: - '-1' pragma: @@ -44,17 +44,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestakv2iqca5-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitest7awt233hp-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, - "autoUpgradeProfile": {"upgradeChannel": "rapid"}}, "identity": {"type": "SystemAssigned"}}' + "autoUpgradeProfile": {"upgradeChannel": "rapid"}, "disableLocalAccounts": false}, + "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1323' + - '1379' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -74,7 +75,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -85,20 +86,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7awt233hp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n @@ -108,21 +110,21 @@ interactions: \"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\": 100,\n \"autoUpgradeProfile\": - {\n \"upgradeChannel\": \"rapid\"\n }\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + {\n \"upgradeChannel\": \"rapid\"\n },\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2717' + - '2783' content-type: - application/json date: - - Fri, 14 May 2021 05:58:39 GMT + - Wed, 23 Jun 2021 08:01:39 GMT expires: - '-1' pragma: @@ -134,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -155,22 +157,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" + string: "{\n \"name\": \"185f48b8-8cd4-5b40-a590-61bed4526a26\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.9833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 05:59:10 GMT + - Wed, 23 Jun 2021 08:02:10 GMT expires: - '-1' pragma: @@ -205,22 +207,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" + string: "{\n \"name\": \"185f48b8-8cd4-5b40-a590-61bed4526a26\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.9833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 05:59:41 GMT + - Wed, 23 Jun 2021 08:02:42 GMT expires: - '-1' pragma: @@ -255,22 +257,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" + string: "{\n \"name\": \"185f48b8-8cd4-5b40-a590-61bed4526a26\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.9833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:00:14 GMT + - Wed, 23 Jun 2021 08:03:14 GMT expires: - '-1' pragma: @@ -305,22 +307,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" + string: "{\n \"name\": \"185f48b8-8cd4-5b40-a590-61bed4526a26\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.9833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:00:45 GMT + - Wed, 23 Jun 2021 08:03:45 GMT expires: - '-1' pragma: @@ -355,22 +357,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" + string: "{\n \"name\": \"185f48b8-8cd4-5b40-a590-61bed4526a26\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.9833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:01:18 GMT + - Wed, 23 Jun 2021 08:04:16 GMT expires: - '-1' pragma: @@ -405,23 +407,73 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\",\n \"endTime\": - \"2021-05-14T06:01:48.1397154Z\"\n }" + string: "{\n \"name\": \"185f48b8-8cd4-5b40-a590-61bed4526a26\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:38.9833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:04:48 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 --location --generate-ssh-keys --enable-managed-identity + --auto-upgrade-channel + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8485f18-d48c-405b-a590-61bed4526a26?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"185f48b8-8cd4-5b40-a590-61bed4526a26\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:01:38.9833333Z\",\n \"endTime\": + \"2021-06-23T08:05:09.0983414Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Fri, 14 May 2021 06:01:48 GMT + - Wed, 23 Jun 2021 08:05:19 GMT expires: - '-1' pragma: @@ -456,7 +508,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -465,27 +517,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7awt233hp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/76906328-5881-477a-9d7b-a467cf2cffc4\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/46a6fee3-893d-4a0c-b0a9-96cc4cf6e179\"\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\": @@ -493,18 +546,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"rapid\"\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3380' + - '3446' content-type: - application/json date: - - Fri, 14 May 2021 06:01:50 GMT + - Wed, 23 Jun 2021 08:05:20 GMT expires: - '-1' pragma: @@ -538,7 +592,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -549,27 +603,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7awt233hp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/76906328-5881-477a-9d7b-a467cf2cffc4\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/46a6fee3-893d-4a0c-b0a9-96cc4cf6e179\"\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\": @@ -577,18 +632,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"rapid\"\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3380' + - '3446' content-type: - application/json date: - - Fri, 14 May 2021 06:01:52 GMT + - Wed, 23 Jun 2021 08:05:22 GMT expires: - '-1' pragma: @@ -607,25 +663,27 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestakv2iqca5-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitest7awt233hp-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "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/76906328-5881-477a-9d7b-a467cf2cffc4"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/46a6fee3-893d-4a0c-b0a9-96cc4cf6e179"}]}}, "autoUpgradeProfile": {"upgradeChannel": "stable"}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -636,7 +694,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2215' + - '2273' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -644,7 +702,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -655,27 +713,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7awt233hp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/76906328-5881-477a-9d7b-a467cf2cffc4\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/46a6fee3-893d-4a0c-b0a9-96cc4cf6e179\"\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\": @@ -683,20 +742,21 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"stable\"\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/ac923b52-492c-49d0-b0cf-78c4211878cd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a3260bee-8a2a-4855-ac0b-0f926191c5d5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3379' + - '3445' content-type: - application/json date: - - Fri, 14 May 2021 06:01:59 GMT + - Wed, 23 Jun 2021 08:05:30 GMT expires: - '-1' pragma: @@ -712,7 +772,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -732,22 +792,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac923b52-492c-49d0-b0cf-78c4211878cd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a3260bee-8a2a-4855-ac0b-0f926191c5d5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"523b92ac-2c49-d049-b0cf-78c4211878cd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:58.2033333Z\"\n }" + string: "{\n \"name\": \"ee0b26a3-2a8a-5548-ac0b-0f926191c5d5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:28.24Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:02:30 GMT + - Wed, 23 Jun 2021 08:06:01 GMT expires: - '-1' pragma: @@ -781,23 +841,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac923b52-492c-49d0-b0cf-78c4211878cd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a3260bee-8a2a-4855-ac0b-0f926191c5d5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"523b92ac-2c49-d049-b0cf-78c4211878cd\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:01:58.2033333Z\",\n \"endTime\": - \"2021-05-14T06:02:56.1999734Z\"\n }" + string: "{\n \"name\": \"ee0b26a3-2a8a-5548-ac0b-0f926191c5d5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:05:28.24Z\",\n \"endTime\": + \"2021-06-23T08:06:28.3491086Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 06:03:02 GMT + - Wed, 23 Jun 2021 08:06:31 GMT expires: - '-1' pragma: @@ -831,7 +891,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -840,27 +900,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7awt233hp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7awt233hp-8ecadf-7cf11421.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/76906328-5881-477a-9d7b-a467cf2cffc4\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/46a6fee3-893d-4a0c-b0a9-96cc4cf6e179\"\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\": @@ -868,18 +929,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"stable\"\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3381' + - '3447' content-type: - application/json date: - - Fri, 14 May 2021 06:03:04 GMT + - Wed, 23 Jun 2021 08:06:34 GMT expires: - '-1' pragma: @@ -913,29 +975,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/48010bbb-4279-43fd-ab1f-dc7ca5c791cd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b10f202-c140-4872-a538-3e116bf10735?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:03:08 GMT + - Wed, 23 Jun 2021 08:06:38 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/48010bbb-4279-43fd-ab1f-dc7ca5c791cd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/0b10f202-c140-4872-a538-3e116bf10735?api-version=2016-03-30 pragma: - no-cache server: @@ -945,7 +1004,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14997' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml index 37cba1bb4b1..03917b663de 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T05:58:24Z"},"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":"2021-06-23T08:01:22Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 05:58:27 GMT + - Wed, 23 Jun 2021 08:01:25 GMT expires: - '-1' pragma: @@ -43,18 +43,19 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestsusmaan32-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitest57kodzlrc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "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"}}' + "loadBalancerSku": "standard"}, "disableLocalAccounts": false}, "identity": + {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1366' + - '1422' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -73,7 +74,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -84,20 +85,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestsusmaan32-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest57kodzlrc-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest57kodzlrc-8ecadf-2d0785ef.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest57kodzlrc-8ecadf-2d0785ef.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -108,21 +110,21 @@ interactions: {\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\": 100\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2810' + - '2876' content-type: - application/json date: - - Fri, 14 May 2021 05:58:39 GMT + - Wed, 23 Jun 2021 08:01:38 GMT expires: - '-1' pragma: @@ -134,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -154,13 +156,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\"\n }" headers: cache-control: - no-cache @@ -169,7 +171,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:11 GMT + - Wed, 23 Jun 2021 08:02:10 GMT expires: - '-1' pragma: @@ -203,13 +205,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\"\n }" headers: cache-control: - no-cache @@ -218,7 +220,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:43 GMT + - Wed, 23 Jun 2021 08:02:41 GMT expires: - '-1' pragma: @@ -252,13 +254,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\"\n }" headers: cache-control: - no-cache @@ -267,7 +269,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:15 GMT + - Wed, 23 Jun 2021 08:03:12 GMT expires: - '-1' pragma: @@ -301,13 +303,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\"\n }" headers: cache-control: - no-cache @@ -316,7 +318,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:46 GMT + - Wed, 23 Jun 2021 08:03:43 GMT expires: - '-1' pragma: @@ -350,13 +352,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\"\n }" headers: cache-control: - no-cache @@ -365,7 +367,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:18 GMT + - Wed, 23 Jun 2021 08:04:15 GMT expires: - '-1' pragma: @@ -399,14 +401,112 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\",\n \"endTime\": - \"2021-05-14T06:01:47.6056125Z\"\n }" + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:04:46 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 --generate-ssh-keys -a -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:05:17 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 --generate-ssh-keys -a -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cb33d908-2a46-4082-9786-70bb93ce5a74?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"08d933cb-462a-8240-9786-70bb93ce5a74\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:01:37.5166666Z\",\n \"endTime\": + \"2021-06-23T08:05:20.4803436Z\"\n }" headers: cache-control: - no-cache @@ -415,7 +515,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:49 GMT + - Wed, 23 Jun 2021 08:05:49 GMT expires: - '-1' pragma: @@ -449,7 +549,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -458,20 +558,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestsusmaan32-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest57kodzlrc-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitest57kodzlrc-8ecadf-2d0785ef.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest57kodzlrc-8ecadf-2d0785ef.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -482,25 +583,26 @@ interactions: \ \"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/46471512-6616-4bb7-b9e8-d95b28115dae\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8c9e92c2-db2d-4484-8cfe-dd173b9c5510\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3856' + - '3922' content-type: - application/json date: - - Fri, 14 May 2021 06:01:50 GMT + - Wed, 23 Jun 2021 08:05:50 GMT expires: - '-1' pragma: @@ -534,29 +636,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77a79270-765c-4d5b-91f2-40f724d9dd05?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/420a1235-39bd-431f-989e-05d99752f587?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:01:55 GMT + - Wed, 23 Jun 2021 08:05:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/77a79270-765c-4d5b-91f2-40f724d9dd05?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/420a1235-39bd-431f-989e-05d99752f587?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml index d2d7f508fb1..28c1c2a25b9 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml @@ -13,22 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 (DOCKER) azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.10 - (Linux-5.10.25-linuxkit-x86_64-with) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:56:46Z"},"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":"2021-06-23T10:16:37Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '317' + - '313' content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 08:56:52 GMT + - Wed, 23 Jun 2021 10:16:39 GMT expires: - '-1' pragma: @@ -43,18 +42,18 @@ interactions: code: 200 message: OK - request: - body: '{"location": "eastus2euap", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestso4dggrt2-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitestfrp52wq5z-79a739", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": true, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd"}]}}, - "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": "standard"}, "disableLocalAccounts": false}, - "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + true, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,63 +64,63 @@ interactions: Connection: - keep-alive Content-Length: - - '1278' + - '1327' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestso4dggrt2-c10894\",\n \"fqdn\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.hcp.eastus2euap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.portal.hcp.eastus2euap.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n\ - \ \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\"\ - : \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": \"\ - Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\"\ - ,\n \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000001_eastus2euap\",\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\": 100,\n \"disableLocalAccounts\": false\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestfrp52wq5z-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestfrp52wq5z-79a739-78b32646.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestfrp52wq5z-79a739-78b32646.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2fipscontainerd-2021.06.02\",\n \"enableFIPS\": true\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2679' + - '2723' content-type: - application/json date: - - Fri, 14 May 2021 08:57:01 GMT + - Wed, 23 Jun 2021 10:16:55 GMT expires: - '-1' pragma: @@ -151,23 +150,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" + string: "{\n \"name\": \"fb2c3f64-bb51-254c-a2d0-fd710181cb14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:16:54.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 08:57:32 GMT + - Wed, 23 Jun 2021 10:17:27 GMT expires: - '-1' pragma: @@ -199,23 +199,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" + string: "{\n \"name\": \"fb2c3f64-bb51-254c-a2d0-fd710181cb14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:16:54.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 08:58:03 GMT + - Wed, 23 Jun 2021 10:17:58 GMT expires: - '-1' pragma: @@ -247,23 +248,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" + string: "{\n \"name\": \"fb2c3f64-bb51-254c-a2d0-fd710181cb14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:16:54.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 08:58:34 GMT + - Wed, 23 Jun 2021 10:18:30 GMT expires: - '-1' pragma: @@ -295,23 +297,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" + string: "{\n \"name\": \"fb2c3f64-bb51-254c-a2d0-fd710181cb14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:16:54.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 08:59:05 GMT + - Wed, 23 Jun 2021 10:19:01 GMT expires: - '-1' pragma: @@ -343,23 +346,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" + string: "{\n \"name\": \"fb2c3f64-bb51-254c-a2d0-fd710181cb14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:16:54.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 08:59:36 GMT + - Wed, 23 Jun 2021 10:19:32 GMT expires: - '-1' pragma: @@ -391,23 +395,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" + string: "{\n \"name\": \"fb2c3f64-bb51-254c-a2d0-fd710181cb14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:16:54.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 09:00:07 GMT + - Wed, 23 Jun 2021 10:20:04 GMT expires: - '-1' pragma: @@ -439,24 +444,25 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/643f2cfb-51bb-4c25-a2d0-fd710181cb14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\",\n \"\ - endTime\": \"2021-05-14T09:00:21.200117Z\"\n }" + string: "{\n \"name\": \"fb2c3f64-bb51-254c-a2d0-fd710181cb14\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T10:16:54.17Z\",\n \"endTime\": + \"2021-06-23T10:20:24.1963881Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 09:00:37 GMT + - Wed, 23 Jun 2021 10:20:36 GMT expires: - '-1' pragma: @@ -488,59 +494,58 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestso4dggrt2-c10894\",\n \"fqdn\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.hcp.eastus2euap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.portal.hcp.eastus2euap.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\"\ - ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ - mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ - : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\"\ - ,\n \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000001_eastus2euap\",\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_cliakstest000001_eastus2euap/providers/Microsoft.Network/publicIPAddresses/5cc5b94a-4804-4f4a-bf16-e01135c8ef0d\"\ - \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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\"\ - : {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_eastus2euap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\"\ - ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ - :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ - : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ - principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ - \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestfrp52wq5z-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestfrp52wq5z-79a739-78b32646.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestfrp52wq5z-79a739-78b32646.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2fipscontainerd-2021.06.02\",\n \"enableFIPS\": true\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/24187056-732a-4c57-8404-b7cf61f222a3\"\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\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3350' + - '3386' content-type: - application/json date: - - Fri, 14 May 2021 09:00:39 GMT + - Wed, 23 Jun 2021 10:20:36 GMT expires: - '-1' pragma: @@ -572,34 +577,35 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\"\ - ,\n \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ - ,\n \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"\ - kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\"\ - ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ - mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ - : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\"\ - ,\n \"enableFIPS\": true\n }\n }\n ]\n }" + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n + \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.06.02\",\n + \ \"enableFIPS\": true\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '930' + - '961' content-type: - application/json date: - - Fri, 14 May 2021 09:00:41 GMT + - Wed, 23 Jun 2021 10:20:39 GMT expires: - '-1' pragma: @@ -621,7 +627,8 @@ interactions: body: '{"properties": {"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": - [], "enableEncryptionAtHost": false, "enableFIPS": true}}' + [], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + true}}' headers: Accept: - application/json @@ -632,42 +639,43 @@ interactions: Connection: - keep-alive Content-Length: - - '317' + - '342' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\"\ - ,\n \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ - ,\n \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ - : \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\"\ - : false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n\ - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\",\n \"upgradeSettings\"\ - : {},\n \"enableFIPS\": true\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\",\n + \ \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2fipscontainerd-2021.06.02\",\n \"upgradeSettings\": + {},\n \"enableFIPS\": true\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 cache-control: - no-cache content-length: - - '843' + - '872' content-type: - application/json date: - - Fri, 14 May 2021 09:00:46 GMT + - Wed, 23 Jun 2021 10:20:44 GMT expires: - '-1' pragma: @@ -697,14 +705,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" headers: cache-control: - no-cache @@ -713,7 +722,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:01:16 GMT + - Wed, 23 Jun 2021 10:21:16 GMT expires: - '-1' pragma: @@ -745,14 +754,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" headers: cache-control: - no-cache @@ -761,7 +771,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:01:47 GMT + - Wed, 23 Jun 2021 10:21:47 GMT expires: - '-1' pragma: @@ -793,14 +803,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" headers: cache-control: - no-cache @@ -809,7 +820,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:02:18 GMT + - Wed, 23 Jun 2021 10:22:18 GMT expires: - '-1' pragma: @@ -841,14 +852,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" headers: cache-control: - no-cache @@ -857,7 +869,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:02:49 GMT + - Wed, 23 Jun 2021 10:22:50 GMT expires: - '-1' pragma: @@ -889,14 +901,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" headers: cache-control: - no-cache @@ -905,7 +918,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:03:20 GMT + - Wed, 23 Jun 2021 10:23:22 GMT expires: - '-1' pragma: @@ -937,14 +950,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" headers: cache-control: - no-cache @@ -953,7 +967,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:03:51 GMT + - Wed, 23 Jun 2021 10:23:53 GMT expires: - '-1' pragma: @@ -985,14 +999,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" headers: cache-control: - no-cache @@ -1001,7 +1016,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:04:22 GMT + - Wed, 23 Jun 2021 10:24:25 GMT expires: - '-1' pragma: @@ -1033,15 +1048,65 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\",\n \"\ - endTime\": \"2021-05-14T09:04:47.3107996Z\"\n }" + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 10:24: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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --enable-fips-image + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2083572f-d54f-4b3f-becf-da89ea3b3ca4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2f578320-4fd5-3f4b-becf-da89ea3b3ca4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T10:20:44.8466666Z\",\n \"endTime\": + \"2021-06-23T10:25:06.5605125Z\"\n }" headers: cache-control: - no-cache @@ -1050,7 +1115,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 09:04:52 GMT + - Wed, 23 Jun 2021 10:25:29 GMT expires: - '-1' pragma: @@ -1082,32 +1147,33 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\"\ - ,\n \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ - ,\n \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ - : \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"\ - enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\",\n \"upgradeSettings\"\ - : {},\n \"enableFIPS\": true\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\",\n + \ \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2fipscontainerd-2021.06.02\",\n \"upgradeSettings\": + {},\n \"enableFIPS\": true\n }\n }" headers: cache-control: - no-cache content-length: - - '844' + - '873' content-type: - application/json date: - - Fri, 14 May 2021 09:04:54 GMT + - Wed, 23 Jun 2021 10:25:30 GMT expires: - '-1' pragma: @@ -1141,28 +1207,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/34711a6a-f097-45b6-9143-26bbde9e98cc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a5a0efb-9b24-4413-998a-1859538cec6b?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 09:04:59 GMT + - Wed, 23 Jun 2021 10:25:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/34711a6a-f097-45b6-9143-26bbde9e98cc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/7a5a0efb-9b24-4413-998a-1859538cec6b?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml index 08b15c6d2a1..97969aa6c31 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml @@ -14,12 +14,12 @@ interactions: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a --appgw-subnet-prefix -o User-Agent: - - AZURECLI/2.24.2 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-06-10T04:56:16Z"},"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":"2021-06-23T08:11:54Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -28,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 10 Jun 2021 04:56:20 GMT + - Wed, 23 Jun 2021 08:11:56 GMT expires: - '-1' pragma: @@ -44,7 +44,7 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestmashuunhq-79a739", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-cliteste2gjtkonk-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": @@ -75,7 +75,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -86,9 +86,9 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestmashuunhq-79a739\",\n - \ \"fqdn\": \"cliakstest-clitestmashuunhq-79a739-83d56344.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestmashuunhq-79a739-83d56344.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-cliteste2gjtkonk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-cliteste2gjtkonk-8ecadf-b12e3d23.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-cliteste2gjtkonk-8ecadf-b12e3d23.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n @@ -97,7 +97,7 @@ interactions: \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.05.19\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -118,7 +118,7 @@ interactions: {\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/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 cache-control: - no-cache content-length: @@ -126,7 +126,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 04:56:33 GMT + - Wed, 23 Jun 2021 08:12:11 GMT expires: - '-1' pragma: @@ -138,7 +138,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -159,13 +159,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c92857a5-6390-8e49-8e53-e273d7564b56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-06-10T04:56:31.65Z\"\n }" + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" headers: cache-control: - no-cache @@ -174,7 +174,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 04:57:03 GMT + - Wed, 23 Jun 2021 08:12:42 GMT expires: - '-1' pragma: @@ -209,13 +209,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c92857a5-6390-8e49-8e53-e273d7564b56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-06-10T04:56:31.65Z\"\n }" + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" headers: cache-control: - no-cache @@ -224,7 +224,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 04:57:35 GMT + - Wed, 23 Jun 2021 08:13:13 GMT expires: - '-1' pragma: @@ -259,13 +259,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c92857a5-6390-8e49-8e53-e273d7564b56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-06-10T04:56:31.65Z\"\n }" + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" headers: cache-control: - no-cache @@ -274,7 +274,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 04:58:06 GMT + - Wed, 23 Jun 2021 08:13:45 GMT expires: - '-1' pragma: @@ -309,13 +309,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c92857a5-6390-8e49-8e53-e273d7564b56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-06-10T04:56:31.65Z\"\n }" + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" headers: cache-control: - no-cache @@ -324,7 +324,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 04:58:38 GMT + - Wed, 23 Jun 2021 08:14:16 GMT expires: - '-1' pragma: @@ -359,13 +359,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c92857a5-6390-8e49-8e53-e273d7564b56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-06-10T04:56:31.65Z\"\n }" + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" headers: cache-control: - no-cache @@ -374,7 +374,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 04:59:10 GMT + - Wed, 23 Jun 2021 08:14:48 GMT expires: - '-1' pragma: @@ -409,13 +409,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c92857a5-6390-8e49-8e53-e273d7564b56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-06-10T04:56:31.65Z\"\n }" + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" headers: cache-control: - no-cache @@ -424,7 +424,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 04:59:41 GMT + - Wed, 23 Jun 2021 08:15:19 GMT expires: - '-1' pragma: @@ -459,14 +459,114 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a55728c9-9063-498e-8e53-e273d7564b56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c92857a5-6390-8e49-8e53-e273d7564b56\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-06-10T04:56:31.65Z\",\n \"endTime\": - \"2021-06-10T04:59:44.5932375Z\"\n }" + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:15:52 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 --generate-ssh-keys -a --appgw-subnet-prefix + -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:16:23 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 --generate-ssh-keys -a --appgw-subnet-prefix + -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4048f326-6c74-4c3d-86dc-cb376fc40103?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"26f34840-746c-3d4c-86dc-cb376fc40103\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:12:10.32Z\",\n \"endTime\": + \"2021-06-23T08:16:50.1888844Z\"\n }" headers: cache-control: - no-cache @@ -475,7 +575,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 05:00:12 GMT + - Wed, 23 Jun 2021 08:16:54 GMT expires: - '-1' pragma: @@ -510,7 +610,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.24.2 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -519,9 +619,9 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestmashuunhq-79a739\",\n - \ \"fqdn\": \"cliakstest-clitestmashuunhq-79a739-83d56344.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestmashuunhq-79a739-83d56344.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-cliteste2gjtkonk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-cliteste2gjtkonk-8ecadf-b12e3d23.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-cliteste2gjtkonk-8ecadf-b12e3d23.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n @@ -530,7 +630,7 @@ interactions: \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.05.19\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -545,7 +645,7 @@ interactions: \ \"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/2f9aa9fc-82bf-45e2-b52e-b594f3b9f9b8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/af52d7f5-09d8-43a7-95f1-7e1177c13d62\"\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\": @@ -564,7 +664,7 @@ interactions: content-type: - application/json date: - - Thu, 10 Jun 2021 05:00:14 GMT + - Wed, 23 Jun 2021 08:16:56 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml index 9feb11386df..3178b836b9d 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml @@ -14,15 +14,12 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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-11-19T02:37:28Z"},"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":"2021-06-23T08:01:22Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -31,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 19 Nov 2020 02:37:32 GMT + - Wed, 23 Jun 2021 08:01:26 GMT expires: - '-1' pragma: @@ -45,263 +42,26 @@ interactions: status: code: 200 message: OK -- request: - body: '{"availableToOtherTenants": false, "homepage": "http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com", - "passwordCredentials": [{"startDate": "2020-11-19T02:37:32.991394Z", "endDate": - "2025-11-19T02:37:32.991394Z", "keyId": "8fd198b8-36f3-463b-ae6a-8ffb8ae24975", - "value": "ReplacedSPPassword123*"}], "displayName": "cliakstest000002", "identifierUris": - ["http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com"]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '455' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config - --aks-custom-headers -o - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - 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": "51e2a5e8-b0f1-4d9e-8608-723010d6c096", "deletionTimestamp": null, - "acceptMappedClaims": null, "addIns": [], "appId": "1fae4a95-a515-437e-b7d1-477cd24c7d7e", - "applicationTemplateId": null, "appRoles": [], "availableToOtherTenants": - false, "displayName": "cliakstest000002", "errorUrl": null, "groupMembershipClaims": - null, "homepage": "http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com", - "identifierUris": ["http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com"], - "informationalUrls": {"termsOfService": null, "support": null, "privacy": - null, "marketing": null}, "isDeviceOnlyAuthSupported": null, "keyCredentials": - [], "knownClientApplications": [], "logoutUrl": null, "logo@odata.mediaEditLink": - "directoryObjects/51e2a5e8-b0f1-4d9e-8608-723010d6c096/Microsoft.DirectoryServices.Application/logo", - "logo@odata.mediaContentType": "application/json;odata=minimalmetadata; charset=utf-8", - "logoUrl": null, "mainLogo@odata.mediaEditLink": "directoryObjects/51e2a5e8-b0f1-4d9e-8608-723010d6c096/Microsoft.DirectoryServices.Application/mainLogo", - "oauth2AllowIdTokenImplicitFlow": true, "oauth2AllowImplicitFlow": false, - "oauth2AllowUrlPathMatching": false, "oauth2Permissions": [{"adminConsentDescription": - "Allow the application to access cliakstest000002 on behalf of the signed-in - user.", "adminConsentDisplayName": "Access cliakstest000002", "id": "3c09f0f0-5951-4f1a-81ec-73dd38983438", - "isEnabled": true, "type": "User", "userConsentDescription": "Allow the application - to access cliakstest000002 on your behalf.", "userConsentDisplayName": "Access - cliakstest000002", "value": "user_impersonation"}], "oauth2RequirePostResponse": - false, "optionalClaims": null, "orgRestrictions": [], "parentalControlSettings": - {"countriesBlockedForMinors": [], "legalAgeGroupRule": "Allow"}, "passwordCredentials": - [{"customKeyIdentifier": null, "endDate": "2025-11-19T02:37:32.991394Z", "keyId": - "8fd198b8-36f3-463b-ae6a-8ffb8ae24975", "startDate": "2020-11-19T02:37:32.991394Z", - "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: - - '2375' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Thu, 19 Nov 2020 02:37:34 GMT - duration: - - '3652412' - expires: - - '-1' - location: - - https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/51e2a5e8-b0f1-4d9e-8608-723010d6c096/Microsoft.DirectoryServices.Application - ocp-aad-diagnostics-server-name: - - NU/j9xziYh+wlo8I0F24scwuAup6xtO9vAcfY4HxSKI= - ocp-aad-session-key: - - HlEMnVDvgjZSR2bfFXibk-8LYcDboB1PVg7iMNJMpnIAG3BkJdFdXM4UnYPguATgguokAyCcYIw6llbVhTepJK013t6T1zGUN_GNfwK86g0_vxEiJk9e1f3Fh3ogJ4oJCfJmBVUImqZl60lxwWiJO06bCDDUVZIzspGOK4yPh_k.8OCPK74BBxESMUju_l9WXrwxUqZCpGh5M8Job5-s-4U - pragma: - - no-cache - request-id: - - 107f2b7d-2f4d-47e0-8ffe-2c93c6c41ea2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '1' - 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: - - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config - --aks-custom-headers -o - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - accept-language: - - en-US - method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%271fae4a95-a515-437e-b7d1-477cd24c7d7e%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":"51e2a5e8-b0f1-4d9e-8608-723010d6c096","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"1fae4a95-a515-437e-b7d1-477cd24c7d7e","applicationTemplateId":null,"appRoles":[],"availableToOtherTenants":false,"displayName":"cliakstest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":"http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com","identifierUris":["http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/51e2a5e8-b0f1-4d9e-8608-723010d6c096/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/51e2a5e8-b0f1-4d9e-8608-723010d6c096/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access cliakstest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access - cliakstest000002","id":"3c09f0f0-5951-4f1a-81ec-73dd38983438","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access cliakstest000002 on your behalf.","userConsentDisplayName":"Access - cliakstest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2025-11-19T02:37:32.991394Z","keyId":"8fd198b8-36f3-463b-ae6a-8ffb8ae24975","startDate":"2020-11-19T02:37:32.991394Z","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: - - '2292' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Thu, 19 Nov 2020 02:37:35 GMT - duration: - - '610967' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - qxb+5oPfk5khbaIhIq0eSgs4N8Ph11A7dFHFBiJUmhs= - ocp-aad-session-key: - - HqtAMAW7vcQaIlcdy305u3SN6gVeCw29jP-pFpKC6Ocqr0nB7fNGaN8ce8ow5cGaEHBLiCTSQKs8MgVWj387T-TfBlcyFNq7yruUlYdM4ecTp2SmdPHFVyYj3jYYmVWv8HXHjcklGsvIFprtTvNxABeJDWf2CtUEOtyJDSfiRvE.8U-jkLvJVosTIxjUX-MtYzu6Vxru9iY2LmBjq3uIaUk - pragma: - - no-cache - request-id: - - 40f5542b-530e-47b5-baa2-250a3750f8f4 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '2' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"accountEnabled": "True", "appId": "1fae4a95-a515-437e-b7d1-477cd24c7d7e"}' - 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: - - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config - --aks-custom-headers -o - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - 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":"d84bef49-5707-4078-ad23-85c4a6699fe4","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"cliakstest000002","appId":"1fae4a95-a515-437e-b7d1-477cd24c7d7e","applicationTemplateId":null,"appOwnerTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"cliakstest000002","errorUrl":null,"homepage":"http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com","informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access cliakstest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access - cliakstest000002","id":"3c09f0f0-5951-4f1a-81ec-73dd38983438","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access cliakstest000002 on your behalf.","userConsentDisplayName":"Access - cliakstest000002","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["1fae4a95-a515-437e-b7d1-477cd24c7d7e","http://84ed01.cliakstest-clitestw4k4g7e5e-8ecadf.westus2.cloudapp.azure.com"],"servicePrincipalType":"Application","signInAudience":"AzureADMyOrg","tags":[],"tokenEncryptionKeyId":null}' - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - content-length: - - '1782' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Thu, 19 Nov 2020 02:37:35 GMT - duration: - - '2081251' - expires: - - '-1' - location: - - https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/d84bef49-5707-4078-ad23-85c4a6699fe4/Microsoft.DirectoryServices.ServicePrincipal - ocp-aad-diagnostics-server-name: - - BYjZLSpYxh1AYWyJliehnYvoKk1mZWUiBo7Q2MO0wc8= - ocp-aad-session-key: - - j3LL8-vKbM9i95gWSmwcLkOSBb9vSpytlsLwUUweGCHD-fJDY_pZf-DIHUy7CQrZUTSB1regCJ169Z8XIx5K3jgoIi_CiAIdPKk9JxPOVwEE6Hzi52OGp7N556l4CQKiaHr2AKEMDzjCMfCqFsKIEqlxoE8geNswdetttAjhaVQ.JucUxc1IEJwLrTCuMXc9yRUChsNw1mHyoZVCTyrmuHQ - pragma: - - no-cache - request-id: - - 01059692-fe5b-471a-ac66-0f36c064d9da - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '1' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestw4k4g7e5e-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestrpq3n2nwl-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "kubeletConfig": {"cpuManagerPolicy": "static", "cpuCfsQuota": true, "cpuCfsQuotaPeriod": "200ms", "imageGcHighThreshold": 90, "imageGcLowThreshold": 70, "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": ["kernel.msg*", - "net.*"], "failSwapOn": false, "containerLogMaxFiles": 10, "containerLogMaxSizeMb": 20}, "linuxOSConfig": {"sysctls": {"netCoreSomaxconn": - 163849, "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "32000 60000"}, - "transparentHugePageEnabled": "madvise", "transparentHugePageDefrag": "defer+madvise", - "swapFileSizeMB": 1500}, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvs+MWAFDE8uqPhicolldxCS0qzlQOo53pqurCJ+513wUDoZdGWP9mUiWMQ1vs0ZeiWhrzIA8LBK6JDT0vPyJyxNAIuvF5v5VAErFVm5GdV+ZNscig+M/2AcNJAPMvIHS2Fokhrdw04R3YMfA3KD4WNCiiugCGJNIveapDQzdjXDZk2GOnB8XrLurN2B6mDK8sfAn0XSDqkeBWgTL/YprhBXV0Sr1GILTLMekbCLySTjZ6ZGvUvXsE7JsM7voVizMC9elvuZm4zzDyV3RwSs1p2Riz5L3tRAlqCz23ts82JqcRWlB8bXLK81G03lO8PFOTZmfEd8VN7C6fBAFaNrCv"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001", - "secret": "fake-secret"}, "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": - "standard"}}}' + "net.*"], "failSwapOn": false, "containerLogMaxSizeMB": 20, "containerLogMaxFiles": + 10}, "linuxOSConfig": {"sysctls": {"netCoreSomaxconn": 163849, "netIpv4TcpTwReuse": + true, "netIpv4IpLocalPortRange": "32000 60000"}, "transparentHugePageEnabled": + "madvise", "transparentHugePageDefrag": "defer+madvise", "swapFileSizeMB": 1500}, + "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, + "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: AKSHTTPCustomFeatures: - Microsoft.ContainerService/CustomNodeConfigPreview @@ -314,34 +74,74 @@ interactions: Connection: - keep-alive Content-Length: - - '1772' + - '1891' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: 1fae4a95-a515-437e-b7d1-477cd24c7d7e not found in Active\ - \ Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47, Please see https://aka.ms/aks-sp-help\ - \ for more details.\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestrpq3n2nwl-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestrpq3n2nwl-8ecadf-8532bdc2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrpq3n2nwl-8ecadf-8532bdc2.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": + \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n + \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n + \ \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\": + [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": + false,\n \"containerLogMaxSizeMB\": 20,\n \"containerLogMaxFiles\": + 10\n },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\": + 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\": + \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\",\n + \ \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 cache-control: - no-cache content-length: - - '253' + - '3442' content-type: - application/json date: - - Thu, 19 Nov 2020 02:37:36 GMT + - Wed, 23 Jun 2021 08:01:37 GMT expires: - '-1' pragma: @@ -353,32 +153,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: - code: 400 - message: Bad Request + code: 201 + message: Created - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestw4k4g7e5e-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "kubeletConfig": {"cpuManagerPolicy": "static", "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", "imageGcHighThreshold": 90, "imageGcLowThreshold": - 70, "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": ["kernel.msg*", - "net.*"], "failSwapOn": false, "containerLogMaxFiles": 10, "containerLogMaxSizeMb": 20}, "linuxOSConfig": {"sysctls": {"netCoreSomaxconn": - 163849, "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "32000 60000"}, - "transparentHugePageEnabled": "madvise", "transparentHugePageDefrag": "defer+madvise", - "swapFileSizeMB": 1500}, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvs+MWAFDE8uqPhicolldxCS0qzlQOo53pqurCJ+513wUDoZdGWP9mUiWMQ1vs0ZeiWhrzIA8LBK6JDT0vPyJyxNAIuvF5v5VAErFVm5GdV+ZNscig+M/2AcNJAPMvIHS2Fokhrdw04R3YMfA3KD4WNCiiugCGJNIveapDQzdjXDZk2GOnB8XrLurN2B6mDK8sfAn0XSDqkeBWgTL/YprhBXV0Sr1GILTLMekbCLySTjZ6ZGvUvXsE7JsM7voVizMC9elvuZm4zzDyV3RwSs1p2Riz5L3tRAlqCz23ts82JqcRWlB8bXLK81G03lO8PFOTZmfEd8VN7C6fBAFaNrCv"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001", - "secret": "fake-secret"}, "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": - "standard"}}}' + body: null headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/CustomNodeConfigPreview Accept: - application/json Accept-Encoding: @@ -387,71 +168,28 @@ interactions: - aks create Connection: - keep-alive - Content-Length: - - '1772' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - 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=2021-05-01 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestw4k4g7e5e-8ecadf\",\n \"fqdn\": \"cliakstest-clitestw4k4g7e5e-8ecadf-cd3dfd03.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\"\ - : \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\":\ - \ \"200ms\",\n \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\"\ - : 70,\n \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\"\ - : [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\"\ - : false,\n \"containerLogMaxFiles\": 10,\n \"containerLogMaxSizeMb\": - 20\n },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \ - \ \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n \ - \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\"\ - : \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n\ - \ \"swapFileSizeMB\": 1500\n },\n \"osType\": \"Linux\",\n \ - \ \"nodeImageVersion\": \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \ - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ - : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvs+MWAFDE8uqPhicolldxCS0qzlQOo53pqurCJ+513wUDoZdGWP9mUiWMQ1vs0ZeiWhrzIA8LBK6JDT0vPyJyxNAIuvF5v5VAErFVm5GdV+ZNscig+M/2AcNJAPMvIHS2Fokhrdw04R3YMfA3KD4WNCiiugCGJNIveapDQzdjXDZk2GOnB8XrLurN2B6mDK8sfAn0XSDqkeBWgTL/YprhBXV0Sr1GILTLMekbCLySTjZ6ZGvUvXsE7JsM7voVizMC9elvuZm4zzDyV3RwSs1p2Riz5L3tRAlqCz23ts82JqcRWlB8bXLK81G03lO8PFOTZmfEd8VN7C6fBAFaNrCv\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"1fae4a95-a515-437e-b7d1-477cd24c7d7e\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\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\": 100\n },\n \"sku\": {\n \"\ - name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"name\": \"ff65e1c4-9f9a-fe43-bdf0-101c59080c1c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:36.2033333Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d541bf9-a084-4bbe-ac2a-d2726e288e2d?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3021' + - '126' content-type: - application/json date: - - Thu, 19 Nov 2020 02:37:46 GMT + - Wed, 23 Jun 2021 08:02:07 GMT expires: - '-1' pragma: @@ -460,13 +198,15 @@ interactions: - 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: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -482,14 +222,15 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d541bf9-a084-4bbe-ac2a-d2726e288e2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f91b546d-84a0-be4b-ac2a-d2726e288e2d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:37:46.2378877Z\"\n }" + string: "{\n \"name\": \"ff65e1c4-9f9a-fe43-bdf0-101c59080c1c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:36.2033333Z\"\n }" headers: cache-control: - no-cache @@ -498,7 +239,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:38:17 GMT + - Wed, 23 Jun 2021 08:02:39 GMT expires: - '-1' pragma: @@ -531,14 +272,15 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d541bf9-a084-4bbe-ac2a-d2726e288e2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f91b546d-84a0-be4b-ac2a-d2726e288e2d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:37:46.2378877Z\"\n }" + string: "{\n \"name\": \"ff65e1c4-9f9a-fe43-bdf0-101c59080c1c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:36.2033333Z\"\n }" headers: cache-control: - no-cache @@ -547,7 +289,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:38:47 GMT + - Wed, 23 Jun 2021 08:03:11 GMT expires: - '-1' pragma: @@ -580,14 +322,15 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d541bf9-a084-4bbe-ac2a-d2726e288e2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f91b546d-84a0-be4b-ac2a-d2726e288e2d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:37:46.2378877Z\"\n }" + string: "{\n \"name\": \"ff65e1c4-9f9a-fe43-bdf0-101c59080c1c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:36.2033333Z\"\n }" headers: cache-control: - no-cache @@ -596,7 +339,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:39:18 GMT + - Wed, 23 Jun 2021 08:03:43 GMT expires: - '-1' pragma: @@ -629,14 +372,15 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d541bf9-a084-4bbe-ac2a-d2726e288e2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f91b546d-84a0-be4b-ac2a-d2726e288e2d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:37:46.2378877Z\"\n }" + string: "{\n \"name\": \"ff65e1c4-9f9a-fe43-bdf0-101c59080c1c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:36.2033333Z\"\n }" headers: cache-control: - no-cache @@ -645,7 +389,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:39:48 GMT + - Wed, 23 Jun 2021 08:04:14 GMT expires: - '-1' pragma: @@ -678,14 +422,15 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d541bf9-a084-4bbe-ac2a-d2726e288e2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f91b546d-84a0-be4b-ac2a-d2726e288e2d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:37:46.2378877Z\"\n }" + string: "{\n \"name\": \"ff65e1c4-9f9a-fe43-bdf0-101c59080c1c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:01:36.2033333Z\"\n }" headers: cache-control: - no-cache @@ -694,7 +439,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:40:18 GMT + - Wed, 23 Jun 2021 08:04:45 GMT expires: - '-1' pragma: @@ -727,15 +472,16 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d541bf9-a084-4bbe-ac2a-d2726e288e2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c4e165ff-9a9f-43fe-bdf0-101c59080c1c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f91b546d-84a0-be4b-ac2a-d2726e288e2d\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-19T02:37:46.2378877Z\",\n \"\ - endTime\": \"2020-11-19T02:40:29.3748957Z\"\n }" + string: "{\n \"name\": \"ff65e1c4-9f9a-fe43-bdf0-101c59080c1c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:01:36.2033333Z\",\n \"endTime\": + \"2021-06-23T08:05:02.7828386Z\"\n }" headers: cache-control: - no-cache @@ -744,7 +490,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:40:49 GMT + - Wed, 23 Jun 2021 08:05:16 GMT expires: - '-1' pragma: @@ -777,61 +523,68 @@ interactions: - --resource-group --name --generate-ssh-keys --kubelet-config --linux-os-config --aks-custom-headers -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestw4k4g7e5e-8ecadf\",\n \"fqdn\": \"cliakstest-clitestw4k4g7e5e-8ecadf-cd3dfd03.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\"\ - : \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\":\ - \ \"200ms\",\n \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\"\ - : 70,\n \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\"\ - : [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\"\ - : false,\n \"containerLogMaxFiles\": 10,\n \"containerLogMaxSizeMb\": - 20\n },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \ - \ \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n \ - \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\"\ - : \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n\ - \ \"swapFileSizeMB\": 1500\n },\n \"osType\": \"Linux\",\n \ - \ \"nodeImageVersion\": \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \ - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ - : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvs+MWAFDE8uqPhicolldxCS0qzlQOo53pqurCJ+513wUDoZdGWP9mUiWMQ1vs0ZeiWhrzIA8LBK6JDT0vPyJyxNAIuvF5v5VAErFVm5GdV+ZNscig+M/2AcNJAPMvIHS2Fokhrdw04R3YMfA3KD4WNCiiugCGJNIveapDQzdjXDZk2GOnB8XrLurN2B6mDK8sfAn0XSDqkeBWgTL/YprhBXV0Sr1GILTLMekbCLySTjZ6ZGvUvXsE7JsM7voVizMC9elvuZm4zzDyV3RwSs1p2Riz5L3tRAlqCz23ts82JqcRWlB8bXLK81G03lO8PFOTZmfEd8VN7C6fBAFaNrCv\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"1fae4a95-a515-437e-b7d1-477cd24c7d7e\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\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/3b5bcede-98bb-4707-aad3-93da56892a31\"\ - \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\": 100\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\"\ - : \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestrpq3n2nwl-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestrpq3n2nwl-8ecadf-8532bdc2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrpq3n2nwl-8ecadf-8532bdc2.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": + \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n + \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n + \ \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\": + [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": + false,\n \"containerLogMaxSizeMB\": 20,\n \"containerLogMaxFiles\": + 10\n },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\": + 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\": + \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\",\n + \ \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/4adc6d9d-b1a6-4975-bffc-f07bf5e26488\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3289' + - '4105' content-type: - application/json date: - - Thu, 19 Nov 2020 02:40:50 GMT + - Wed, 23 Jun 2021 08:05:18 GMT expires: - '-1' pragma: @@ -864,43 +617,45 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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/agentPools?api-version=2021-05-01 response: body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool1\"\ - ,\n \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ - ,\n \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"\ - maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\"\ - : \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n \ - \ },\n \"orchestratorVersion\": \"1.17.13\",\n \"enableNodePublicIP\"\ - : false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"kubeletConfig\"\ - : {\n \"cpuManagerPolicy\": \"static\",\n \"cpuCfsQuota\": true,\n\ - \ \"cpuCfsQuotaPeriod\": \"200ms\",\n \"imageGcHighThreshold\":\ - \ 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\"\ - : \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\"\ - ,\n \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxFiles\": - 10,\n \"containerLogMaxSizeMb\": 20\n },\n \ - \ \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\"\ - : 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\"\ - : \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\"\ - ,\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\"\ - : 1500\n },\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"\ - AKSUbuntu-1804-2021.01.06\"\n }\n }\n ]\n }" + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool1\",\n + \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"kubeletConfig\": + {\n \"cpuManagerPolicy\": \"static\",\n \"cpuCfsQuota\": true,\n + \ \"cpuCfsQuotaPeriod\": \"200ms\",\n \"imageGcHighThreshold\": 90,\n + \ \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": \"best-effort\",\n + \ \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n \"net.*\"\n + \ ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": 20,\n + \ \"containerLogMaxFiles\": 10\n },\n \"linuxOSConfig\": {\n \"sysctls\": + {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n + \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": + \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '1449' + - '1680' content-type: - application/json date: - - Thu, 19 Nov 2020 02:40:52 GMT + - Wed, 23 Jun 2021 08:05:19 GMT expires: - '-1' pragma: @@ -925,10 +680,11 @@ interactions: [], "kubeletConfig": {"cpuManagerPolicy": "static", "cpuCfsQuota": true, "cpuCfsQuotaPeriod": "200ms", "imageGcHighThreshold": 90, "imageGcLowThreshold": 70, "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": ["kernel.msg*", "net.*"], "failSwapOn": - false, "containerLogMaxFiles": 10, "containerLogMaxSizeMb": 20}, "linuxOSConfig": - {"sysctls": {"netCoreSomaxconn": 163849, "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": - "32000 60000"}, "transparentHugePageEnabled": "madvise", "transparentHugePageDefrag": - "defer+madvise", "swapFileSizeMB": 1500}}}' + false, "containerLogMaxSizeMB": 20, "containerLogMaxFiles": 10}, "linuxOSConfig": + {"sysctls": {"netCoreSomaxconn": 163849, "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": + "32000 60000"}, "transparentHugePageEnabled": "madvise", "transparentHugePageDefrag": + "defer+madvise", "swapFileSizeMB": 1500}, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false}}' headers: AKSHTTPCustomFeatures: - Microsoft.ContainerService/CustomNodeConfigPreview @@ -941,51 +697,53 @@ interactions: Connection: - keep-alive Content-Length: - - '770' + - '906' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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/agentPools/nodepool2?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\"\ - ,\n \"name\": \"nodepool2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ - ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\"\ - : 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\"\ - : \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.17.13\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"User\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\"\ - : \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\"\ - ,\n \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n \ - \ \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\"\ - : [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": false,\n - \"containerLogMaxFiles\": 10,\n \"containerLogMaxSizeMb\": 20\n\ - \ },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\"\ - : 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\"\ - : \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\"\ - ,\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\"\ - : 1500\n },\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804-2021.01.06\"\ - ,\n \"upgradeSettings\": {}\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\",\n + \ \"name\": \"nodepool2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": + \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n + \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": + \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n + \ \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": + 20,\n \"containerLogMaxFiles\": 10\n },\n \"linuxOSConfig\": {\n \"sysctls\": + {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n + \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": + \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '1336' + - '1553' content-type: - application/json date: - - Thu, 19 Nov 2020 02:40:54 GMT + - Wed, 23 Jun 2021 08:05:23 GMT expires: - '-1' pragma: @@ -1016,455 +774,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:41:25 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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:41:55 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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:42: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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:42:56 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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:43:27 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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:43: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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:44: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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:44:58 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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Thu, 19 Nov 2020 02:45:29 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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config - --aks-custom-headers - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1473,7 +791,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:45:59 GMT + - Wed, 23 Jun 2021 08:05:55 GMT expires: - '-1' pragma: @@ -1506,14 +824,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1522,7 +841,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:46:30 GMT + - Wed, 23 Jun 2021 08:06:27 GMT expires: - '-1' pragma: @@ -1555,14 +874,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1571,7 +891,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:47:00 GMT + - Wed, 23 Jun 2021 08:06:57 GMT expires: - '-1' pragma: @@ -1604,14 +924,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1620,7 +941,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:47:30 GMT + - Wed, 23 Jun 2021 08:07:28 GMT expires: - '-1' pragma: @@ -1653,14 +974,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1669,7 +991,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:48:01 GMT + - Wed, 23 Jun 2021 08:08:00 GMT expires: - '-1' pragma: @@ -1702,14 +1024,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1718,7 +1041,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:48:32 GMT + - Wed, 23 Jun 2021 08:08:30 GMT expires: - '-1' pragma: @@ -1751,14 +1074,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\"\n }" headers: cache-control: - no-cache @@ -1767,7 +1091,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:49:02 GMT + - Wed, 23 Jun 2021 08:09:02 GMT expires: - '-1' pragma: @@ -1800,15 +1124,16 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/87443d66-7fb9-48af-9060-d223154cf5a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/194bcab7-fecd-4516-b243-b0b0896980e5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"663d4487-b97f-af48-9060-d223154cf5a1\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-19T02:40:55.3059281Z\",\n \"\ - endTime\": \"2020-11-19T02:49:19.5722028Z\"\n }" + string: "{\n \"name\": \"b7ca4b19-cdfe-1645-b243-b0b0896980e5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:05:23.7766666Z\",\n \"endTime\": + \"2021-06-23T08:09:19.7777144Z\"\n }" headers: cache-control: - no-cache @@ -1817,7 +1142,7 @@ interactions: content-type: - application/json date: - - Thu, 19 Nov 2020 02:49:32 GMT + - Wed, 23 Jun 2021 08:09:33 GMT expires: - '-1' pragma: @@ -1850,40 +1175,42 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\"\ - ,\n \"name\": \"nodepool2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ - ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\"\ - : 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\"\ - : \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.17.13\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"User\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\"\ - : \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\"\ - ,\n \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n \ - \ \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\"\ - : [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": false - ,\n \"containerLogMaxFiles\": 10,\n \"containerLogMaxSizeMb\": 20\n\ - \ },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\"\ - : 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\"\ - : \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\"\ - ,\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\"\ - : 1500\n },\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804-2021.01.06\"\ - ,\n \"upgradeSettings\": {}\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\",\n + \ \"name\": \"nodepool2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": + \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n + \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": + \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n + \ \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": + 20,\n \"containerLogMaxFiles\": 10\n },\n \"linuxOSConfig\": {\n \"sysctls\": + {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n + \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": + \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '1337' + - '1554' content-type: - application/json date: - - Thu, 19 Nov 2020 02:49:33 GMT + - Wed, 23 Jun 2021 08:09:35 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml index 9bb11c961aa..0e59d3f7800 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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-11-18T01:39:27Z"},"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":"2021-06-23T08:06:00Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 18 Nov 2020 01:39:33 GMT + - Wed, 23 Jun 2021 08:06:03 GMT expires: - '-1' pragma: @@ -46,17 +43,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest22w37b7x4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestqokearwyc-8ecadf", "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {"openServiceMesh": {"enabled": true, "config": {}}}, "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"}}' + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": + true, "config": {}}}, "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"}, "disableLocalAccounts": + false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -67,62 +65,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1307' + - '1378' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitest22w37b7x4-8ecadf\",\n \"fqdn\": \"cliakstest-clitest22w37b7x4-8ecadf-c2fe0a19.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null\n },\n \"openServiceMesh\"\ - : {\n \"enabled\": true,\n \"config\": {}\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\": 100\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ - ,\n \"principalId\": \"8300a71b-1e89-418e-a716-31269c50ec40\",\n \"tenantId\"\ - : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestqokearwyc-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestqokearwyc-8ecadf-526f8f11.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestqokearwyc-8ecadf-526f8f11.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\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\": + 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2569' + - '2819' content-type: - application/json date: - - Wed, 18 Nov 2020 01:39:39 GMT + - Wed, 23 Jun 2021 08:06:18 GMT expires: - '-1' pragma: @@ -152,158 +153,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Wed, 18 Nov 2020 01:40: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 -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Wed, 18 Nov 2020 01:40:40 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 --generate-ssh-keys -a -o - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Wed, 18 Nov 2020 01:41:11 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 --generate-ssh-keys -a -o - User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" + string: "{\n \"name\": \"18a61ca9-ef1f-f843-aabd-395d59a0ff8b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.6266666Z\"\n }" headers: cache-control: - no-cache @@ -312,7 +170,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:41:42 GMT + - Wed, 23 Jun 2021 08:06:49 GMT expires: - '-1' pragma: @@ -344,14 +202,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" + string: "{\n \"name\": \"18a61ca9-ef1f-f843-aabd-395d59a0ff8b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.6266666Z\"\n }" headers: cache-control: - no-cache @@ -360,7 +219,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:42:12 GMT + - Wed, 23 Jun 2021 08:07:19 GMT expires: - '-1' pragma: @@ -392,14 +251,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" + string: "{\n \"name\": \"18a61ca9-ef1f-f843-aabd-395d59a0ff8b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.6266666Z\"\n }" headers: cache-control: - no-cache @@ -408,7 +268,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:42:43 GMT + - Wed, 23 Jun 2021 08:07:51 GMT expires: - '-1' pragma: @@ -440,14 +300,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" + string: "{\n \"name\": \"18a61ca9-ef1f-f843-aabd-395d59a0ff8b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.6266666Z\"\n }" headers: cache-control: - no-cache @@ -456,7 +317,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:43:14 GMT + - Wed, 23 Jun 2021 08:08:22 GMT expires: - '-1' pragma: @@ -488,14 +349,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" + string: "{\n \"name\": \"18a61ca9-ef1f-f843-aabd-395d59a0ff8b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.6266666Z\"\n }" headers: cache-control: - no-cache @@ -504,7 +366,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:43:43 GMT + - Wed, 23 Jun 2021 08:08:55 GMT expires: - '-1' pragma: @@ -536,14 +398,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\"\n }" + string: "{\n \"name\": \"18a61ca9-ef1f-f843-aabd-395d59a0ff8b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.6266666Z\"\n }" headers: cache-control: - no-cache @@ -552,7 +415,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:44:14 GMT + - Wed, 23 Jun 2021 08:09:26 GMT expires: - '-1' pragma: @@ -584,15 +447,16 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f107746a-55ef-4671-8c2b-1edceefce2b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a91ca618-1fef-43f8-aabd-395d59a0ff8b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6a7407f1-ef55-7146-8c2b-1edceefce2b1\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-18T01:39:40.2307943Z\",\n \"\ - endTime\": \"2020-11-18T01:44:24.4894143Z\"\n }" + string: "{\n \"name\": \"18a61ca9-ef1f-f843-aabd-395d59a0ff8b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:06:16.6266666Z\",\n \"endTime\": + \"2021-06-23T08:09:52.9626513Z\"\n }" headers: cache-control: - no-cache @@ -601,7 +465,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:44:44 GMT + - Wed, 23 Jun 2021 08:09:58 GMT expires: - '-1' pragma: @@ -633,63 +497,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitest22w37b7x4-8ecadf\",\n \"fqdn\": \"cliakstest-clitest22w37b7x4-8ecadf-c2fe0a19.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"3b381a6a-5d3e-4320-b7a4-a4f42eed8a73\",\n \"\ - objectId\": \"1cb59066-7443-4477-aaeb-86d0b40feb97\"\n }\n },\n \ - \ \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n\ - \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\"\ - ,\n \"clientId\": \"32e1ec37-fc52-4162-850b-8a6874c6c0d2\",\n \"\ - objectId\": \"25e560e2-7d27-4587-9571-c882e5409ccc\"\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/861c6129-591d-4726-94ce-65f1b42e89d6\"\ - \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\": 100,\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\": \"0cb9f421-16f5-4992-8290-82bc8fc074f3\",\n \"objectId\"\ - : \"09a418dc-e94e-4974-adbc-645c377b763b\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"8300a71b-1e89-418e-a716-31269c50ec40\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestqokearwyc-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestqokearwyc-8ecadf-526f8f11.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestqokearwyc-8ecadf-526f8f11.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\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/66606505-2777-4978-ad2f-6b61c594a272\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3970' + - '3852' content-type: - application/json date: - - Wed, 18 Nov 2020 01:44:45 GMT + - Wed, 23 Jun 2021 08:10:00 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml index f5c0581d6ca..30d097d99d0 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml @@ -13,22 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - AZURECLI/2.23.0.post20210514155800 azsdk-python-azure-mgmt-resource/16.1.0 - Python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-17T18:38:31Z","Owner":"Unknown","Project":"Unknown","Purpose":"Unknown"},"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":"2021-06-23T08:11:41Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '370' + - '313' content-type: - application/json; charset=utf-8 date: - - Mon, 17 May 2021 18:38:33 GMT + - Wed, 23 Jun 2021 08:11:44 GMT expires: - '-1' pragma: @@ -43,18 +42,18 @@ interactions: code: 200 message: OK - request: - body: '{"location": "eastus", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestoghocc46n-f9cb37", "agentPoolProfiles": [{"count": 1, "vmSize": + body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitestrjmk5ioaq-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "osSKU": "CBLMariner", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ=="}]}}, - "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": "standard"}, "disableLocalAccounts": false}, - "identity": {"type": "SystemAssigned"}}' + "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,15 +64,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1641' + - '1351' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -81,47 +80,46 @@ interactions: response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": - {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": - \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n - \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": - {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n - \ \"dnsPrefix\": \"cliakstest-clitestoghocc46n-f9cb37\",\n \"fqdn\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.hcp.eastus.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.portal.hcp.eastus.azmk8s.io\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestrjmk5ioaq-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestrjmk5ioaq-8ecadf-3da3eb9e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrjmk5ioaq-8ecadf-3da3eb9e.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\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\": - 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": + \"AKSCBLMariner-V1-2021.06.02\",\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3081' + - '2712' content-type: - application/json date: - - Mon, 17 May 2021 18:38:40 GMT + - Wed, 23 Jun 2021 08:11:59 GMT expires: - '-1' pragma: @@ -133,7 +131,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1194' status: code: 201 message: Created @@ -151,162 +149,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:39: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 -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:39:41 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:40:11 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -315,7 +166,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:40:42 GMT + - Wed, 23 Jun 2021 08:12:30 GMT expires: - '-1' pragma: @@ -347,15 +198,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -364,7 +215,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:41:13 GMT + - Wed, 23 Jun 2021 08:13:02 GMT expires: - '-1' pragma: @@ -396,15 +247,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -413,7 +264,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:41:42 GMT + - Wed, 23 Jun 2021 08:13:33 GMT expires: - '-1' pragma: @@ -445,15 +296,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -462,7 +313,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:42:13 GMT + - Wed, 23 Jun 2021 08:14:05 GMT expires: - '-1' pragma: @@ -494,15 +345,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -511,7 +362,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:42:43 GMT + - Wed, 23 Jun 2021 08:14:37 GMT expires: - '-1' pragma: @@ -543,15 +394,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -560,7 +411,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:43:14 GMT + - Wed, 23 Jun 2021 08:15:09 GMT expires: - '-1' pragma: @@ -592,15 +443,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -609,7 +460,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:43:44 GMT + - Wed, 23 Jun 2021 08:15:41 GMT expires: - '-1' pragma: @@ -641,15 +492,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -658,7 +509,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:44:15 GMT + - Wed, 23 Jun 2021 08:16:12 GMT expires: - '-1' pragma: @@ -690,15 +541,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -707,7 +558,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:44:45 GMT + - Wed, 23 Jun 2021 08:16:43 GMT expires: - '-1' pragma: @@ -739,15 +590,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -756,7 +607,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:45:16 GMT + - Wed, 23 Jun 2021 08:17:15 GMT expires: - '-1' pragma: @@ -788,15 +639,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\"\n }" headers: cache-control: - no-cache @@ -805,7 +656,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:45:46 GMT + - Wed, 23 Jun 2021 08:17:46 GMT expires: - '-1' pragma: @@ -837,408 +688,16 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2b0ca834-cd41-4269-b143-1c3136fcb7e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:46:17 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:46:47 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:47:18 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:47:48 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:48:18 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:48:49 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:49:19 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 17 May 2021 18:49:49 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 --generate-ssh-keys --vm-set-type -c --os-sku - User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\",\n \"endTime\": - \"2021-05-17T18:49:50.7807046Z\"\n }" + string: "{\n \"name\": \"34a80c2b-41cd-6942-b143-1c3136fcb7e4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:11:58.4466666Z\",\n \"endTime\": + \"2021-06-23T08:17:54.3375916Z\"\n }" headers: cache-control: - no-cache @@ -1247,7 +706,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:50:20 GMT + - Wed, 23 Jun 2021 08:18:17 GMT expires: - '-1' pragma: @@ -1279,43 +738,43 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": - {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": - \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n - \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": - {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n - \ \"dnsPrefix\": \"cliakstest-clitestoghocc46n-f9cb37\",\n \"fqdn\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.hcp.eastus.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.portal.hcp.eastus.azmk8s.io\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestrjmk5ioaq-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestrjmk5ioaq-8ecadf-3da3eb9e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrjmk5ioaq-8ecadf-3da3eb9e.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\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_eastus/providers/Microsoft.Network/publicIPAddresses/234b4873-4870-4bec-b6eb-a1598eca27f4\"\n + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": + \"AKSCBLMariner-V1-2021.06.02\",\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/5185973f-4b70-4d52-8796-012670db71a9\"\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -1325,11 +784,11 @@ interactions: cache-control: - no-cache content-length: - - '3742' + - '3375' content-type: - application/json date: - - Mon, 17 May 2021 18:50:21 GMT + - Wed, 23 Jun 2021 08:18:20 GMT expires: - '-1' pragma: @@ -1363,29 +822,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9bf75ce4-eda4-40a9-9c74-61a6ab9f0eef?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cf4f3e56-09db-4351-9b45-99f28c67e30b?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Mon, 17 May 2021 18:50:22 GMT + - Wed, 23 Jun 2021 08:18:23 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/9bf75ce4-eda4-40a9-9c74-61a6ab9f0eef?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/cf4f3e56-09db-4351-9b45-99f28c67e30b?api-version=2016-03-30 pragma: - no-cache server: @@ -1395,7 +851,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml index 71f53a300fb..d3c1ddd7290 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml @@ -14,12 +14,12 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T05:58:24Z"},"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":"2021-06-23T08:07:30Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -28,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 05:58:27 GMT + - Wed, 23 Jun 2021 08:07:32 GMT expires: - '-1' pragma: @@ -44,18 +44,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestppx4ta2l3-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {}, "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true}, "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"}}' + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -66,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1348' + - '1404' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -75,7 +75,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -86,20 +86,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n @@ -109,21 +110,22 @@ interactions: \"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\": 100,\n \"podIdentityProfile\": - {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": true\n },\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2746' + - '2812' content-type: - application/json date: - - Fri, 14 May 2021 05:58:41 GMT + - Wed, 23 Jun 2021 08:07:43 GMT expires: - '-1' pragma: @@ -135,7 +137,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -156,22 +158,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" + string: "{\n \"name\": \"b4f2aa83-3cf9-164a-8412-c16c7bf1bebd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:07:42.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 05:59:13 GMT + - Wed, 23 Jun 2021 08:08:14 GMT expires: - '-1' pragma: @@ -206,22 +208,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" + string: "{\n \"name\": \"b4f2aa83-3cf9-164a-8412-c16c7bf1bebd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:07:42.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 05:59:44 GMT + - Wed, 23 Jun 2021 08:08:55 GMT expires: - '-1' pragma: @@ -256,22 +258,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" + string: "{\n \"name\": \"b4f2aa83-3cf9-164a-8412-c16c7bf1bebd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:07:42.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:00:16 GMT + - Wed, 23 Jun 2021 08:09:26 GMT expires: - '-1' pragma: @@ -306,22 +308,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" + string: "{\n \"name\": \"b4f2aa83-3cf9-164a-8412-c16c7bf1bebd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:07:42.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:00:48 GMT + - Wed, 23 Jun 2021 08:09:58 GMT expires: - '-1' pragma: @@ -356,22 +358,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" + string: "{\n \"name\": \"b4f2aa83-3cf9-164a-8412-c16c7bf1bebd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:07:42.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:01:19 GMT + - Wed, 23 Jun 2021 08:10:30 GMT expires: - '-1' pragma: @@ -406,22 +408,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" + string: "{\n \"name\": \"b4f2aa83-3cf9-164a-8412-c16c7bf1bebd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:07:42.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:01:51 GMT + - Wed, 23 Jun 2021 08:11:01 GMT expires: - '-1' pragma: @@ -456,23 +458,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83aaf2b4-f93c-4a16-8412-c16c7bf1bebd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\",\n \"endTime\": - \"2021-05-14T06:02:07.2179566Z\"\n }" + string: "{\n \"name\": \"b4f2aa83-3cf9-164a-8412-c16c7bf1bebd\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:07:42.8733333Z\",\n \"endTime\": + \"2021-06-23T08:11:17.11182Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '168' content-type: - application/json date: - - Fri, 14 May 2021 06:02:23 GMT + - Wed, 23 Jun 2021 08:11:33 GMT expires: - '-1' pragma: @@ -507,7 +509,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -516,27 +518,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -544,18 +547,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3409' + - '3475' content-type: - application/json date: - - Fri, 14 May 2021 06:02:25 GMT + - Wed, 23 Jun 2021 08:11:34 GMT expires: - '-1' pragma: @@ -589,7 +593,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -600,27 +604,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -628,18 +633,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3409' + - '3475' content-type: - application/json date: - - Fri, 14 May 2021 06:02:26 GMT + - Wed, 23 Jun 2021 08:11:37 GMT expires: - '-1' pragma: @@ -658,25 +664,27 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestppx4ta2l3-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": false}, "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/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -687,7 +695,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2231' + - '2289' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -695,7 +703,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -706,48 +714,49 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {},\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/f73db248-c0e8-4d5b-9e69-30c116b75004?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ea663d5d-e48d-4430-82a4-7fa05d3b6177?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3344' + - '3410' content-type: - application/json date: - - Fri, 14 May 2021 06:02:31 GMT + - Wed, 23 Jun 2021 08:11:44 GMT expires: - '-1' pragma: @@ -763,7 +772,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1196' status: code: 200 message: OK @@ -783,22 +792,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f73db248-c0e8-4d5b-9e69-30c116b75004?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ea663d5d-e48d-4430-82a4-7fa05d3b6177?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"48b23df7-e8c0-5b4d-9e69-30c116b75004\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:31.5366666Z\"\n }" + string: "{\n \"name\": \"5d3d66ea-8de4-3044-82a4-7fa05d3b6177\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:11:43.3Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 14 May 2021 06:03:04 GMT + - Wed, 23 Jun 2021 08:12:16 GMT expires: - '-1' pragma: @@ -832,23 +841,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f73db248-c0e8-4d5b-9e69-30c116b75004?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ea663d5d-e48d-4430-82a4-7fa05d3b6177?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"48b23df7-e8c0-5b4d-9e69-30c116b75004\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:31.5366666Z\",\n \"endTime\": - \"2021-05-14T06:03:32.7500931Z\"\n }" + string: "{\n \"name\": \"5d3d66ea-8de4-3044-82a4-7fa05d3b6177\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:11:43.3Z\",\n \"endTime\": + \"2021-06-23T08:12:37.1151359Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '164' content-type: - application/json date: - - Fri, 14 May 2021 06:03:34 GMT + - Wed, 23 Jun 2021 08:12:47 GMT expires: - '-1' pragma: @@ -882,7 +891,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -891,46 +900,47 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {},\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3346' + - '3412' content-type: - application/json date: - - Fri, 14 May 2021 06:03:36 GMT + - Wed, 23 Jun 2021 08:12:49 GMT expires: - '-1' pragma: @@ -964,7 +974,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -975,46 +985,47 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {},\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3346' + - '3412' content-type: - application/json date: - - Fri, 14 May 2021 06:03:38 GMT + - Wed, 23 Jun 2021 08:12:51 GMT expires: - '-1' pragma: @@ -1033,14 +1044,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestppx4ta2l3-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", @@ -1048,11 +1060,12 @@ interactions: "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/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1063,7 +1076,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2333' + - '2391' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1071,7 +1084,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1082,27 +1095,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -1110,20 +1124,21 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7fc9dc92-21dc-46cc-a384-1f300ffb21ec?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3407' + - '3473' content-type: - application/json date: - - Fri, 14 May 2021 06:03:46 GMT + - Wed, 23 Jun 2021 08:12:59 GMT expires: - '-1' pragma: @@ -1139,105 +1154,7 @@ interactions: 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: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:04:17 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 update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:04:49 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 + - '1194' status: code: 200 message: OK @@ -1257,71 +1174,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7fc9dc92-21dc-46cc-a384-1f300ffb21ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" + string: "{\n \"name\": \"92dcc97f-dc21-cc46-a384-1f300ffb21ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:58.62Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:05: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 update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:05:52 GMT + - Wed, 23 Jun 2021 08:13:31 GMT expires: - '-1' pragma: @@ -1355,23 +1223,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7fc9dc92-21dc-46cc-a384-1f300ffb21ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\",\n \"endTime\": - \"2021-05-14T06:06:15.5312982Z\"\n }" + string: "{\n \"name\": \"92dcc97f-dc21-cc46-a384-1f300ffb21ec\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:12:58.62Z\",\n \"endTime\": + \"2021-06-23T08:13:56.5088942Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 06:06:24 GMT + - Wed, 23 Jun 2021 08:14:02 GMT expires: - '-1' pragma: @@ -1405,7 +1273,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1414,27 +1282,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -1442,18 +1311,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3409' + - '3475' content-type: - application/json date: - - Fri, 14 May 2021 06:06:25 GMT + - Wed, 23 Jun 2021 08:14:04 GMT expires: - '-1' pragma: @@ -1487,7 +1357,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -1498,27 +1368,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -1526,18 +1397,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3409' + - '3475' content-type: - application/json date: - - Fri, 14 May 2021 06:06:27 GMT + - Wed, 23 Jun 2021 08:14:06 GMT expires: - '-1' pragma: @@ -1556,14 +1428,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestppx4ta2l3-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": [{"name": "test-name", "namespace": "test-namespace", @@ -1572,10 +1445,11 @@ interactions: "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/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1586,7 +1460,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2388' + - '2446' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1594,7 +1468,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1605,27 +1479,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -1635,21 +1510,21 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": - {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + {\n \"foo\": \"bar\"\n }\n }\n ]\n },\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/2e0cb604-4d9f-462f-91cc-71b97f9df233?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6941acea-912d-466c-8865-d64ff9d0ab02?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3581' + - '3647' content-type: - application/json date: - - Fri, 14 May 2021 06:06:35 GMT + - Wed, 23 Jun 2021 08:14:14 GMT expires: - '-1' pragma: @@ -1665,7 +1540,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -1685,13 +1560,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2e0cb604-4d9f-462f-91cc-71b97f9df233?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6941acea-912d-466c-8865-d64ff9d0ab02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"04b60c2e-9f4d-2f46-91cc-71b97f9df233\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:06:33.28Z\"\n }" + string: "{\n \"name\": \"eaac4169-2d91-6c46-8865-d64ff9d0ab02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:14:13.42Z\"\n }" headers: cache-control: - no-cache @@ -1700,7 +1575,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:07:05 GMT + - Wed, 23 Jun 2021 08:14:45 GMT expires: - '-1' pragma: @@ -1734,14 +1609,14 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2e0cb604-4d9f-462f-91cc-71b97f9df233?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6941acea-912d-466c-8865-d64ff9d0ab02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"04b60c2e-9f4d-2f46-91cc-71b97f9df233\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:06:33.28Z\",\n \"endTime\": - \"2021-05-14T06:07:32.9725574Z\"\n }" + string: "{\n \"name\": \"eaac4169-2d91-6c46-8865-d64ff9d0ab02\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:14:13.42Z\",\n \"endTime\": + \"2021-06-23T08:15:16.7329838Z\"\n }" headers: cache-control: - no-cache @@ -1750,7 +1625,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:07:36 GMT + - Wed, 23 Jun 2021 08:15:17 GMT expires: - '-1' pragma: @@ -1784,7 +1659,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1793,27 +1668,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -1823,19 +1699,19 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": - {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + {\n \"foo\": \"bar\"\n }\n }\n ]\n },\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3583' + - '3649' content-type: - application/json date: - - Fri, 14 May 2021 06:07:38 GMT + - Wed, 23 Jun 2021 08:15:19 GMT expires: - '-1' pragma: @@ -1869,7 +1745,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -1880,27 +1756,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -1910,19 +1787,19 @@ interactions: \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": - {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + {\n \"foo\": \"bar\"\n }\n }\n ]\n },\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3583' + - '3649' content-type: - application/json date: - - Fri, 14 May 2021 06:07:41 GMT + - Wed, 23 Jun 2021 08:15:21 GMT expires: - '-1' pragma: @@ -1941,14 +1818,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestppx4ta2l3-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": [{"name": "test-name", "namespace": "test-namespace", @@ -1957,10 +1835,11 @@ interactions: "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/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1971,7 +1850,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2398' + - '2456' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1979,7 +1858,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1990,27 +1869,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -2021,20 +1901,21 @@ interactions: true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/85a7cad0-78d7-4ecd-b339-4e646a92f5e9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9be4ad3a-a420-4616-b8c4-d51072e61a65?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3598' + - '3664' content-type: - application/json date: - - Fri, 14 May 2021 06:07:48 GMT + - Wed, 23 Jun 2021 08:15:29 GMT expires: - '-1' pragma: @@ -2070,22 +1951,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/85a7cad0-78d7-4ecd-b339-4e646a92f5e9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9be4ad3a-a420-4616-b8c4-d51072e61a65?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0caa785-d778-cd4e-b339-4e646a92f5e9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:46.5366666Z\"\n }" + string: "{\n \"name\": \"3aade49b-20a4-1646-b8c4-d51072e61a65\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:15:28.57Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:08:20 GMT + - Wed, 23 Jun 2021 08:16:02 GMT expires: - '-1' pragma: @@ -2119,23 +2000,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/85a7cad0-78d7-4ecd-b339-4e646a92f5e9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9be4ad3a-a420-4616-b8c4-d51072e61a65?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0caa785-d778-cd4e-b339-4e646a92f5e9\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:07:46.5366666Z\",\n \"endTime\": - \"2021-05-14T06:08:39.9271371Z\"\n }" + string: "{\n \"name\": \"3aade49b-20a4-1646-b8c4-d51072e61a65\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:15:28.57Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:08:50 GMT + - Wed, 23 Jun 2021 08:16:32 GMT expires: - '-1' pragma: @@ -2169,7 +2049,57 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9be4ad3a-a420-4616-b8c4-d51072e61a65?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3aade49b-20a4-1646-b8c4-d51072e61a65\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:15:28.57Z\",\n \"endTime\": + \"2021-06-23T08:16:36.9281437Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:17: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 pod-identity exception update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -2178,27 +2108,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -2209,18 +2140,19 @@ interactions: true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3600' + - '3666' content-type: - application/json date: - - Fri, 14 May 2021 06:08:52 GMT + - Wed, 23 Jun 2021 08:17:06 GMT expires: - '-1' pragma: @@ -2254,7 +2186,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -2265,27 +2197,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -2296,18 +2229,19 @@ interactions: true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3600' + - '3666' content-type: - application/json date: - - Fri, 14 May 2021 06:08:53 GMT + - Wed, 23 Jun 2021 08:17:09 GMT expires: - '-1' pragma: @@ -2326,14 +2260,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestppx4ta2l3-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", @@ -2341,10 +2276,11 @@ interactions: "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/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -2355,7 +2291,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2307' + - '2365' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -2363,7 +2299,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -2374,27 +2310,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -2402,20 +2339,21 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/a5ebb38e-a5c4-4d5d-bbbe-d79cced50616?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a6c2677f-0970-4c58-9db3-699bef18d636?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3407' + - '3473' content-type: - application/json date: - - Fri, 14 May 2021 06:09:01 GMT + - Wed, 23 Jun 2021 08:17:15 GMT expires: - '-1' pragma: @@ -2431,7 +2369,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 200 message: OK @@ -2451,22 +2389,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a5ebb38e-a5c4-4d5d-bbbe-d79cced50616?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a6c2677f-0970-4c58-9db3-699bef18d636?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8eb3eba5-c4a5-5d4d-bbbe-d79cced50616\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:00.2Z\"\n }" + string: "{\n \"name\": \"7f67c2a6-7009-584c-9db3-699bef18d636\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:17:14.2366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:09:33 GMT + - Wed, 23 Jun 2021 08:17:47 GMT expires: - '-1' pragma: @@ -2500,23 +2438,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a5ebb38e-a5c4-4d5d-bbbe-d79cced50616?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a6c2677f-0970-4c58-9db3-699bef18d636?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8eb3eba5-c4a5-5d4d-bbbe-d79cced50616\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:09:00.2Z\",\n \"endTime\": - \"2021-05-14T06:09:55.2837204Z\"\n }" + string: "{\n \"name\": \"7f67c2a6-7009-584c-9db3-699bef18d636\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:17:14.2366666Z\",\n \"endTime\": + \"2021-06-23T08:18:16.863359Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '169' content-type: - application/json date: - - Fri, 14 May 2021 06:10:04 GMT + - Wed, 23 Jun 2021 08:18:19 GMT expires: - '-1' pragma: @@ -2550,7 +2488,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -2559,27 +2497,28 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestppx4ta2l3-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestppx4ta2l3-8ecadf-211930b4.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/88f37619-f697-4a37-8c46-2a7591108069\"\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\": @@ -2587,18 +2526,19 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3409' + - '3475' content-type: - application/json date: - - Fri, 14 May 2021 06:10:05 GMT + - Wed, 23 Jun 2021 08:18:21 GMT expires: - '-1' pragma: @@ -2632,29 +2572,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6627a82-fa1c-4e9a-84b1-f986963863bd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/09c6edc6-aa22-4ff7-822e-ad83da52404d?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:10:10 GMT + - Wed, 23 Jun 2021 08:18:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/f6627a82-fa1c-4e9a-84b1-f986963863bd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/09c6edc6-aa22-4ff7-822e-ad83da52404d?api-version=2016-03-30 pragma: - no-cache server: @@ -2664,7 +2601,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml index 2de801fa599..1d14d757903 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml @@ -15,12 +15,12 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T05:58:24Z"},"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":"2021-06-23T08:25:34Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -29,7 +29,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 05:58:27 GMT + - Wed, 23 Jun 2021 08:25:36 GMT expires: - '-1' pragma: @@ -48,13 +48,14 @@ interactions: "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": "replace-Password1234$"}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": - "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, "identity": - {"type": "SystemAssigned"}}' + "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": + false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1221' + - '1277' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -75,7 +76,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -86,19 +87,20 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-28bde36f.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-28bde36f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true\n \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -108,21 +110,21 @@ interactions: \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\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\": 100\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2656' + - '2722' content-type: - application/json date: - - Fri, 14 May 2021 05:58:41 GMT + - Wed, 23 Jun 2021 08:25:50 GMT expires: - '-1' pragma: @@ -134,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1193' status: code: 201 message: Created @@ -156,13 +158,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" + string: "{\n \"name\": \"cb10eb98-8010-ce45-a978-27646c0928a4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:25:50.2166666Z\"\n }" headers: cache-control: - no-cache @@ -171,7 +173,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:12 GMT + - Wed, 23 Jun 2021 08:26:22 GMT expires: - '-1' pragma: @@ -207,13 +209,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" + string: "{\n \"name\": \"cb10eb98-8010-ce45-a978-27646c0928a4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:25:50.2166666Z\"\n }" headers: cache-control: - no-cache @@ -222,7 +224,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:43 GMT + - Wed, 23 Jun 2021 08:26:54 GMT expires: - '-1' pragma: @@ -258,13 +260,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" + string: "{\n \"name\": \"cb10eb98-8010-ce45-a978-27646c0928a4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:25:50.2166666Z\"\n }" headers: cache-control: - no-cache @@ -273,7 +275,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:15 GMT + - Wed, 23 Jun 2021 08:27:25 GMT expires: - '-1' pragma: @@ -309,13 +311,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" + string: "{\n \"name\": \"cb10eb98-8010-ce45-a978-27646c0928a4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:25:50.2166666Z\"\n }" headers: cache-control: - no-cache @@ -324,7 +326,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:47 GMT + - Wed, 23 Jun 2021 08:27:58 GMT expires: - '-1' pragma: @@ -360,13 +362,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" + string: "{\n \"name\": \"cb10eb98-8010-ce45-a978-27646c0928a4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:25:50.2166666Z\"\n }" headers: cache-control: - no-cache @@ -375,7 +377,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:19 GMT + - Wed, 23 Jun 2021 08:28:29 GMT expires: - '-1' pragma: @@ -411,14 +413,65 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\",\n \"endTime\": - \"2021-05-14T06:01:43.7680679Z\"\n }" + string: "{\n \"name\": \"cb10eb98-8010-ce45-a978-27646c0928a4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:25:50.2166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:29: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: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98eb10cb-1080-45ce-a978-27646c0928a4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"cb10eb98-8010-ce45-a978-27646c0928a4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:25:50.2166666Z\",\n \"endTime\": + \"2021-06-23T08:29:11.2872911Z\"\n }" headers: cache-control: - no-cache @@ -427,7 +480,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:49 GMT + - Wed, 23 Jun 2021 08:29:32 GMT expires: - '-1' pragma: @@ -463,7 +516,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: @@ -472,19 +525,20 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-28bde36f.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-28bde36f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true\n \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n @@ -492,24 +546,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/d8901179-f410-4507-8bae-4e0321cf7a59\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3319' + - '3385' content-type: - application/json date: - - Fri, 14 May 2021 06:01:52 GMT + - Wed, 23 Jun 2021 08:29:35 GMT expires: - '-1' pragma: @@ -543,7 +598,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -556,20 +611,20 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '926' + - '957' content-type: - application/json date: - - Fri, 14 May 2021 06:01:54 GMT + - Wed, 23 Jun 2021 08:29:37 GMT expires: - '-1' pragma: @@ -591,7 +646,8 @@ interactions: body: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osType": "Windows", "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": - [], "enableEncryptionAtHost": false, "enableFIPS": false}}' + [], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false}}' headers: Accept: - application/json @@ -602,7 +658,7 @@ interactions: Connection: - keep-alive Content-Length: - - '320' + - '345' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -610,7 +666,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -623,21 +679,21 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1971.210526\",\n \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 cache-control: - no-cache content-length: - - '817' + - '846' content-type: - application/json date: - - Fri, 14 May 2021 06:01:57 GMT + - Wed, 23 Jun 2021 08:29:42 GMT expires: - '-1' pragma: @@ -649,7 +705,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 201 message: Created @@ -669,120 +725,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:02:29 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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:03: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 nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:03:31 GMT + - Wed, 23 Jun 2021 08:30:13 GMT expires: - '-1' pragma: @@ -816,22 +774,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:04:04 GMT + - Wed, 23 Jun 2021 08:30:45 GMT expires: - '-1' pragma: @@ -865,22 +823,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:04:35 GMT + - Wed, 23 Jun 2021 08:31:16 GMT expires: - '-1' pragma: @@ -914,22 +872,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:05:07 GMT + - Wed, 23 Jun 2021 08:31:47 GMT expires: - '-1' pragma: @@ -963,22 +921,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:05:38 GMT + - Wed, 23 Jun 2021 08:32:20 GMT expires: - '-1' pragma: @@ -1012,22 +970,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:06:10 GMT + - Wed, 23 Jun 2021 08:32:51 GMT expires: - '-1' pragma: @@ -1061,22 +1019,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:06:41 GMT + - Wed, 23 Jun 2021 08:33:22 GMT expires: - '-1' pragma: @@ -1110,22 +1068,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:07:12 GMT + - Wed, 23 Jun 2021 08:33:54 GMT expires: - '-1' pragma: @@ -1159,22 +1117,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:07:43 GMT + - Wed, 23 Jun 2021 08:34:25 GMT expires: - '-1' pragma: @@ -1208,22 +1166,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:08:14 GMT + - Wed, 23 Jun 2021 08:34:57 GMT expires: - '-1' pragma: @@ -1257,22 +1215,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:08:45 GMT + - Wed, 23 Jun 2021 08:35:29 GMT expires: - '-1' pragma: @@ -1306,23 +1264,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ebe16362-bcca-4de5-952a-3953b58c320a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\",\n \"endTime\": - \"2021-05-14T06:08:51.609295Z\"\n }" + string: "{\n \"name\": \"6263e1eb-cabc-e54d-952a-3953b58c320a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:29:42.19Z\",\n \"endTime\": + \"2021-06-23T08:35:47.7571041Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 06:09:17 GMT + - Wed, 23 Jun 2021 08:36:01 GMT expires: - '-1' pragma: @@ -1356,7 +1314,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: @@ -1367,19 +1325,19 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1971.210526\",\n \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '818' + - '847' content-type: - application/json date: - - Fri, 14 May 2021 06:09:18 GMT + - Wed, 23 Jun 2021 08:36:04 GMT expires: - '-1' pragma: @@ -1413,7 +1371,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -1424,24 +1382,25 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-28bde36f.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-28bde36f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n + \ \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -1452,24 +1411,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/d8901179-f410-4507-8bae-4e0321cf7a59\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3915' + - '4012' content-type: - application/json date: - - Fri, 14 May 2021 06:09:21 GMT + - Wed, 23 Jun 2021 08:36:05 GMT expires: - '-1' pragma: @@ -1488,18 +1448,19 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.11", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableUltraSSD": false, + "enableFIPS": false, "name": "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": - 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, - "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": 30, "osType": "Windows", - "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.19.9", - "upgradeSettings": {}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + 30, "osType": "Windows", "type": "VirtualMachineScaleSets", "mode": "User", + "orchestratorVersion": "1.19.11", "upgradeSettings": {}, "enableNodePublicIP": + false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "npwin"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "licenseType": "Windows_Server", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "nodeResourceGroup": "MC_clitest000001_cliakstest000001_westus2", @@ -1507,11 +1468,12 @@ interactions: "azure", "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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/d8901179-f410-4507-8bae-4e0321cf7a59"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1522,7 +1484,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2605' + - '2689' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1530,7 +1492,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1541,24 +1503,25 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-28bde36f.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-28bde36f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n + \ \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -1569,26 +1532,27 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/d8901179-f410-4507-8bae-4e0321cf7a59\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3949' + - '4046' content-type: - application/json date: - - Fri, 14 May 2021 06:09:27 GMT + - Wed, 23 Jun 2021 08:36:13 GMT expires: - '-1' pragma: @@ -1604,7 +1568,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -1624,22 +1588,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:09:58 GMT + - Wed, 23 Jun 2021 08:36:45 GMT expires: - '-1' pragma: @@ -1673,22 +1637,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:10:30 GMT + - Wed, 23 Jun 2021 08:37:17 GMT expires: - '-1' pragma: @@ -1722,22 +1686,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:11:01 GMT + - Wed, 23 Jun 2021 08:37:49 GMT expires: - '-1' pragma: @@ -1771,22 +1735,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:11:33 GMT + - Wed, 23 Jun 2021 08:38:21 GMT expires: - '-1' pragma: @@ -1820,22 +1784,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:12:04 GMT + - Wed, 23 Jun 2021 08:38:53 GMT expires: - '-1' pragma: @@ -1869,22 +1833,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:12:35 GMT + - Wed, 23 Jun 2021 08:39:24 GMT expires: - '-1' pragma: @@ -1918,22 +1882,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:13:07 GMT + - Wed, 23 Jun 2021 08:39:56 GMT expires: - '-1' pragma: @@ -1967,22 +1931,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:13:37 GMT + - Wed, 23 Jun 2021 08:40:27 GMT expires: - '-1' pragma: @@ -2016,22 +1980,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:14:09 GMT + - Wed, 23 Jun 2021 08:41:00 GMT expires: - '-1' pragma: @@ -2065,22 +2029,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:14:40 GMT + - Wed, 23 Jun 2021 08:41:32 GMT expires: - '-1' pragma: @@ -2114,22 +2078,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:15:12 GMT + - Wed, 23 Jun 2021 08:42:03 GMT expires: - '-1' pragma: @@ -2163,22 +2127,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:15:43 GMT + - Wed, 23 Jun 2021 08:42:34 GMT expires: - '-1' pragma: @@ -2212,22 +2176,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:16:15 GMT + - Wed, 23 Jun 2021 08:43:07 GMT expires: - '-1' pragma: @@ -2261,22 +2225,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:16:47 GMT + - Wed, 23 Jun 2021 08:43:39 GMT expires: - '-1' pragma: @@ -2310,22 +2274,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:17:19 GMT + - Wed, 23 Jun 2021 08:44:10 GMT expires: - '-1' pragma: @@ -2359,22 +2323,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:17:49 GMT + - Wed, 23 Jun 2021 08:44:41 GMT expires: - '-1' pragma: @@ -2408,22 +2372,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:18:21 GMT + - Wed, 23 Jun 2021 08:45:13 GMT expires: - '-1' pragma: @@ -2457,22 +2421,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:18:52 GMT + - Wed, 23 Jun 2021 08:45:45 GMT expires: - '-1' pragma: @@ -2506,22 +2470,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:19:23 GMT + - Wed, 23 Jun 2021 08:46:16 GMT expires: - '-1' pragma: @@ -2555,22 +2519,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:19:55 GMT + - Wed, 23 Jun 2021 08:46:48 GMT expires: - '-1' pragma: @@ -2604,22 +2568,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:20:26 GMT + - Wed, 23 Jun 2021 08:47:20 GMT expires: - '-1' pragma: @@ -2653,22 +2617,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:20:58 GMT + - Wed, 23 Jun 2021 08:47:51 GMT expires: - '-1' pragma: @@ -2702,22 +2666,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:21:29 GMT + - Wed, 23 Jun 2021 08:48:23 GMT expires: - '-1' pragma: @@ -2751,22 +2715,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:22:00 GMT + - Wed, 23 Jun 2021 08:48:54 GMT expires: - '-1' pragma: @@ -2800,23 +2764,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\",\n \"endTime\": - \"2021-05-14T06:22:25.3453807Z\"\n }" + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:22:32 GMT + - Wed, 23 Jun 2021 08:49:26 GMT expires: - '-1' pragma: @@ -2850,7 +2813,155 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:49: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 update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:50: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 update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5efd28c7-7f58-4fde-9086-229ec1e50c09?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c728fd5e-587f-de4f-9086-229ec1e50c09\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:36:12.2833333Z\",\n \"endTime\": + \"2021-06-23T08:50:40.0850852Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:51: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 update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: @@ -2859,24 +2970,25 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-28bde36f.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-28bde36f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n + \ \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav @@ -2887,24 +2999,25 @@ interactions: \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/d8901179-f410-4507-8bae-4e0321cf7a59\"\n \ }\n ]\n },\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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3952' + - '4049' content-type: - application/json date: - - Fri, 14 May 2021 06:22:35 GMT + - Wed, 23 Jun 2021 08:51:03 GMT expires: - '-1' pragma: @@ -2938,7 +3051,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -2951,30 +3064,30 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n - \ }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n + \ \"enableFIPS\": false\n }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n - }" + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1971.210526\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '1799' + - '1861' content-type: - application/json date: - - Fri, 14 May 2021 06:22:37 GMT + - Wed, 23 Jun 2021 08:51:05 GMT expires: - '-1' pragma: @@ -3010,7 +3123,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: DELETE @@ -3020,17 +3133,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/44acf7c4-d37f-4348-b6a4-f2c45c19fb83?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eba16491-81e8-4360-affb-7d8128d4ffc1?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:22:39 GMT + - Wed, 23 Jun 2021 08:51:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/44acf7c4-d37f-4348-b6a4-f2c45c19fb83?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/eba16491-81e8-4360-affb-7d8128d4ffc1?api-version=2016-03-30 pragma: - no-cache server: @@ -3060,29 +3173,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e0e3c13-5ce1-4c51-8585-fb3588a4acb5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5579b3e5-c035-4058-916d-95a27818a804?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:22:42 GMT + - Wed, 23 Jun 2021 08:51:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/4e0e3c13-5ce1-4c51-8585-fb3588a4acb5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/5579b3e5-c035-4058-916d-95a27818a804?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml index 42234bffdf2..93ace2ca950 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml @@ -11,18 +11,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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-11-18T01:47:01Z"},"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":"2021-06-23T08:06:00Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -31,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 18 Nov 2020 01:47:07 GMT + - Wed, 23 Jun 2021 08:06:03 GMT expires: - '-1' pragma: @@ -47,17 +43,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestjqmcaktsg-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestv4hhelqul-8ecadf", "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQCkZhGe8/rHVaALAP1lorjGQm58qp4rqmLMINe35zrGbLnMN5KLz+GN4CgXcieoZ14zmshNjVaveJqstt6z/J29LbaW1CXcEZIRdyxFnDtktXFc9dm41LJi23WtNbxMkb+ewZBGA805IP+yqlHDewffq7FQp3J0yWwDxmb8UV5wch7Wq54cp3fZkXmtQBs9BN4I58wWTC5XaKk47ivM8+g0Ha8KCzVrz1gAZOAsUm63CB8afVsyOvJXiauj1643bUYzca1yzWH4v8LBSQLyL4pbb5kIsE5Y1SxarhTXAOyJJDJj7SjgD5ggqmWIR5hsJto/m1HdjVEy6bWxndfTdOIh"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {"openServiceMesh": {"enabled": true, "config": {}}}, "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"}}' + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": + true, "config": {}}}, "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"}, "disableLocalAccounts": + false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -68,63 +65,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1307' + - '1378' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestjqmcaktsg-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjqmcaktsg-8ecadf-37494217.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkZhGe8/rHVaALAP1lorjGQm58qp4rqmLMINe35zrGbLnMN5KLz+GN4CgXcieoZ14zmshNjVaveJqstt6z/J29LbaW1CXcEZIRdyxFnDtktXFc9dm41LJi23WtNbxMkb+ewZBGA805IP+yqlHDewffq7FQp3J0yWwDxmb8UV5wch7Wq54cp3fZkXmtQBs9BN4I58wWTC5XaKk47ivM8+g0Ha8KCzVrz1gAZOAsUm63CB8afVsyOvJXiauj1643bUYzca1yzWH4v8LBSQLyL4pbb5kIsE5Y1SxarhTXAOyJJDJj7SjgD5ggqmWIR5hsJto/m1HdjVEy6bWxndfTdOIh\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null\n },\n \"openServiceMesh\"\ - : {\n \"enabled\": true,\n \"config\": {}\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\": 100\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ - ,\n \"principalId\": \"c928b259-67eb-4897-9d54-68eb5a21d361\",\n \"tenantId\"\ - : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestv4hhelqul-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\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\": + 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2569' + - '2819' content-type: - application/json date: - - Wed, 18 Nov 2020 01:47:11 GMT + - Wed, 23 Jun 2021 08:06:16 GMT expires: - '-1' pragma: @@ -136,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -152,26 +151,222 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:06:48 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 --generate-ssh-keys -a -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:07:19 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 --generate-ssh-keys -a -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:07: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 --generate-ssh-keys -a -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:08:22 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 --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9232647e-c127-6649-9f64-b4d48d14aa69\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:47:11.1982044Z\"\n }" + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:47:42 GMT + - Wed, 23 Jun 2021 08:08:55 GMT expires: - '-1' pragma: @@ -201,26 +396,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9232647e-c127-6649-9f64-b4d48d14aa69\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:47:11.1982044Z\"\n }" + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:48:12 GMT + - Wed, 23 Jun 2021 08:09:26 GMT expires: - '-1' pragma: @@ -250,26 +445,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9232647e-c127-6649-9f64-b4d48d14aa69\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:47:11.1982044Z\"\n }" + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:48:42 GMT + - Wed, 23 Jun 2021 08:09:58 GMT expires: - '-1' pragma: @@ -299,26 +494,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9232647e-c127-6649-9f64-b4d48d14aa69\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:47:11.1982044Z\"\n }" + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:49:12 GMT + - Wed, 23 Jun 2021 08:10:29 GMT expires: - '-1' pragma: @@ -348,26 +543,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9232647e-c127-6649-9f64-b4d48d14aa69\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:47:11.1982044Z\"\n }" + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:49:43 GMT + - Wed, 23 Jun 2021 08:11:00 GMT expires: - '-1' pragma: @@ -397,26 +592,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9232647e-c127-6649-9f64-b4d48d14aa69\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:47:11.1982044Z\"\n }" + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:14 GMT + - Wed, 23 Jun 2021 08:11:32 GMT expires: - '-1' pragma: @@ -446,27 +641,27 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7e643292-27c1-4966-9f64-b4d48d14aa69?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/404bb2a9-ea9e-4605-b848-34c5f7b4f180?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9232647e-c127-6649-9f64-b4d48d14aa69\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-18T01:47:11.1982044Z\",\n \"\ - endTime\": \"2020-11-18T01:50:21.4910875Z\"\n }" + string: "{\n \"name\": \"a9b24b40-9eea-0546-b848-34c5f7b4f180\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:06:16.15Z\",\n \"endTime\": + \"2021-06-23T08:11:45.4846401Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:44 GMT + - Wed, 23 Jun 2021 08:12:04 GMT expires: - '-1' pragma: @@ -496,66 +691,63 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -a -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -a -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestjqmcaktsg-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjqmcaktsg-8ecadf-37494217.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkZhGe8/rHVaALAP1lorjGQm58qp4rqmLMINe35zrGbLnMN5KLz+GN4CgXcieoZ14zmshNjVaveJqstt6z/J29LbaW1CXcEZIRdyxFnDtktXFc9dm41LJi23WtNbxMkb+ewZBGA805IP+yqlHDewffq7FQp3J0yWwDxmb8UV5wch7Wq54cp3fZkXmtQBs9BN4I58wWTC5XaKk47ivM8+g0Ha8KCzVrz1gAZOAsUm63CB8afVsyOvJXiauj1643bUYzca1yzWH4v8LBSQLyL4pbb5kIsE5Y1SxarhTXAOyJJDJj7SjgD5ggqmWIR5hsJto/m1HdjVEy6bWxndfTdOIh\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"c795546c-bdc4-4010-9004-f4b58ef2f9b2\",\n \"\ - objectId\": \"3edd6e90-6f92-42d7-949a-086c40fcacd9\"\n }\n },\n \ - \ \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n\ - \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\"\ - ,\n \"clientId\": \"86cba406-c082-49fd-89a6-019ea9f493bf\",\n \"\ - objectId\": \"2e52ecf9-dc4a-4b46-a191-09111759e4bb\"\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/28cf8e40-db71-4cb8-9a8e-a69f49afaf82\"\ - \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\": 100,\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\": \"9acbf449-df36-4bf2-9ded-15516a480c91\",\n \"objectId\"\ - : \"3fa52230-ba24-4a0f-8a05-d924f8c84c08\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"c928b259-67eb-4897-9d54-68eb5a21d361\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestv4hhelqul-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\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/5484775f-45f7-4d38-8855-2cfa593b6516\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3970' + - '3852' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:45 GMT + - Wed, 23 Jun 2021 08:12:05 GMT expires: - '-1' pragma: @@ -587,65 +779,63 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestjqmcaktsg-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjqmcaktsg-8ecadf-37494217.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkZhGe8/rHVaALAP1lorjGQm58qp4rqmLMINe35zrGbLnMN5KLz+GN4CgXcieoZ14zmshNjVaveJqstt6z/J29LbaW1CXcEZIRdyxFnDtktXFc9dm41LJi23WtNbxMkb+ewZBGA805IP+yqlHDewffq7FQp3J0yWwDxmb8UV5wch7Wq54cp3fZkXmtQBs9BN4I58wWTC5XaKk47ivM8+g0Ha8KCzVrz1gAZOAsUm63CB8afVsyOvJXiauj1643bUYzca1yzWH4v8LBSQLyL4pbb5kIsE5Y1SxarhTXAOyJJDJj7SjgD5ggqmWIR5hsJto/m1HdjVEy6bWxndfTdOIh\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"c795546c-bdc4-4010-9004-f4b58ef2f9b2\",\n \"\ - objectId\": \"3edd6e90-6f92-42d7-949a-086c40fcacd9\"\n }\n },\n \ - \ \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n\ - \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\"\ - ,\n \"clientId\": \"86cba406-c082-49fd-89a6-019ea9f493bf\",\n \"\ - objectId\": \"2e52ecf9-dc4a-4b46-a191-09111759e4bb\"\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/28cf8e40-db71-4cb8-9a8e-a69f49afaf82\"\ - \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\": 100,\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\": \"9acbf449-df36-4bf2-9ded-15516a480c91\",\n \"objectId\"\ - : \"3fa52230-ba24-4a0f-8a05-d924f8c84c08\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"c928b259-67eb-4897-9d54-68eb5a21d361\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestv4hhelqul-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\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/5484775f-45f7-4d38-8855-2cfa593b6516\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3970' + - '3852' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:47 GMT + - Wed, 23 Jun 2021 08:12:08 GMT expires: - '-1' pragma: @@ -664,23 +854,26 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.17.13", - "dnsPrefix": "cliakstest-clitestjqmcaktsg-8ecadf", "agentPoolProfiles": [{"count": + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestv4hhelqul-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "orchestratorVersion": "1.17.13", "enableNodePublicIP": false, "nodeLabels": - {}, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": - {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkZhGe8/rHVaALAP1lorjGQm58qp4rqmLMINe35zrGbLnMN5KLz+GN4CgXcieoZ14zmshNjVaveJqstt6z/J29LbaW1CXcEZIRdyxFnDtktXFc9dm41LJi23WtNbxMkb+ewZBGA805IP+yqlHDewffq7FQp3J0yWwDxmb8UV5wch7Wq54cp3fZkXmtQBs9BN4I58wWTC5XaKk47ivM8+g0Ha8KCzVrz1gAZOAsUm63CB8afVsyOvJXiauj1643bUYzca1yzWH4v8LBSQLyL4pbb5kIsE5Y1SxarhTXAOyJJDJj7SjgD5ggqmWIR5hsJto/m1HdjVEy6bWxndfTdOIh"}]}}, - "addonProfiles": {"KubeDashboard": {"enabled": true}, "openServiceMesh": {"enabled": + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": false}}, "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/28cf8e40-db71-4cb8-9a8e-a69f49afaf82"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/5484775f-45f7-4d38-8855-2cfa593b6516"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId": "00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -691,67 +884,69 @@ interactions: Connection: - keep-alive Content-Length: - - '2085' + - '2231' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestjqmcaktsg-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjqmcaktsg-8ecadf-37494217.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkZhGe8/rHVaALAP1lorjGQm58qp4rqmLMINe35zrGbLnMN5KLz+GN4CgXcieoZ14zmshNjVaveJqstt6z/J29LbaW1CXcEZIRdyxFnDtktXFc9dm41LJi23WtNbxMkb+ewZBGA805IP+yqlHDewffq7FQp3J0yWwDxmb8UV5wch7Wq54cp3fZkXmtQBs9BN4I58wWTC5XaKk47ivM8+g0Ha8KCzVrz1gAZOAsUm63CB8afVsyOvJXiauj1643bUYzca1yzWH4v8LBSQLyL4pbb5kIsE5Y1SxarhTXAOyJJDJj7SjgD5ggqmWIR5hsJto/m1HdjVEy6bWxndfTdOIh\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null\n },\n \"openServiceMesh\"\ - : {\n \"enabled\": false,\n \"config\": null\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/28cf8e40-db71-4cb8-9a8e-a69f49afaf82\"\ - \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\": 100,\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\": \"9acbf449-df36-4bf2-9ded-15516a480c91\",\n \"objectId\"\ - : \"3fa52230-ba24-4a0f-8a05-d924f8c84c08\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"c928b259-67eb-4897-9d54-68eb5a21d361\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestv4hhelqul-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": false,\n \"config\": + null\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/5484775f-45f7-4d38-8855-2cfa593b6516\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/d98d8154-8d2b-4a0b-9461-794e93b3b390?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3233' + - '3483' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:49 GMT + - Wed, 23 Jun 2021 08:12:15 GMT expires: - '-1' pragma: @@ -767,7 +962,252 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:12:47 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 disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:13:18 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 disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:13: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 disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:14:23 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 disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:14:55 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 @@ -785,23 +1225,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d98d8154-8d2b-4a0b-9461-794e93b3b390?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54818dd9-2b8d-0b4a-9461-794e93b3b390\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:50:49.6113892Z\"\n }" + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:51:20 GMT + - Wed, 23 Jun 2021 08:15:26 GMT expires: - '-1' pragma: @@ -833,23 +1274,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d98d8154-8d2b-4a0b-9461-794e93b3b390?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54818dd9-2b8d-0b4a-9461-794e93b3b390\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:50:49.6113892Z\"\n }" + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:51:50 GMT + - Wed, 23 Jun 2021 08:15:58 GMT expires: - '-1' pragma: @@ -881,24 +1323,25 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d98d8154-8d2b-4a0b-9461-794e93b3b390?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/815bfadc-fee2-462d-9ad3-936ff674c8a9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54818dd9-2b8d-0b4a-9461-794e93b3b390\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-18T01:50:49.6113892Z\",\n \"\ - endTime\": \"2020-11-18T01:52:07.3576717Z\"\n }" + string: "{\n \"name\": \"dcfa5b81-e2fe-2d46-9ad3-936ff674c8a9\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:12:14.24Z\",\n \"endTime\": + \"2021-06-23T08:16:22.0594212Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Wed, 18 Nov 2020 01:52:20 GMT + - Wed, 23 Jun 2021 08:16:29 GMT expires: - '-1' pragma: @@ -930,60 +1373,59 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestjqmcaktsg-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjqmcaktsg-8ecadf-37494217.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkZhGe8/rHVaALAP1lorjGQm58qp4rqmLMINe35zrGbLnMN5KLz+GN4CgXcieoZ14zmshNjVaveJqstt6z/J29LbaW1CXcEZIRdyxFnDtktXFc9dm41LJi23WtNbxMkb+ewZBGA805IP+yqlHDewffq7FQp3J0yWwDxmb8UV5wch7Wq54cp3fZkXmtQBs9BN4I58wWTC5XaKk47ivM8+g0Ha8KCzVrz1gAZOAsUm63CB8afVsyOvJXiauj1643bUYzca1yzWH4v8LBSQLyL4pbb5kIsE5Y1SxarhTXAOyJJDJj7SjgD5ggqmWIR5hsJto/m1HdjVEy6bWxndfTdOIh\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"c795546c-bdc4-4010-9004-f4b58ef2f9b2\",\n \"\ - objectId\": \"3edd6e90-6f92-42d7-949a-086c40fcacd9\"\n }\n },\n \ - \ \"openServiceMesh\": {\n \"enabled\": false,\n \"config\": null\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/28cf8e40-db71-4cb8-9a8e-a69f49afaf82\"\ - \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\": 100,\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\": \"9acbf449-df36-4bf2-9ded-15516a480c91\",\n \"objectId\"\ - : \"3fa52230-ba24-4a0f-8a05-d924f8c84c08\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"c928b259-67eb-4897-9d54-68eb5a21d361\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestv4hhelqul-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestv4hhelqul-8ecadf-e0c88b3e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": false,\n \"config\": + null\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/5484775f-45f7-4d38-8855-2cfa593b6516\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3603' + - '3485' content-type: - application/json date: - - Wed, 18 Nov 2020 01:52:20 GMT + - Wed, 23 Jun 2021 08:16:31 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml index d6dec4f89b3..8a2beace2f6 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T05:58:24Z"},"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":"2021-06-23T08:10:05Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 05:58:28 GMT + - Wed, 23 Jun 2021 08:10:08 GMT expires: - '-1' pragma: @@ -43,17 +43,17 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestjvfpkwgqk-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "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": "standard"}}, - "identity": {"type": "SystemAssigned"}}' + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -64,7 +64,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1272' + - '1328' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -72,7 +72,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -83,20 +83,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n @@ -105,21 +106,21 @@ interactions: {\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\": 100\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2654' + - '2720' content-type: - application/json date: - - Fri, 14 May 2021 05:58:39 GMT + - Wed, 23 Jun 2021 08:10:22 GMT expires: - '-1' pragma: @@ -131,7 +132,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -151,13 +152,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" + string: "{\n \"name\": \"7c79a502-7098-fa4b-af53-e7584766332c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:10:21.3266666Z\"\n }" headers: cache-control: - no-cache @@ -166,7 +167,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:10 GMT + - Wed, 23 Jun 2021 08:10:53 GMT expires: - '-1' pragma: @@ -200,13 +201,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" + string: "{\n \"name\": \"7c79a502-7098-fa4b-af53-e7584766332c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:10:21.3266666Z\"\n }" headers: cache-control: - no-cache @@ -215,7 +216,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:42 GMT + - Wed, 23 Jun 2021 08:11:25 GMT expires: - '-1' pragma: @@ -249,13 +250,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" + string: "{\n \"name\": \"7c79a502-7098-fa4b-af53-e7584766332c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:10:21.3266666Z\"\n }" headers: cache-control: - no-cache @@ -264,7 +265,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:14 GMT + - Wed, 23 Jun 2021 08:11:56 GMT expires: - '-1' pragma: @@ -298,13 +299,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" + string: "{\n \"name\": \"7c79a502-7098-fa4b-af53-e7584766332c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:10:21.3266666Z\"\n }" headers: cache-control: - no-cache @@ -313,7 +314,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:45 GMT + - Wed, 23 Jun 2021 08:12:28 GMT expires: - '-1' pragma: @@ -347,13 +348,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" + string: "{\n \"name\": \"7c79a502-7098-fa4b-af53-e7584766332c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:10:21.3266666Z\"\n }" headers: cache-control: - no-cache @@ -362,7 +363,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:17 GMT + - Wed, 23 Jun 2021 08:12:59 GMT expires: - '-1' pragma: @@ -396,13 +397,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" + string: "{\n \"name\": \"7c79a502-7098-fa4b-af53-e7584766332c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:10:21.3266666Z\"\n }" headers: cache-control: - no-cache @@ -411,7 +412,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:48 GMT + - Wed, 23 Jun 2021 08:13:31 GMT expires: - '-1' pragma: @@ -445,14 +446,14 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/02a5797c-9870-4bfa-af53-e7584766332c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\",\n \"endTime\": - \"2021-05-14T06:01:49.6074258Z\"\n }" + string: "{\n \"name\": \"7c79a502-7098-fa4b-af53-e7584766332c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:10:21.3266666Z\",\n \"endTime\": + \"2021-06-23T08:14:00.2653926Z\"\n }" headers: cache-control: - no-cache @@ -461,7 +462,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:02:19 GMT + - Wed, 23 Jun 2021 08:14:02 GMT expires: - '-1' pragma: @@ -495,7 +496,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -504,45 +505,47 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3317' + - '3383' content-type: - application/json date: - - Fri, 14 May 2021 06:02:20 GMT + - Wed, 23 Jun 2021 08:14:04 GMT expires: - '-1' pragma: @@ -576,7 +579,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -587,45 +590,47 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3317' + - '3383' content-type: - application/json date: - - Fri, 14 May 2021 06:02:23 GMT + - Wed, 23 Jun 2021 08:14:06 GMT expires: - '-1' pragma: @@ -644,14 +649,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestjvfpkwgqk-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": @@ -659,10 +665,11 @@ interactions: "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/f1368cd7-a411-4e48-af35-f3caf6a45c32"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -673,7 +680,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2230' + - '2288' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -681,7 +688,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -692,20 +699,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -714,27 +722,28 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/eeafe22f-2da1-4353-91ae-0f68b3cc7fd7?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/60f19d1c-f4ea-46b1-96eb-49dac491e6d7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3471' + - '3537' content-type: - application/json date: - - Fri, 14 May 2021 06:02:29 GMT + - Wed, 23 Jun 2021 08:14:16 GMT expires: - '-1' pragma: @@ -750,7 +759,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -770,22 +779,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eeafe22f-2da1-4353-91ae-0f68b3cc7fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/60f19d1c-f4ea-46b1-96eb-49dac491e6d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2fe2afee-a12d-5343-91ae-0f68b3cc7fd7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:28.4966666Z\"\n }" + string: "{\n \"name\": \"1c9df160-eaf4-b146-96eb-49dac491e6d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:14:13.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:03:01 GMT + - Wed, 23 Jun 2021 08:14:48 GMT expires: - '-1' pragma: @@ -819,23 +828,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eeafe22f-2da1-4353-91ae-0f68b3cc7fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/60f19d1c-f4ea-46b1-96eb-49dac491e6d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2fe2afee-a12d-5343-91ae-0f68b3cc7fd7\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:28.4966666Z\",\n \"endTime\": - \"2021-05-14T06:03:33.1049624Z\"\n }" + string: "{\n \"name\": \"1c9df160-eaf4-b146-96eb-49dac491e6d7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:14:13.33Z\",\n \"endTime\": + \"2021-06-23T08:15:11.5951741Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 06:03:33 GMT + - Wed, 23 Jun 2021 08:15:19 GMT expires: - '-1' pragma: @@ -869,7 +878,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -878,20 +887,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -902,25 +912,26 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3856' + - '3922' content-type: - application/json date: - - Fri, 14 May 2021 06:03:35 GMT + - Wed, 23 Jun 2021 08:15:22 GMT expires: - '-1' pragma: @@ -954,7 +965,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -965,20 +976,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -989,25 +1001,26 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3856' + - '3922' content-type: - application/json date: - - Fri, 14 May 2021 06:03:37 GMT + - Wed, 23 Jun 2021 08:15:23 GMT expires: - '-1' pragma: @@ -1026,24 +1039,26 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestjvfpkwgqk-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": false}}, "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/f1368cd7-a411-4e48-af35-f3caf6a45c32"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1054,7 +1069,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2186' + - '2244' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1062,7 +1077,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1073,20 +1088,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": false,\n \"config\": @@ -1094,27 +1110,28 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1db847a8-8f98-4c3c-8c1a-753c4d6b9fce?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3430' + - '3496' content-type: - application/json date: - - Fri, 14 May 2021 06:03:46 GMT + - Wed, 23 Jun 2021 08:15:32 GMT expires: - '-1' pragma: @@ -1130,7 +1147,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 200 message: OK @@ -1150,13 +1167,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1db847a8-8f98-4c3c-8c1a-753c4d6b9fce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9d0d65e-be57-3e4d-b18c-ae714eb1a79d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.05Z\"\n }" + string: "{\n \"name\": \"a847b81d-988f-3c4c-8c1a-753c4d6b9fce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:15:30.01Z\"\n }" headers: cache-control: - no-cache @@ -1165,7 +1182,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:04:17 GMT + - Wed, 23 Jun 2021 08:16:03 GMT expires: - '-1' pragma: @@ -1199,22 +1216,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1db847a8-8f98-4c3c-8c1a-753c4d6b9fce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9d0d65e-be57-3e4d-b18c-ae714eb1a79d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.05Z\"\n }" + string: "{\n \"name\": \"a847b81d-988f-3c4c-8c1a-753c4d6b9fce\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:15:30.01Z\",\n \"endTime\": + \"2021-06-23T08:16:29.811177Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '164' content-type: - application/json date: - - Fri, 14 May 2021 06:04:49 GMT + - Wed, 23 Jun 2021 08:16:35 GMT expires: - '-1' pragma: @@ -1248,57 +1266,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"c9d0d65e-be57-3e4d-b18c-ae714eb1a79d\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:03:44.05Z\",\n \"endTime\": - \"2021-05-14T06:05:13.4270287Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '165' - content-type: - - application/json - date: - - Fri, 14 May 2021 06:05:21 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 disable-addons - Connection: - - keep-alive - ParameterSetName: - - --addons --resource-group --name -o - User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1307,20 +1275,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": false,\n \"config\": @@ -1328,25 +1297,26 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3432' + - '3498' content-type: - application/json date: - - Fri, 14 May 2021 06:05:22 GMT + - Wed, 23 Jun 2021 08:16:35 GMT expires: - '-1' pragma: @@ -1380,7 +1350,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -1391,20 +1361,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": false,\n \"config\": @@ -1412,25 +1383,26 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3432' + - '3498' content-type: - application/json date: - - Fri, 14 May 2021 06:05:24 GMT + - Wed, 23 Jun 2021 08:16:38 GMT expires: - '-1' pragma: @@ -1449,14 +1421,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitestjvfpkwgqk-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "true"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": @@ -1464,10 +1437,11 @@ interactions: "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/f1368cd7-a411-4e48-af35-f3caf6a45c32"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1478,7 +1452,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2229' + - '2287' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1486,7 +1460,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1497,20 +1471,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -1519,27 +1494,28 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/402eff42-c26f-4696-b628-87c539dc4d72?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3470' + - '3536' content-type: - application/json date: - - Fri, 14 May 2021 06:05:32 GMT + - Wed, 23 Jun 2021 08:16:44 GMT expires: - '-1' pragma: @@ -1575,22 +1551,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/402eff42-c26f-4696-b628-87c539dc4d72?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"02ba21f4-6349-c045-b039-dc0941e813a1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:30.6666666Z\"\n }" + string: "{\n \"name\": \"42ff2e40-6fc2-9646-b628-87c539dc4d72\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:43.72Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:06:03 GMT + - Wed, 23 Jun 2021 08:17:16 GMT expires: - '-1' pragma: @@ -1624,22 +1600,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/402eff42-c26f-4696-b628-87c539dc4d72?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"02ba21f4-6349-c045-b039-dc0941e813a1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:30.6666666Z\"\n }" + string: "{\n \"name\": \"42ff2e40-6fc2-9646-b628-87c539dc4d72\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:43.72Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:06:34 GMT + - Wed, 23 Jun 2021 08:17:48 GMT expires: - '-1' pragma: @@ -1673,23 +1649,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/402eff42-c26f-4696-b628-87c539dc4d72?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"02ba21f4-6349-c045-b039-dc0941e813a1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:05:30.6666666Z\",\n \"endTime\": - \"2021-05-14T06:06:53.6140091Z\"\n }" + string: "{\n \"name\": \"42ff2e40-6fc2-9646-b628-87c539dc4d72\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:16:43.72Z\",\n \"endTime\": + \"2021-06-23T08:17:50.0394067Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 06:07:05 GMT + - Wed, 23 Jun 2021 08:18:20 GMT expires: - '-1' pragma: @@ -1723,7 +1699,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1732,20 +1708,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestjvfpkwgqk-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjvfpkwgqk-8ecadf-7606e181.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -1756,25 +1733,26 @@ interactions: \ \"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/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9b2d845f-523f-4c7b-b613-e179e3d0223c\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3855' + - '3921' content-type: - application/json date: - - Fri, 14 May 2021 06:07:08 GMT + - Wed, 23 Jun 2021 08:18:21 GMT expires: - '-1' pragma: @@ -1808,29 +1786,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/85ac45d6-828b-4e96-a5f5-989d1592b758?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/385b9799-f105-4cf3-8138-40c50c2c54be?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:07:12 GMT + - Wed, 23 Jun 2021 08:18:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/85ac45d6-828b-4e96-a5f5-989d1592b758?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/385b9799-f105-4cf3-8138-40c50c2c54be?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml index 311cb89df09..0ea35c026a1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml @@ -11,18 +11,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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-11-18T01:45:48Z"},"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":"2021-06-23T08:09:41Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -31,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 18 Nov 2020 01:45:55 GMT + - Wed, 23 Jun 2021 08:09:44 GMT expires: - '-1' pragma: @@ -47,16 +43,17 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestz62q2njw6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitesthx7tlglww-8ecadf", "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}' + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -67,62 +64,63 @@ interactions: Connection: - keep-alive Content-Length: - - '1257' + - '1328' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestz62q2njw6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestz62q2njw6-8ecadf-3a9ec5f2.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null\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\": 100\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ - ,\n \"principalId\": \"2535f936-a878-456d-adf8-e0872d917080\",\n \"tenantId\"\ - : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesthx7tlglww-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/bc67dc27-6a48-4ef4-a9c1-605b2627a2d2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2497' + - '2720' content-type: - application/json date: - - Wed, 18 Nov 2020 01:46:02 GMT + - Wed, 23 Jun 2021 08:09:53 GMT expires: - '-1' pragma: @@ -134,7 +132,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -150,17 +148,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc67dc27-6a48-4ef4-a9c1-605b2627a2d2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27dc67bc-486a-f44e-a9c1-605b2627a2d2\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:46:02.7116758Z\"\n }" + string: "{\n \"name\": \"30cdd043-d6a8-b64c-b259-38f4ae67ee6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:52.2466666Z\"\n }" headers: cache-control: - no-cache @@ -169,7 +167,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:46:32 GMT + - Wed, 23 Jun 2021 08:10:24 GMT expires: - '-1' pragma: @@ -199,17 +197,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc67dc27-6a48-4ef4-a9c1-605b2627a2d2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27dc67bc-486a-f44e-a9c1-605b2627a2d2\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:46:02.7116758Z\"\n }" + string: "{\n \"name\": \"30cdd043-d6a8-b64c-b259-38f4ae67ee6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:52.2466666Z\"\n }" headers: cache-control: - no-cache @@ -218,7 +216,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:47:03 GMT + - Wed, 23 Jun 2021 08:10:55 GMT expires: - '-1' pragma: @@ -248,17 +246,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc67dc27-6a48-4ef4-a9c1-605b2627a2d2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27dc67bc-486a-f44e-a9c1-605b2627a2d2\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:46:02.7116758Z\"\n }" + string: "{\n \"name\": \"30cdd043-d6a8-b64c-b259-38f4ae67ee6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:52.2466666Z\"\n }" headers: cache-control: - no-cache @@ -267,7 +265,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:47:34 GMT + - Wed, 23 Jun 2021 08:11:27 GMT expires: - '-1' pragma: @@ -297,17 +295,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc67dc27-6a48-4ef4-a9c1-605b2627a2d2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27dc67bc-486a-f44e-a9c1-605b2627a2d2\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:46:02.7116758Z\"\n }" + string: "{\n \"name\": \"30cdd043-d6a8-b64c-b259-38f4ae67ee6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:52.2466666Z\"\n }" headers: cache-control: - no-cache @@ -316,7 +314,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:48:04 GMT + - Wed, 23 Jun 2021 08:11:59 GMT expires: - '-1' pragma: @@ -346,17 +344,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc67dc27-6a48-4ef4-a9c1-605b2627a2d2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27dc67bc-486a-f44e-a9c1-605b2627a2d2\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:46:02.7116758Z\"\n }" + string: "{\n \"name\": \"30cdd043-d6a8-b64c-b259-38f4ae67ee6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:52.2466666Z\"\n }" headers: cache-control: - no-cache @@ -365,7 +363,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:48:34 GMT + - Wed, 23 Jun 2021 08:12:29 GMT expires: - '-1' pragma: @@ -395,18 +393,67 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc67dc27-6a48-4ef4-a9c1-605b2627a2d2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27dc67bc-486a-f44e-a9c1-605b2627a2d2\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-18T01:46:02.7116758Z\",\n \"\ - endTime\": \"2020-11-18T01:48:53.0687079Z\"\n }" + string: "{\n \"name\": \"30cdd043-d6a8-b64c-b259-38f4ae67ee6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:09:52.2466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:13: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: + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43d0cd30-a8d6-4cb6-b259-38f4ae67ee6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"30cdd043-d6a8-b64c-b259-38f4ae67ee6e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:09:52.2466666Z\",\n \"endTime\": + \"2021-06-23T08:13:14.3178589Z\"\n }" headers: cache-control: - no-cache @@ -415,7 +462,7 @@ interactions: content-type: - application/json date: - - Wed, 18 Nov 2020 01:49:05 GMT + - Wed, 23 Jun 2021 08:13:32 GMT expires: - '-1' pragma: @@ -445,62 +492,60 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity --service-principal --client-secret - --generate-ssh-keys -o + - --resource-group --name --enable-managed-identity --generate-ssh-keys -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestz62q2njw6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestz62q2njw6-8ecadf-3a9ec5f2.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"c33ba2f2-b77e-4776-a68b-1c2985ba4a8f\",\n \"\ - objectId\": \"877bad7c-7042-4954-8114-9a1c9db18f74\"\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/870d0342-942e-4d38-b55f-e831ecf46017\"\ - \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\": 100,\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\": \"e68996ce-aaa5-47e3-839d-8dfbd77dcb39\",\n \"objectId\"\ - : \"3731c271-c242-46cb-b236-37301f0790ae\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"2535f936-a878-456d-adf8-e0872d917080\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesthx7tlglww-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/e792ef8f-4543-4f01-b609-1b90d8227175\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3528' + - '3383' content-type: - application/json date: - - Wed, 18 Nov 2020 01:49:06 GMT + - Wed, 23 Jun 2021 08:13:35 GMT expires: - '-1' pragma: @@ -532,61 +577,60 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestz62q2njw6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestz62q2njw6-8ecadf-3a9ec5f2.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"c33ba2f2-b77e-4776-a68b-1c2985ba4a8f\",\n \"\ - objectId\": \"877bad7c-7042-4954-8114-9a1c9db18f74\"\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/870d0342-942e-4d38-b55f-e831ecf46017\"\ - \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\": 100,\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\": \"e68996ce-aaa5-47e3-839d-8dfbd77dcb39\",\n \"objectId\"\ - : \"3731c271-c242-46cb-b236-37301f0790ae\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"2535f936-a878-456d-adf8-e0872d917080\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesthx7tlglww-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/e792ef8f-4543-4f01-b609-1b90d8227175\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3528' + - '3383' content-type: - application/json date: - - Wed, 18 Nov 2020 01:49:08 GMT + - Wed, 23 Jun 2021 08:13:37 GMT expires: - '-1' pragma: @@ -605,23 +649,26 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.17.13", - "dnsPrefix": "cliakstest-clitestz62q2njw6-8ecadf", "agentPoolProfiles": [{"count": + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitesthx7tlglww-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "orchestratorVersion": "1.17.13", "enableNodePublicIP": false, "nodeLabels": - {}, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": - {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr"}]}}, - "addonProfiles": {"KubeDashboard": {"enabled": true}, "openServiceMesh": {"enabled": + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": true, "config": {}}}, "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/870d0342-942e-4d38-b55f-e831ecf46017"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e792ef8f-4543-4f01-b609-1b90d8227175"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId": "00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -632,67 +679,69 @@ interactions: Connection: - keep-alive Content-Length: - - '2098' + - '2244' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestz62q2njw6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestz62q2njw6-8ecadf-3a9ec5f2.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null\n },\n \"openServiceMesh\"\ - : {\n \"enabled\": true,\n \"config\": {}\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/870d0342-942e-4d38-b55f-e831ecf46017\"\ - \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\": 100,\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\": \"e68996ce-aaa5-47e3-839d-8dfbd77dcb39\",\n \"objectId\"\ - : \"3731c271-c242-46cb-b236-37301f0790ae\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"2535f936-a878-456d-adf8-e0872d917080\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesthx7tlglww-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\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/e792ef8f-4543-4f01-b609-1b90d8227175\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/8e4a5ef7-739c-4119-bea4-e6093ea63e62?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7f4e6a1a-9f34-4300-b5b7-d617677c67f4?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3230' + - '3480' content-type: - application/json date: - - Wed, 18 Nov 2020 01:49:10 GMT + - Wed, 23 Jun 2021 08:13:44 GMT expires: - '-1' pragma: @@ -726,23 +775,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e4a5ef7-739c-4119-bea4-e6093ea63e62?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7f4e6a1a-9f34-4300-b5b7-d617677c67f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f75e4a8e-9c73-1941-bea4-e6093ea63e62\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:49:10.9363822Z\"\n }" + string: "{\n \"name\": \"1a6a4e7f-349f-0043-b5b7-d617677c67f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:43.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:49:41 GMT + - Wed, 23 Jun 2021 08:14:15 GMT expires: - '-1' pragma: @@ -774,23 +824,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e4a5ef7-739c-4119-bea4-e6093ea63e62?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7f4e6a1a-9f34-4300-b5b7-d617677c67f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f75e4a8e-9c73-1941-bea4-e6093ea63e62\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-18T01:49:10.9363822Z\"\n }" + string: "{\n \"name\": \"1a6a4e7f-349f-0043-b5b7-d617677c67f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:13:43.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:11 GMT + - Wed, 23 Jun 2021 08:14:47 GMT expires: - '-1' pragma: @@ -822,24 +873,25 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e4a5ef7-739c-4119-bea4-e6093ea63e62?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7f4e6a1a-9f34-4300-b5b7-d617677c67f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f75e4a8e-9c73-1941-bea4-e6093ea63e62\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-18T01:49:10.9363822Z\",\n \"\ - endTime\": \"2020-11-18T01:50:21.3976438Z\"\n }" + string: "{\n \"name\": \"1a6a4e7f-349f-0043-b5b7-d617677c67f4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:13:43.67Z\",\n \"endTime\": + \"2021-06-23T08:14:49.0841745Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:42 GMT + - Wed, 23 Jun 2021 08:15:19 GMT expires: - '-1' pragma: @@ -871,63 +923,61 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestz62q2njw6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestz62q2njw6-8ecadf-3a9ec5f2.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvZOAiQi79CLB3LPrw6shgUuJAsmvPckoiDewIwdaFEFImMCn8UOc87QtruXAHLx6XQz3r6SH3STEobWw7I1aPVD1KuQBqUQwzqfL223UyA3BOm/mdpc77apIT1Pw4hDHtMwDwO01HMir/sRIcoavXphbcUh+H1bZ5WQQJwgS0jVptOhUjeuE9uiOVA+FzauAb91/QdE6zMfvq03bynVJja4Y81n2PlqlzMmIUUVUYnSoeFIYkUToZ07d0m76VY1ci91WrUFXKCv2iM5IPvyE2RTSlm7GKrR9fUJCa4YTqPNRNwGov5GpbeZqHQzvLnjRq3hl06WX5fG8ZXaU/Xbr\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"c33ba2f2-b77e-4776-a68b-1c2985ba4a8f\",\n \"\ - objectId\": \"877bad7c-7042-4954-8114-9a1c9db18f74\"\n }\n },\n \ - \ \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n\ - \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\"\ - ,\n \"clientId\": \"ad1e0c1a-887a-4c1c-8d39-952cc4e3a037\",\n \"\ - objectId\": \"ec1e23f8-2f63-4b02-a05e-3dba067f9190\"\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/870d0342-942e-4d38-b55f-e831ecf46017\"\ - \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\": 100,\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\": \"e68996ce-aaa5-47e3-839d-8dfbd77dcb39\",\n \"objectId\"\ - : \"3731c271-c242-46cb-b236-37301f0790ae\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"2535f936-a878-456d-adf8-e0872d917080\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesthx7tlglww-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesthx7tlglww-8ecadf-291ac891.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\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/e792ef8f-4543-4f01-b609-1b90d8227175\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3970' + - '3852' content-type: - application/json date: - - Wed, 18 Nov 2020 01:50:43 GMT + - Wed, 23 Jun 2021 08:15:20 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml index 5836a3cd71d..b7b262edccd 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml @@ -13,22 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - AZURECLI/2.23.0.post20210514155800 azsdk-python-azure-mgmt-resource/16.1.0 - Python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-17T18:38:32Z","Owner":"Unknown","Project":"Unknown","Purpose":"Unknown"},"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":"2021-06-23T08:06:41Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '370' + - '313' content-type: - application/json; charset=utf-8 date: - - Mon, 17 May 2021 18:38:34 GMT + - Wed, 23 Jun 2021 08:06:43 GMT expires: - '-1' pragma: @@ -43,18 +42,18 @@ interactions: code: 200 message: OK - request: - body: '{"location": "eastus", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestl766ngki7-f9cb37", "agentPoolProfiles": [{"count": 1, "vmSize": + body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitestrmvhy2c43-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "c000003"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ=="}]}}, - "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": "standard"}, "disableLocalAccounts": false}, - "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "c000003"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,15 +64,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1615' + - '1325' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -81,47 +80,535 @@ interactions: response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": - {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": - \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n - \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": - {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n - \ \"dnsPrefix\": \"cliakstest-clitestl766ngki7-f9cb37\",\n \"fqdn\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.hcp.eastus.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.portal.hcp.eastus.azmk8s.io\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestrmvhy2c43-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestrmvhy2c43-8ecadf-45207057.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrmvhy2c43-8ecadf-45207057.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\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\": - 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2717' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:06:53 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: + - '1197' + 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 --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:07:24 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 --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:07:55 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 --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:08: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: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:08:59 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 --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:09: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: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:10: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: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:10: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: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:11:04 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 --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:11: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: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" + headers: cache-control: - no-cache content-length: - - '3086' + - '126' content-type: - application/json date: - - Mon, 17 May 2021 18:38:40 GMT + - Wed, 23 Jun 2021 08:12:07 GMT expires: - '-1' pragma: @@ -130,13 +617,15 @@ interactions: - 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: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -151,15 +640,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -168,7 +657,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:39:11 GMT + - Wed, 23 Jun 2021 08:12:38 GMT expires: - '-1' pragma: @@ -200,15 +689,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -217,7 +706,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:39:42 GMT + - Wed, 23 Jun 2021 08:13:10 GMT expires: - '-1' pragma: @@ -249,15 +738,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -266,7 +755,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:40:12 GMT + - Wed, 23 Jun 2021 08:13:41 GMT expires: - '-1' pragma: @@ -298,15 +787,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -315,7 +804,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:40:43 GMT + - Wed, 23 Jun 2021 08:14:13 GMT expires: - '-1' pragma: @@ -347,15 +836,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -364,7 +853,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:41:12 GMT + - Wed, 23 Jun 2021 08:14:45 GMT expires: - '-1' pragma: @@ -396,15 +885,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -413,7 +902,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:41:43 GMT + - Wed, 23 Jun 2021 08:15:17 GMT expires: - '-1' pragma: @@ -445,25 +934,24 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\",\n \"endTime\": - \"2021-05-17T18:41:44.2710248Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '126' content-type: - application/json date: - - Mon, 17 May 2021 18:42:14 GMT + - Wed, 23 Jun 2021 08:15:48 GMT expires: - '-1' pragma: @@ -495,57 +983,24 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": - {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": - \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n - \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": - {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n - \ \"dnsPrefix\": \"cliakstest-clitestl766ngki7-f9cb37\",\n \"fqdn\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.hcp.eastus.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.portal.hcp.eastus.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\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_eastus/providers/Microsoft.Network/publicIPAddresses/8d1d3569-205e-4e93-ab12-881c83e1f645\"\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\": - 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '3747' + - '126' content-type: - application/json date: - - Mon, 17 May 2021 18:42:14 GMT + - Wed, 23 Jun 2021 08:16:20 GMT expires: - '-1' pragma: @@ -571,41 +1026,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --os-sku + - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - accept-language: - - en-US + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n - \ \"name\": \"c000003\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '921' + - '126' content-type: - application/json date: - - Mon, 17 May 2021 18:42:15 GMT + - Wed, 23 Jun 2021 08:16:51 GMT expires: - '-1' pragma: @@ -624,56 +1068,37 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", - "osSKU": "CBLMariner", "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": - {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "nodeTaints": [], "enableEncryptionAtHost": false, "enableFIPS": false}}' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks create Connection: - keep-alive - Content-Length: - - '341' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --cluster-name --name --os-sku + - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-05-01 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n - \ \"name\": \"c000004\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 cache-control: - no-cache content-length: - - '838' + - '126' content-type: - application/json date: - - Mon, 17 May 2021 18:42:18 GMT + - Wed, 23 Jun 2021 08:17:22 GMT expires: - '-1' pragma: @@ -682,13 +1107,15 @@ interactions: - 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: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -697,21 +1124,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --os-sku + - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -720,7 +1147,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:42:48 GMT + - Wed, 23 Jun 2021 08:17:54 GMT expires: - '-1' pragma: @@ -746,21 +1173,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --os-sku + - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\"\n }" headers: cache-control: - no-cache @@ -769,7 +1196,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:43:19 GMT + - Wed, 23 Jun 2021 08:18:26 GMT expires: - '-1' pragma: @@ -795,30 +1222,114 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --os-sku + - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b56102b5-46cf-4223-8682-32f324a12c7e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"b50261b5-cf46-2342-8682-32f324a12c7e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:06:53.2033333Z\",\n \"endTime\": + \"2021-06-23T08:18:38.0107968Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '170' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:18: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: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestrmvhy2c43-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitestrmvhy2c43-8ecadf-45207057.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrmvhy2c43-8ecadf-45207057.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/812e1ae8-9ec0-47ad-8195-c33f1c38a18f\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: + - '3380' content-type: - application/json date: - - Mon, 17 May 2021 18:43:49 GMT + - Wed, 23 Jun 2021 08:19:00 GMT expires: - '-1' pragma: @@ -850,24 +1361,35 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-05-01 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n + \ \"name\": \"c000003\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '126' + - '952' content-type: - application/json date: - - Mon, 17 May 2021 18:44:19 GMT + - Wed, 23 Jun 2021 08:19:02 GMT expires: - '-1' pragma: @@ -885,6 +1407,74 @@ interactions: status: code: 200 message: OK +- request: + body: '{"properties": {"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", + "osSKU": "CBLMariner", "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": + {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '366' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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/agentPools/c000004?api-version=2021-05-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n + \ \"name\": \"c000004\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": + \"AKSCBLMariner-V1-2021.06.02\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '867' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:19:07 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: + - '1198' + status: + code: 201 + message: Created - request: body: null headers: @@ -899,15 +1489,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -916,7 +1506,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:44:50 GMT + - Wed, 23 Jun 2021 08:19:38 GMT expires: - '-1' pragma: @@ -948,15 +1538,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -965,7 +1555,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:45:21 GMT + - Wed, 23 Jun 2021 08:20:09 GMT expires: - '-1' pragma: @@ -997,15 +1587,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1014,7 +1604,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:45:51 GMT + - Wed, 23 Jun 2021 08:20:41 GMT expires: - '-1' pragma: @@ -1046,15 +1636,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1063,7 +1653,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:46:21 GMT + - Wed, 23 Jun 2021 08:21:12 GMT expires: - '-1' pragma: @@ -1095,15 +1685,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1112,7 +1702,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:46:52 GMT + - Wed, 23 Jun 2021 08:21:43 GMT expires: - '-1' pragma: @@ -1144,15 +1734,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1161,7 +1751,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:47:22 GMT + - Wed, 23 Jun 2021 08:22:15 GMT expires: - '-1' pragma: @@ -1193,15 +1783,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1210,7 +1800,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:47:53 GMT + - Wed, 23 Jun 2021 08:22:46 GMT expires: - '-1' pragma: @@ -1242,15 +1832,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1259,7 +1849,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:48:24 GMT + - Wed, 23 Jun 2021 08:23:17 GMT expires: - '-1' pragma: @@ -1291,15 +1881,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1308,7 +1898,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:48:54 GMT + - Wed, 23 Jun 2021 08:23:49 GMT expires: - '-1' pragma: @@ -1340,15 +1930,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1357,7 +1947,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:49:24 GMT + - Wed, 23 Jun 2021 08:24:20 GMT expires: - '-1' pragma: @@ -1389,15 +1979,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\"\n }" headers: cache-control: - no-cache @@ -1406,7 +1996,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:49:55 GMT + - Wed, 23 Jun 2021 08:24:51 GMT expires: - '-1' pragma: @@ -1438,16 +2028,16 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/805224ee-4b29-49df-9452-77dd377ece4c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\",\n \"endTime\": - \"2021-05-17T18:50:00.2156907Z\"\n }" + string: "{\n \"name\": \"ee245280-294b-df49-9452-77dd377ece4c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:19:07.2966666Z\",\n \"endTime\": + \"2021-06-23T08:25:07.9737822Z\"\n }" headers: cache-control: - no-cache @@ -1456,7 +2046,7 @@ interactions: content-type: - application/json date: - - Mon, 17 May 2021 18:50:25 GMT + - Wed, 23 Jun 2021 08:25:22 GMT expires: - '-1' pragma: @@ -1488,9 +2078,9 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-05-01 response: @@ -1501,19 +2091,20 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": + \"AKSCBLMariner-V1-2021.06.02\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '839' + - '868' content-type: - application/json date: - - Mon, 17 May 2021 18:50:26 GMT + - Wed, 23 Jun 2021 08:25:25 GMT expires: - '-1' pragma: @@ -1547,29 +2138,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 - msrest_azure/0.6.4 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0.post20210514155800 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b711057-4868-4de6-84de-5687637f003b?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9b503d2e-9a88-458c-bd28-cf57bec115e5?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Mon, 17 May 2021 18:50:28 GMT + - Wed, 23 Jun 2021 08:25:29 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/1b711057-4868-4de6-84de-5687637f003b?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/9b503d2e-9a88-458c-bd28-cf57bec115e5?api-version=2016-03-30 pragma: - no-cache server: @@ -1579,7 +2167,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml index 2c8a2c8bd64..72ae0f1e0c9 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-06-02T06:38:31Z"},"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":"2021-06-23T08:27:42Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 02 Jun 2021 06:38:48 GMT + - Wed, 23 Jun 2021 08:27:44 GMT expires: - '-1' pragma: @@ -46,17 +43,17 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitests3zkb4ds4-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "cliakstest-clitests5sobwnio-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "c000003"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxkIikpMJYMj7L/jPfLizU5h8dhwfSTaywooaiRKc6LXEqrX7pLPGpfNCHyRVImKC55+ajCN8jP46PBESCc2XV1x06Cc9Jh9Dv5J/sQpUS9ZytlD3oKkq9/Ylmc/tbcDqT7Fj0WeXjIV3ER2uinM6vPrLssm4GKYjswQIqHWVrRnFgKCABYejsLrVjduJoPxRfDa88RSK8NF1uLTXFcBCGCiycC5GAtw4rTkTAx6+tYKbQblYd3qmaXEwIDcQoSwPISEKLVUQf7iPYd6tBvr+m1nv9Qgbqoz57l1B0hi4N2g2fSLmXYb3v4JmWEUg/trMxPnVKDPPiMrad0A+taXt"}]}}, - "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": "standard"}, "disableLocalAccounts": false}, - "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "c000003"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -67,63 +64,63 @@ interactions: Connection: - keep-alive Content-Length: - - '1272' + - '1325' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ - : \"cliakstest-clitests3zkb4ds4-8ecadf\",\n \"fqdn\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n\ - \ \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\"\ - : \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": \"\ - Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxkIikpMJYMj7L/jPfLizU5h8dhwfSTaywooaiRKc6LXEqrX7pLPGpfNCHyRVImKC55+ajCN8jP46PBESCc2XV1x06Cc9Jh9Dv5J/sQpUS9ZytlD3oKkq9/Ylmc/tbcDqT7Fj0WeXjIV3ER2uinM6vPrLssm4GKYjswQIqHWVrRnFgKCABYejsLrVjduJoPxRfDa88RSK8NF1uLTXFcBCGCiycC5GAtw4rTkTAx6+tYKbQblYd3qmaXEwIDcQoSwPISEKLVUQf7iPYd6tBvr+m1nv9Qgbqoz57l1B0hi4N2g2fSLmXYb3v4JmWEUg/trMxPnVKDPPiMrad0A+taXt\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": false\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitests5sobwnio-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitests5sobwnio-8ecadf-fd011b4a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitests5sobwnio-8ecadf-fd011b4a.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2659' + - '2717' content-type: - application/json date: - - Wed, 02 Jun 2021 06:39:01 GMT + - Wed, 23 Jun 2021 08:27:55 GMT expires: - '-1' pragma: @@ -153,14 +150,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" + string: "{\n \"name\": \"9909a658-3cb4-9d40-bda1-4034c368ebc0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:27:54.5233333Z\"\n }" headers: cache-control: - no-cache @@ -169,7 +167,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:39:33 GMT + - Wed, 23 Jun 2021 08:28:27 GMT expires: - '-1' pragma: @@ -201,14 +199,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" + string: "{\n \"name\": \"9909a658-3cb4-9d40-bda1-4034c368ebc0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:27:54.5233333Z\"\n }" headers: cache-control: - no-cache @@ -217,7 +216,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:40:05 GMT + - Wed, 23 Jun 2021 08:28:58 GMT expires: - '-1' pragma: @@ -249,14 +248,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" + string: "{\n \"name\": \"9909a658-3cb4-9d40-bda1-4034c368ebc0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:27:54.5233333Z\"\n }" headers: cache-control: - no-cache @@ -265,7 +265,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:40:36 GMT + - Wed, 23 Jun 2021 08:29:30 GMT expires: - '-1' pragma: @@ -297,14 +297,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" + string: "{\n \"name\": \"9909a658-3cb4-9d40-bda1-4034c368ebc0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:27:54.5233333Z\"\n }" headers: cache-control: - no-cache @@ -313,7 +314,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:41:08 GMT + - Wed, 23 Jun 2021 08:30:02 GMT expires: - '-1' pragma: @@ -345,14 +346,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" + string: "{\n \"name\": \"9909a658-3cb4-9d40-bda1-4034c368ebc0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:27:54.5233333Z\"\n }" headers: cache-control: - no-cache @@ -361,7 +363,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:41:39 GMT + - Wed, 23 Jun 2021 08:30:33 GMT expires: - '-1' pragma: @@ -393,14 +395,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" + string: "{\n \"name\": \"9909a658-3cb4-9d40-bda1-4034c368ebc0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:27:54.5233333Z\"\n }" headers: cache-control: - no-cache @@ -409,7 +412,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:42:10 GMT + - Wed, 23 Jun 2021 08:31:06 GMT expires: - '-1' pragma: @@ -441,15 +444,16 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58a60999-b43c-409d-bda1-4034c368ebc0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\",\n \"\ - endTime\": \"2021-06-02T06:42:18.4617536Z\"\n }" + string: "{\n \"name\": \"9909a658-3cb4-9d40-bda1-4034c368ebc0\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:27:54.5233333Z\",\n \"endTime\": + \"2021-06-23T08:31:24.1446157Z\"\n }" headers: cache-control: - no-cache @@ -458,7 +462,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:42:41 GMT + - Wed, 23 Jun 2021 08:31:37 GMT expires: - '-1' pragma: @@ -490,59 +494,58 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ - : \"cliakstest-clitests3zkb4ds4-8ecadf\",\n \"fqdn\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\"\ - ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ - mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ - : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxkIikpMJYMj7L/jPfLizU5h8dhwfSTaywooaiRKc6LXEqrX7pLPGpfNCHyRVImKC55+ajCN8jP46PBESCc2XV1x06Cc9Jh9Dv5J/sQpUS9ZytlD3oKkq9/Ylmc/tbcDqT7Fj0WeXjIV3ER2uinM6vPrLssm4GKYjswQIqHWVrRnFgKCABYejsLrVjduJoPxRfDa88RSK8NF1uLTXFcBCGCiycC5GAtw4rTkTAx6+tYKbQblYd3qmaXEwIDcQoSwPISEKLVUQf7iPYd6tBvr+m1nv9Qgbqoz57l1B0hi4N2g2fSLmXYb3v4JmWEUg/trMxPnVKDPPiMrad0A+taXt\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\":\"00000000-0000-0000-0000-000000000001\"\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/77097647-b6bc-4b33-9f85-8471bf40999c\"\ - \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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ - :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ - : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ - principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ - \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitests5sobwnio-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitests5sobwnio-8ecadf-fd011b4a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitests5sobwnio-8ecadf-fd011b4a.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/15c74186-75da-410d-9ef5-85a7b4246293\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3322' + - '3380' content-type: - application/json date: - - Wed, 02 Jun 2021 06:42:42 GMT + - Wed, 23 Jun 2021 08:31:39 GMT expires: - '-1' pragma: @@ -574,19 +577,20 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.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/agentPools/c000003/upgradeProfiles/default?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default\"\ - ,\n \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles\"\ - ,\n \"properties\": {\n \"kubernetesVersion\": \"1.19.11\",\n \"osType\"\ - : \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ - \n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default\",\n + \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles\",\n + \ \"properties\": {\n \"kubernetesVersion\": \"1.19.11\",\n \"osType\": + \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.02\"\n + \ }\n }" headers: cache-control: - no-cache @@ -595,7 +599,7 @@ interactions: content-type: - application/json date: - - Wed, 02 Jun 2021 06:42:46 GMT + - Wed, 23 Jun 2021 08:31:41 GMT expires: - '-1' pragma: @@ -629,28 +633,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c29c646-b3ad-42bb-9ec4-39fe1df7cba5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4b99b746-64c7-4e64-a750-d8fd1767f5c5?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Wed, 02 Jun 2021 06:42:52 GMT + - Wed, 23 Jun 2021 08:31:44 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/5c29c646-b3ad-42bb-9ec4-39fe1df7cba5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/4b99b746-64c7-4e64-a750-d8fd1767f5c5?api-version=2016-03-30 pragma: - no-cache server: @@ -660,7 +662,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml index 7151b936b4f..45267928ccf 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-05-14T05:58:24Z"},"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":"2021-06-23T08:16:38Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 05:58:27 GMT + - Wed, 23 Jun 2021 08:16:42 GMT expires: - '-1' pragma: @@ -43,18 +43,19 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitesti6e5kierh-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitesttsgabcbkp-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + "Delete", "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "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"}}' + "loadBalancerSku": "standard"}, "disableLocalAccounts": false}, "identity": + {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -65,7 +66,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1366' + - '1422' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -73,7 +74,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -84,20 +85,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -108,21 +110,21 @@ interactions: {\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\": 100\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2810' + - '2876' content-type: - application/json date: - - Fri, 14 May 2021 05:58:40 GMT + - Wed, 23 Jun 2021 08:16:55 GMT expires: - '-1' pragma: @@ -154,13 +156,62 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:17:27 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 --generate-ssh-keys -a + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" headers: cache-control: - no-cache @@ -169,7 +220,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:11 GMT + - Wed, 23 Jun 2021 08:17:58 GMT expires: - '-1' pragma: @@ -203,13 +254,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" headers: cache-control: - no-cache @@ -218,7 +269,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 05:59:43 GMT + - Wed, 23 Jun 2021 08:18:30 GMT expires: - '-1' pragma: @@ -252,13 +303,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" headers: cache-control: - no-cache @@ -267,7 +318,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:14 GMT + - Wed, 23 Jun 2021 08:19:02 GMT expires: - '-1' pragma: @@ -301,13 +352,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" headers: cache-control: - no-cache @@ -316,7 +367,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:00:47 GMT + - Wed, 23 Jun 2021 08:19:33 GMT expires: - '-1' pragma: @@ -350,13 +401,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" headers: cache-control: - no-cache @@ -365,7 +416,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:18 GMT + - Wed, 23 Jun 2021 08:20:05 GMT expires: - '-1' pragma: @@ -399,13 +450,13 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" headers: cache-control: - no-cache @@ -414,7 +465,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:01:49 GMT + - Wed, 23 Jun 2021 08:20:36 GMT expires: - '-1' pragma: @@ -448,14 +499,63 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\",\n \"endTime\": - \"2021-05-14T06:02:11.8214405Z\"\n }" + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 23 Jun 2021 08:21: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 --generate-ssh-keys -a + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.25.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3d113d82-f6d3-4b4e-b8a9-ae079ab04065?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"823d113d-d3f6-4e4b-b8a9-ae079ab04065\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:16:55.1733333Z\",\n \"endTime\": + \"2021-06-23T08:21:32.2023762Z\"\n }" headers: cache-control: - no-cache @@ -464,7 +564,7 @@ interactions: content-type: - application/json date: - - Fri, 14 May 2021 06:02:21 GMT + - Wed, 23 Jun 2021 08:21:40 GMT expires: - '-1' pragma: @@ -498,7 +598,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -507,20 +607,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -531,25 +632,26 @@ interactions: \ \"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/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3856' + - '3922' content-type: - application/json date: - - Fri, 14 May 2021 06:02:23 GMT + - Wed, 23 Jun 2021 08:21:41 GMT expires: - '-1' pragma: @@ -583,7 +685,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -594,20 +696,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -618,25 +721,26 @@ interactions: \ \"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/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3856' + - '3922' content-type: - application/json date: - - Fri, 14 May 2021 06:02:24 GMT + - Wed, 23 Jun 2021 08:21:43 GMT expires: - '-1' pragma: @@ -655,14 +759,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitesti6e5kierh-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitesttsgabcbkp-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "true"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", @@ -670,11 +775,12 @@ interactions: "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/949e53e4-f7b7-4e6b-b90a-da4204bae39c"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -685,7 +791,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2303' + - '2361' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -693,7 +799,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -704,20 +810,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -726,27 +833,28 @@ interactions: \ \"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/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/d72f1663-101d-42d9-9cdc-2368fa790dc3?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0402a811-ae70-4fa2-8e6f-358d460fa611?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3470' + - '3536' content-type: - application/json date: - - Fri, 14 May 2021 06:02:33 GMT + - Wed, 23 Jun 2021 08:21:53 GMT expires: - '-1' pragma: @@ -762,7 +870,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' status: code: 200 message: OK @@ -782,22 +890,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d72f1663-101d-42d9-9cdc-2368fa790dc3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0402a811-ae70-4fa2-8e6f-358d460fa611?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"63162fd7-1d10-d942-9cdc-2368fa790dc3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:30.6833333Z\"\n }" + string: "{\n \"name\": \"11a80204-70ae-a24f-8e6f-358d460fa611\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:21:49.93Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 14 May 2021 06:03:05 GMT + - Wed, 23 Jun 2021 08:22:24 GMT expires: - '-1' pragma: @@ -831,23 +939,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d72f1663-101d-42d9-9cdc-2368fa790dc3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0402a811-ae70-4fa2-8e6f-358d460fa611?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"63162fd7-1d10-d942-9cdc-2368fa790dc3\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:30.6833333Z\",\n \"endTime\": - \"2021-05-14T06:03:27.3833706Z\"\n }" + string: "{\n \"name\": \"11a80204-70ae-a24f-8e6f-358d460fa611\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:21:49.93Z\",\n \"endTime\": + \"2021-06-23T08:22:45.4197059Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Fri, 14 May 2021 06:03:36 GMT + - Wed, 23 Jun 2021 08:22:57 GMT expires: - '-1' pragma: @@ -881,7 +989,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -890,20 +998,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -914,25 +1023,26 @@ interactions: \ \"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/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3855' + - '3921' content-type: - application/json date: - - Fri, 14 May 2021 06:03:38 GMT + - Wed, 23 Jun 2021 08:22:58 GMT expires: - '-1' pragma: @@ -966,7 +1076,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -977,20 +1087,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -1001,25 +1112,26 @@ interactions: \ \"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/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3855' + - '3921' content-type: - application/json date: - - Fri, 14 May 2021 06:03:41 GMT + - Wed, 23 Jun 2021 08:23:00 GMT expires: - '-1' pragma: @@ -1038,14 +1150,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": - "cliakstest-clitesti6e5kierh-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.11", + "dnsPrefix": "cliakstest-clitesttsgabcbkp-8ecadf", "agentPoolProfiles": [{"count": + 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", @@ -1053,11 +1166,12 @@ interactions: "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/949e53e4-f7b7-4e6b-b90a-da4204bae39c"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "identity": {"type": "SystemAssigned"}, "sku": + {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -1068,7 +1182,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2304' + - '2362' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1076,7 +1190,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 accept-language: - en-US method: PUT @@ -1087,20 +1201,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -1109,27 +1224,28 @@ interactions: \ \"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/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/fed63a6d-5e75-4002-a3f0-b2cbc3287220?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fae86376-2a6e-40c4-b6d6-4091a699060b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3471' + - '3537' content-type: - application/json date: - - Fri, 14 May 2021 06:03:49 GMT + - Wed, 23 Jun 2021 08:23:08 GMT expires: - '-1' pragma: @@ -1145,7 +1261,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 200 message: OK @@ -1165,22 +1281,22 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fed63a6d-5e75-4002-a3f0-b2cbc3287220?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fae86376-2a6e-40c4-b6d6-4091a699060b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d3ad6fe-755e-0240-a3f0-b2cbc3287220\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:47.75Z\"\n }" + string: "{\n \"name\": \"7663e8fa-6e2a-c440-b6d6-4091a699060b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-06-23T08:23:06.1266666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 06:04:20 GMT + - Wed, 23 Jun 2021 08:23:40 GMT expires: - '-1' pragma: @@ -1214,23 +1330,23 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fed63a6d-5e75-4002-a3f0-b2cbc3287220?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fae86376-2a6e-40c4-b6d6-4091a699060b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d3ad6fe-755e-0240-a3f0-b2cbc3287220\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-05-14T06:03:47.75Z\",\n \"endTime\": - \"2021-05-14T06:04:40.9754784Z\"\n }" + string: "{\n \"name\": \"7663e8fa-6e2a-c440-b6d6-4091a699060b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-06-23T08:23:06.1266666Z\",\n \"endTime\": + \"2021-06-23T08:24:03.4517361Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Fri, 14 May 2021 06:04:51 GMT + - Wed, 23 Jun 2021 08:24:11 GMT expires: - '-1' pragma: @@ -1264,7 +1380,7 @@ interactions: User-Agent: - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.23.0 + AZURECLI/2.25.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: @@ -1273,20 +1389,21 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitesttsgabcbkp-8ecadf\",\n + \ \"fqdn\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttsgabcbkp-8ecadf-d815b328.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.02\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": @@ -1297,25 +1414,26 @@ interactions: \ \"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/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ae5a2431-7aec-4a8d-9f7c-2e79d86c5629\"\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\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3856' + - '3922' content-type: - application/json date: - - Fri, 14 May 2021 06:04:53 GMT + - Wed, 23 Jun 2021 08:24:13 GMT expires: - '-1' pragma: @@ -1349,29 +1467,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) - msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python - AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb0fd4a0-3349-4198-a0af-5b71bbee80ac?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ce706fd2-c325-4461-b6dc-21e46e960535?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 06:04:57 GMT + - Wed, 23 Jun 2021 08:24:16 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/bb0fd4a0-3349-4198-a0af-5b71bbee80ac?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/ce706fd2-c325-4461-b6dc-21e46e960535?api-version=2016-03-30 pragma: - no-cache server: 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 4305b008b77..6ad219a811a 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 @@ -823,7 +823,7 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location checks=[ # if rerun the recording, please update latestNodeImageVersion to the latest value self.check('latestNodeImageVersion', - 'AKSUbuntu-1804gen2containerd-2021.05.19'), + 'AKSUbuntu-1804gen2containerd-2021.06.02'), self.check( 'type', "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles") ]) From 2a625c868db2995c265d4a65f26107d9023a917b Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Thu, 24 Jun 2021 11:08:21 +0800 Subject: [PATCH 14/85] update (#3541) --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f41169e2101..606a16aaedf 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -158,7 +158,7 @@ /src/cli-translator/ @houk-ms @fengzhou-msft -/src/vmware/ @fengzhou-msft @qwordy +/src/vmware/ @Juliehzl @zhoxing-ms /src/stack-hci/ @zhoxing-ms From 9af4418a67d6ec24e56d780c0bf9d4202a811409 Mon Sep 17 00:00:00 2001 From: jiec Date: Thu, 24 Jun 2021 17:28:03 +0800 Subject: [PATCH 15/85] A quick fix for incompatibility with old api-version. (#3542) * Revert "Migrate instrumentation_key to connection_string for spring-cloud extension (#3467)" This reverts commit 097827a4 * Add release note and set version Co-authored-by: Mason(Jie) Chen --- src/spring-cloud/HISTORY.md | 9 +++- src/spring-cloud/azext_spring_cloud/_help.py | 6 +-- .../azext_spring_cloud/_params.py | 4 +- .../azext_spring_cloud/azext_metadata.json | 2 +- src/spring-cloud/azext_spring_cloud/custom.py | 46 +++++++------------ .../tests/latest/test_asc_ut.py | 43 ----------------- src/spring-cloud/setup.py | 2 +- 7 files changed, 30 insertions(+), 82 deletions(-) delete mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.py diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index 3aa5901cd00..a9dd04acf39 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,8 +1,13 @@ Release History =============== -2.5.0 +2.5.1 ----- -* Migration from `instrumentation_key` to `connection_string` when update java agent configurations. +* Revert `2.5.0` as a quick fix for incompatibility with old api-version. + +~~2.5.0~~ +----- +* Deprecated +* ~~Migration from `instrumentation_key` to `connection_string` when update java agent configurations.~~ 2.4.0 ----- diff --git a/src/spring-cloud/azext_spring_cloud/_help.py b/src/spring-cloud/azext_spring_cloud/_help.py index a4bebf8ac4a..4d5ac6f90de 100644 --- a/src/spring-cloud/azext_spring_cloud/_help.py +++ b/src/spring-cloud/azext_spring_cloud/_help.py @@ -17,8 +17,8 @@ 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 connection string. - text: az spring-cloud create -n MyService -g MyResourceGroup -l westus --app-insights-key \"MyConnectionString\" + - 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 in westus with an existing Application Insights and enable Java In-Process Agent. text: az spring-cloud create -n MyService -g MyResourceGroup -l westus --enable-java-agent true --app-insights MyInstrumentationName - name: Create a new Azure Spring Cloud with distributed tracing disabled. @@ -462,7 +462,7 @@ short-summary: Update Application Insights settings. examples: - name: Enable Application Insights and Java In-process Agent. - text: az spring-cloud app-insights update -n MyService -g MyResourceGroup --app-insights-key \"MyConnectionString\" --sampling-rate 100 + text: az spring-cloud app-insights update -n MyService -g MyResourceGroup --app-insights-key MyInstrumentationKey --sampling-rate 100 - name: Disable Application Insights. text: az spring-cloud app-insights update -n MyService -g MyResourceGroup --disable """ diff --git a/src/spring-cloud/azext_spring_cloud/_params.py b/src/spring-cloud/azext_spring_cloud/_params.py index 0a2db5ff26c..6e441130fb1 100644 --- a/src/spring-cloud/azext_spring_cloud/_params.py +++ b/src/spring-cloud/azext_spring_cloud/_params.py @@ -49,7 +49,7 @@ def load_arguments(self, _): for scope in ['spring-cloud create', 'spring-cloud update']: with self.argument_context(scope) as c: c.argument('app_insights_key', - help="Connection string of the existing Application Insights.", + help="Instrumentation key of the existing Application Insights.", validator=validate_tracing_parameters) 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.", @@ -260,7 +260,7 @@ def prepare_logs_argument(c): with self.argument_context('spring-cloud app-insights update') as c: c.argument('app_insights_key', - help="Connection string of the existing Application Insights", + help="Instrumentation key of the existing Application Insights", validator=validate_app_insights_parameters) 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.", diff --git a/src/spring-cloud/azext_spring_cloud/azext_metadata.json b/src/spring-cloud/azext_spring_cloud/azext_metadata.json index 619f41e5c75..aa15278925a 100644 --- a/src/spring-cloud/azext_spring_cloud/azext_metadata.json +++ b/src/spring-cloud/azext_spring_cloud/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.25.0" + "azext.minCliCoreVersion": "2.0.67" } \ No newline at end of file diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index 9f23883d754..974f5af3dda 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -11,7 +11,6 @@ from time import sleep from ._stream_utils import stream_logs from msrestazure.azure_exceptions import CloudError -from azure.core.exceptions import ResourceNotFoundError from msrestazure.tools import parse_resource_id, is_valid_resource_id from ._utils import _get_upload_local_file, _get_persistent_disk_size, get_portal_uri, get_azure_files_info from knack.util import CLIError @@ -1561,26 +1560,12 @@ def domain_unbind(cmd, client, resource_group, service, app, domain_name): return client.custom_domains.delete(resource_group, service, app, domain_name) -def get_connection_string_or_instrumentation_key(appinsights): - credential = None - if appinsights: - if hasattr(appinsights, "connection_string") and appinsights.connection_string: - credential = appinsights.connection_string - elif hasattr(appinsights, "instrumentation_key") and appinsights.instrumentation_key: - credential = appinsights.instrumentation_key - return credential - - -def get_app_insights_credential(cli_ctx, resource_group, name): - """ - Application Insights is migrating from instrumentation_key to connection_key. - Get connection_string first, if not exist, fall back to instrumentation_key. - """ +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.connection_string is None and appinsights.instrumentation_key is None): - raise ResourceNotFoundError("App Insights {} under resource group {} was not found.".format(name, resource_group)) - return get_connection_string_or_instrumentation_key(appinsights) + 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 update_tracing_config(cmd, resource_group, service_name, location, app_insights_key, @@ -1593,12 +1578,12 @@ def update_tracing_config(cmd, resource_group, service_name, location, app_insig elif app_insights: if is_valid_resource_id(app_insights): resource_id_dict = parse_resource_id(app_insights) - instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_id_dict['resource_group'], - resource_id_dict['resource_name']) + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_id_dict['resource_group'], + resource_id_dict['resource_name']) trace_properties = models.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) else: - instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_group, app_insights) + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group, app_insights) trace_properties = models.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) elif disable_app_insights is not True: @@ -1629,12 +1614,12 @@ def update_java_agent_config(cmd, resource_group, service_name, location, app_in elif app_insights: if is_valid_resource_id(app_insights): resource_id_dict = parse_resource_id(app_insights) - instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_id_dict['resource_group'], - resource_id_dict['resource_name']) + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_id_dict['resource_group'], + resource_id_dict['resource_name']) trace_properties = models_20201101preview.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) else: - instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_group, app_insights) + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group, app_insights) trace_properties = models_20201101preview.MonitoringSettingProperties( trace_enabled=True, app_insights_instrumentation_key=instrumentation_key) elif enable_java_agent is True: @@ -1673,7 +1658,7 @@ def try_create_application_insights(cmd, resource_group, name, location): } } appinsights = app_insights_client.components.create_or_update(ai_resource_group_name, ai_name, ai_properties) - if appinsights is None or (appinsights.connection_string is None and appinsights.instrumentation_key is None): + if appinsights is None or appinsights.instrumentation_key is None: logger.warning(creation_failed_warn) return None @@ -1682,7 +1667,8 @@ def try_create_application_insights(cmd, resource_group, name, location): logger.warning('Application Insights \"%s\" was created for this Azure Spring Cloud. ' 'You can visit %s/#resource%s/overview to view your ' 'Application Insights component', appinsights.name, portal_url, appinsights.id) - return get_connection_string_or_instrumentation_key(appinsights) + + return appinsights.instrumentation_key def app_insights_update(cmd, client, resource_group, name, app_insights_key=None, app_insights=None, sampling_rate=None, disable=None, no_wait=False): @@ -1697,10 +1683,10 @@ def app_insights_update(cmd, client, resource_group, name, app_insights_key=None elif app_insights: if is_valid_resource_id(app_insights): resource_id_dict = parse_resource_id(app_insights) - instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_id_dict['resource_group'], - resource_id_dict['resource_name']) + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_id_dict['resource_group'], + resource_id_dict['resource_name']) else: - instrumentation_key = get_app_insights_credential(cmd.cli_ctx, resource_group, app_insights) + instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group, app_insights) else: instrumentation_key = trace_properties.app_insights_instrumentation_key if sampling_rate: diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.py deleted file mode 100644 index d45dde164aa..00000000000 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_ut.py +++ /dev/null @@ -1,43 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 azext_spring_cloud.custom import get_connection_string_or_instrumentation_key - -class SimplifiedApplicationInsightsCompoent: - def __init__(self): - self.connection_string = None - self.instrumentation_key = None - - -class AzureSpringCloudTestCase(unittest.TestCase): - def setUp(self): - self._connection_string = "InstrumentationKey=11111111-0000-0000-0000-000000000000;IngestionEndpoint=https://11111111.00.0000000000000000000.00000.000/" - self._instrumentation_key = "11111111-0000-0000-0000-000000000000" - - - def test_get_conenction_string_or_instrumentation_key_case_1_connection_string_exists(self): - appinsights = SimplifiedApplicationInsightsCompoent() - appinsights.connection_string = self._connection_string - appinsights.instrumentation_key = self._instrumentation_key - self.assertEqual(self._connection_string, get_connection_string_or_instrumentation_key(appinsights)) - - - def test_get_conenction_string_or_instrumentation_key_case_2_connection_string_not_exist(self): - appinsights = SimplifiedApplicationInsightsCompoent() - appinsights.connection_string = None - appinsights.instrumentation_key = self._instrumentation_key - self.assertEqual(self._instrumentation_key, get_connection_string_or_instrumentation_key(appinsights)) - - - def test_get_conenction_string_or_instrumentation_key_case_3_no_credential(self): - appinsights = SimplifiedApplicationInsightsCompoent() - appinsights.connection_string = None - appinsights.instrumentation_key = None - self.assertIsNone(get_connection_string_or_instrumentation_key(appinsights)) - - -if __name__ == '__main__': - unittest.main() diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index 937d3667156..f503c7a5a88 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 = '2.5.0' +VERSION = '2.5.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 3b7d3efd42b45dfea1b784a6be815e105f09c9cd Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 24 Jun 2021 17:47:16 +0800 Subject: [PATCH 16/85] [Release] Update index.json for extension [ spring-cloud ] (#3544) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=964297 Last commit: https://github.com/Azure/azure-cli-extensions/commit/9af4418a67d6ec24e56d780c0bf9d4202a811409 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 6a4ada25763..de19ecdce36 100644 --- a/src/index.json +++ b/src/index.json @@ -17050,6 +17050,49 @@ "version": "2.5.0" }, "sha256Digest": "2238877407cb3d4c0425350350abee4f82da5376d11fea979194c62f8b485f68" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.5.1-py3-none-any.whl", + "filename": "spring_cloud-2.5.1-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 :: 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/spring-cloud" + } + } + }, + "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": "2.5.1" + }, + "sha256Digest": "a0a28e6eea330f55f5dce630a4ddbbcc9f6f4d800a3e0fc3eeaf1bf2bb7db095" } ], "ssh": [ From 0cf03814c532fc15d76f25787e5624bb221373da Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Fri, 25 Jun 2021 14:09:06 +0800 Subject: [PATCH 17/85] {AKS} Update AKS PR check-in pipeline (#3537) * update * update pipeline * update pipeline * update pipeline * remove az_aks_tool folder * update .gitignore * * fix missing tool * update cli scripts * update create venv * update live test var check * fix unit test report path --- src/aks-preview/az_aks_tool/.gitignore | 1 - src/aks-preview/az_aks_tool/cli.py | 42 --- src/aks-preview/az_aks_tool/const.py | 17 - src/aks-preview/az_aks_tool/ext.py | 46 --- src/aks-preview/az_aks_tool/filter.py | 120 -------- src/aks-preview/az_aks_tool/index.py | 290 ------------------ src/aks-preview/az_aks_tool/log.py | 40 --- src/aks-preview/az_aks_tool/main.py | 151 --------- src/aks-preview/az_aks_tool/run.py | 199 ------------ src/aks-preview/az_aks_tool/tests/__init__.py | 0 src/aks-preview/az_aks_tool/tests/test_cli.py | 22 -- src/aks-preview/az_aks_tool/tests/test_ext.py | 22 -- .../az_aks_tool/tests/test_filter.py | 121 -------- .../az_aks_tool/tests/test_index.py | 34 -- src/aks-preview/az_aks_tool/tests/test_log.py | 34 -- .../az_aks_tool/tests/test_main.py | 21 -- src/aks-preview/az_aks_tool/tests/test_run.py | 33 -- .../az_aks_tool/tests/test_utils.py | 54 ---- .../az_aks_tool/tests/testdata.json | 18 -- src/aks-preview/az_aks_tool/utils.py | 92 ------ .../azcli_aks_live_test/.gitignore | 3 +- .../azcli_aks_live_test/HISTORY.md | 9 + .../azcli_aks_live_test/HISTORY.rst | 9 - src/aks-preview/azcli_aks_live_test/README.md | 10 +- .../configs/cli_matrix_default.json | 12 + .../{ => configs}/ext_matrix_default.json | 0 .../{ => scripts}/clean_up.sh | 0 .../{ => scripts}/clone_repo.sh | 17 +- .../{ => scripts}/prepare_image.sh | 4 - .../azcli_aks_live_test/scripts/setup_venv.sh | 157 ++++++++++ .../{ => scripts}/start_container.sh | 3 +- .../scripts/test_cli_live.sh | 67 ++++ .../scripts/test_cli_unit.sh | 40 +++ .../{ => scripts}/test_ext_live.sh | 37 +-- .../scripts/test_ext_unit.sh | 39 +++ .../scripts/test_raw_cases.sh | 7 + .../{ => scripts}/transcribe_env.sh | 8 +- .../azcli_aks_live_test/setup_venv.sh | 46 --- .../azcli_aks_live_test/test_cli_live.sh | 45 --- .../azcli_aks_live_test/test_cli_unit.sh | 23 -- .../azcli_aks_live_test/test_ext_unit.sh | 68 ---- .../vsts-azcli-aks-live-test.yaml | 25 +- .../vsts-azcli-aks-unit-test.yaml | 21 +- 43 files changed, 390 insertions(+), 1617 deletions(-) delete mode 100644 src/aks-preview/az_aks_tool/.gitignore delete mode 100644 src/aks-preview/az_aks_tool/cli.py delete mode 100644 src/aks-preview/az_aks_tool/const.py delete mode 100644 src/aks-preview/az_aks_tool/ext.py delete mode 100644 src/aks-preview/az_aks_tool/filter.py delete mode 100644 src/aks-preview/az_aks_tool/index.py delete mode 100644 src/aks-preview/az_aks_tool/log.py delete mode 100644 src/aks-preview/az_aks_tool/main.py delete mode 100644 src/aks-preview/az_aks_tool/run.py delete mode 100644 src/aks-preview/az_aks_tool/tests/__init__.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_cli.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_ext.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_filter.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_index.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_log.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_main.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_run.py delete mode 100644 src/aks-preview/az_aks_tool/tests/test_utils.py delete mode 100644 src/aks-preview/az_aks_tool/tests/testdata.json delete mode 100644 src/aks-preview/az_aks_tool/utils.py create mode 100644 src/aks-preview/azcli_aks_live_test/HISTORY.md delete mode 100644 src/aks-preview/azcli_aks_live_test/HISTORY.rst create mode 100644 src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json rename src/aks-preview/azcli_aks_live_test/{ => configs}/ext_matrix_default.json (100%) rename src/aks-preview/azcli_aks_live_test/{ => scripts}/clean_up.sh (100%) rename src/aks-preview/azcli_aks_live_test/{ => scripts}/clone_repo.sh (66%) rename src/aks-preview/azcli_aks_live_test/{ => scripts}/prepare_image.sh (96%) create mode 100755 src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh rename src/aks-preview/azcli_aks_live_test/{ => scripts}/start_container.sh (89%) create mode 100755 src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh create mode 100755 src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh rename src/aks-preview/azcli_aks_live_test/{ => scripts}/test_ext_live.sh (62%) create mode 100755 src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh create mode 100644 src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh rename src/aks-preview/azcli_aks_live_test/{ => scripts}/transcribe_env.sh (88%) delete mode 100755 src/aks-preview/azcli_aks_live_test/setup_venv.sh delete mode 100755 src/aks-preview/azcli_aks_live_test/test_cli_live.sh delete mode 100755 src/aks-preview/azcli_aks_live_test/test_cli_unit.sh delete mode 100755 src/aks-preview/azcli_aks_live_test/test_ext_unit.sh diff --git a/src/aks-preview/az_aks_tool/.gitignore b/src/aks-preview/az_aks_tool/.gitignore deleted file mode 100644 index bee8a64b79a..00000000000 --- a/src/aks-preview/az_aks_tool/.gitignore +++ /dev/null @@ -1 +0,0 @@ -__pycache__ diff --git a/src/aks-preview/az_aks_tool/cli.py b/src/aks-preview/az_aks_tool/cli.py deleted file mode 100644 index ed21d2ce0a2..00000000000 --- a/src/aks-preview/az_aks_tool/cli.py +++ /dev/null @@ -1,42 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import glob -import os -import logging - -import az_aks_tool.const as const -import az_aks_tool.index as index -logger = logging.getLogger(__name__) - - -def get_cli_mod_data(mod_name=const.ACS_MOD_NAME, profile="latest"): - profile_split = profile.split('-') - profile_namespace = '_'.join([profile_split[-1]] + profile_split[:-1]) - - # key value pairs of all modules(in azcli & extention) and its absolute path, used later to find test indexes - path_table = index.get_path_table() - command_modules = path_table["mod"] - inverse_name_table = index.get_name_index(invert=True) - - # construct 'import_name' & mod_data', used later to find test indexes - acs_mod_path = command_modules[mod_name] - mod_data = { - "alt_name": "{}{}".format(const.COMMAND_MODULE_PREFIX, mod_name), - "filepath": os.path.join(acs_mod_path, "tests", profile_namespace), - "base_path": "azure.cli.command_modules.{}.tests.{}".format(mod_name, profile_namespace), - "files": {} - } - - cli_test = index.discover_module_tests(mod_name, mod_data) - return cli_test - - -def get_cli_test_index(module_data=None, mod_name=const.ACS_MOD_NAME, profile="latest"): - if mod_name in module_data: - mod_data = module_data[mod_name] - else: - mod_data = get_cli_mod_data(mod_name=mod_name, profile=profile) - return mod_data["files"] diff --git a/src/aks-preview/az_aks_tool/const.py b/src/aks-preview/az_aks_tool/const.py deleted file mode 100644 index 8285bbb80c3..00000000000 --- a/src/aks-preview/az_aks_tool/const.py +++ /dev/null @@ -1,17 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import sys - -IS_WINDOWS = sys.platform.lower() in ['windows', 'win32'] - -CLI_REPO_NAME = "azure-cli" -EXT_REPO_NAME = 'azure-cli-extensions' -COMMAND_MODULE_PREFIX = 'azure-cli-' -EXTENSION_PREFIX = 'azext_' -ACS_MOD_NAME = "acs" -AKS_PREVIEW_MOD_NAME = EXTENSION_PREFIX + "aks_preview" # azext_aks_preview - -ENV_VAR_TEST_LIVE = 'AZURE_TEST_RUN_LIVE' # denotes that tests should be run live instead of played back diff --git a/src/aks-preview/az_aks_tool/ext.py b/src/aks-preview/az_aks_tool/ext.py deleted file mode 100644 index 8fa39c1e242..00000000000 --- a/src/aks-preview/az_aks_tool/ext.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. -# -------------------------------------------------------------------------------------------- - -import glob -import os -import logging - -import az_aks_tool.const as const -import az_aks_tool.index as index -logger = logging.getLogger(__name__) - - -def get_ext_mod_data(mod_name=const.AKS_PREVIEW_MOD_NAME, profile="latest"): - profile_split = profile.split('-') - profile_namespace = '_'.join([profile_split[-1]] + profile_split[:-1]) - - # key value pairs of all modules(in azcli & extention) and its absolute path, used later to find test indexes - path_table = index.get_path_table() - extensions = path_table["ext"] - inverse_name_table = index.get_name_index(invert=True) - - # construct 'import_name' & mod_data', used later to find test indexes - aks_preview_mod_path = extensions[mod_name] - glob_pattern = os.path.normcase( - os.path.join("{}*".format(const.EXTENSION_PREFIX))) - file_path = glob.glob(os.path.join(aks_preview_mod_path, glob_pattern))[0] - import_name = os.path.basename(file_path) - mod_data = { - "alt_name": inverse_name_table[mod_name], - "filepath": os.path.join(file_path, "tests", profile_namespace), - "base_path": "{}.tests.{}".format(import_name, profile_namespace), - "files": {} - } - - ext_test = index.discover_module_tests(import_name, mod_data) - return ext_test - - -def get_ext_test_index(module_data=None, mod_name=const.AKS_PREVIEW_MOD_NAME, profile="latest"): - if mod_name in module_data: - mod_data = module_data[mod_name] - else: - mod_data = get_ext_mod_data(mod_name=mod_name, profile=profile) - return mod_data["files"] diff --git a/src/aks-preview/az_aks_tool/filter.py b/src/aks-preview/az_aks_tool/filter.py deleted file mode 100644 index 718a34d4058..00000000000 --- a/src/aks-preview/az_aks_tool/filter.py +++ /dev/null @@ -1,120 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import logging -from collections import Iterable -logger = logging.getLogger(__name__) - - -def extract_file_class_pairs(tag_list): - pairs = [] - for k in tag_list: - tags = k.split(".") - if len(tags) == 2: - pairs.append((tags[0], tags[1])) - return pairs - - -def filter_valid_file_class_pairs(pairs, test_index): - valid_pairs = [] - for pair in pairs: - if pair[0] in test_index and pair[1] in test_index[pair[0]]: - valid_pairs.append(pair) - logger.debug("Valid file & class pair: '{}'".format(pair)) - else: - logger.debug("Invalid file & class pair: '{}'".format(pair)) - return valid_pairs - - -def get_all_values_from_nested_dict(d): - for v in d.values(): - if isinstance(v, dict): - yield from get_all_values_from_nested_dict(v) - else: - yield v - - -def flatten_nested_list(lis): - for item in lis: - if isinstance(item, Iterable) and not isinstance(item, str): - for x in flatten_nested_list(item): - yield x - else: - yield item - - -def filter_valid_test_cases(test_cases, test_index): - valid_test_cases = [] - nested_test_cases = list(get_all_values_from_nested_dict(test_index)) - falttened_test_cases = list(flatten_nested_list(nested_test_cases)) - for test_case in test_cases: - if test_case in falttened_test_cases: - valid_test_cases.append(test_case) - logger.debug("Valid test case: '{}'".format(test_case)) - else: - logger.debug("Invalid test case: '{}'".format(test_case)) - return valid_test_cases - - -def get_test_cases(test_index, matrix, extra_coverage=None): - test_cases = [] - coverage = matrix.get("coverage", {}) - # default coverage - for fileName, className in coverage.items(): - for c in className: - test_cases.extend(test_index[fileName][c]) - # custom extra coverage - if extra_coverage: - # method 1: fileName.className - file_class_pairs = extract_file_class_pairs(extra_coverage) - valid_file_class_pairs = filter_valid_file_class_pairs( - file_class_pairs, test_index) - for valid_pair in valid_file_class_pairs: - test_cases.extend( - test_index[valid_pair[0]][valid_pair[1]]) - # method 2: test cases - test_cases.extend(filter_valid_test_cases( - extra_coverage, test_index)) - return list(set(test_cases)) - - -def get_exclude_test_cases(test_index, matrix, extra_filter=None): - exclude_test_cases = [] - exclude = matrix.get("exclude", {}) - # default exclude - if not extra_filter or "default" in extra_filter: - matrix_test_cases = [] - matrix_file_class_pairs = [] - for k, v in exclude.items(): - # method 1: reason -> test cases - matrix_test_cases.extend(v) - # method 2: fileName -> className - matrix_file_class_pairs.extend((k, x) for x in v) - # method 1: reason -> test cases - exclude_test_cases.extend( - filter_valid_test_cases(matrix_test_cases, test_index)) - # method 2: fileName -> className - valid_matrix_file_class_pairs = filter_valid_file_class_pairs( - matrix_file_class_pairs, test_index) - for valid_matrix_pair in valid_matrix_file_class_pairs: - exclude_test_cases.extend( - test_index[valid_matrix_pair[0]][valid_matrix_pair[1]]) - # custom extra_filter - if extra_filter: - # method 1: matrix exclude key - for k, v in exclude.items(): - if k in extra_filter: - exclude_test_cases.extend(v) - # method 2: fileName.className - file_class_pairs = extract_file_class_pairs(extra_filter) - valid_file_class_pairs = filter_valid_file_class_pairs( - file_class_pairs, test_index) - for valid_pair in valid_file_class_pairs: - exclude_test_cases.extend( - test_index[valid_pair[0]][valid_pair[1]]) - # method 3: test cases - exclude_test_cases.extend( - filter_valid_test_cases(extra_filter, test_index)) - return list(set(exclude_test_cases)) diff --git a/src/aks-preview/az_aks_tool/index.py b/src/aks-preview/az_aks_tool/index.py deleted file mode 100644 index 11d7e405179..00000000000 --- a/src/aks-preview/az_aks_tool/index.py +++ /dev/null @@ -1,290 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import glob -import logging -import os -from importlib import import_module - -import az_aks_tool.utils as utils -import az_aks_tool.const as const -logger = logging.getLogger(__name__) - - -def get_repo_path(repo_name, root_path=None): - # find cache from environment variable - repo_path = os.environ.get("{}_PATH".format(repo_name), "") - if os.path.isdir(repo_path): - logger.info("Find cached '{}' repo path: '{}'".format(repo_name, repo_path)) - return repo_path - - # search from root_path - candidate_root_paths = [os.getcwd(), os.path.expanduser("~")] - valid_repo_paths = [] - repo_path = "" - if root_path is None or not os.path.isdir(root_path): - logger.warning("Invalid root path '{}'!".format(root_path)) - else: - candidate_root_paths = [root_path] + candidate_root_paths - logger.info("Setting root path from '{}'".format(candidate_root_paths)) - for candidate_root_path in candidate_root_paths: - root_path = candidate_root_path - logger.info("Searching from root path: '{}'".format(root_path)) - for path, _, _ in os.walk(root_path): - pattern = os.path.join(path, repo_name) - valid_repo_paths.extend(glob.glob(pattern)) - if len(valid_repo_paths) >= 1: - repo_path = valid_repo_paths[0] - if len(valid_repo_paths) >= 2: - logger.warning("Find {} '{}' repo paths: {}".format(len(valid_repo_paths), repo_name, valid_repo_paths)) - logger.info("Set '{}' repo path as '{}'".format(repo_name, repo_path)) - os.environ["{}_PATH".format(repo_name)] = str(repo_path) - return repo_path - else: - logger.warning("Could not find valid path to repo '{}' from '{}'".format(repo_name, root_path)) - return repo_path - -def find_files(root_paths, file_pattern): - """ Returns the paths to all files that match a given pattern. - - :returns: Paths ([str]) to files matching the given pattern. - """ - if isinstance(root_paths, str): - root_paths = [root_paths] - paths = [] - for root_path in root_paths: - for path, _, _ in os.walk(root_path): - pattern = os.path.join(path, file_pattern) - paths.extend(glob.glob(pattern)) - return paths - -def get_name_index(invert=False, include_whl_extensions=False): - """ Returns a dictionary containing the long and short names of modules and extensions is {SHORT:LONG} format or - {LONG:SHORT} format when invert=True. """ - from azure.cli.core.extension import EXTENSIONS_DIR # pylint: disable=import-error - - table = {} - cli_repo_path = get_repo_path(const.CLI_REPO_NAME) - ext_repo_paths = get_repo_path(const.EXT_REPO_NAME) - - # unified azure-cli package (2.0.68 and later) - paths = os.path.normcase( - os.path.join( - cli_repo_path, 'src', 'azure-cli', 'azure', 'cli', 'command_modules', '*', '__init__.py' - ) - ) - modules_paths = glob.glob(paths) - core_paths = glob.glob(os.path.normcase(os.path.join(cli_repo_path, 'src', '*', 'setup.py'))) - ext_paths = [x for x in find_files(ext_repo_paths, '*.*-info') if 'site-packages' not in x] - whl_ext_paths = [] - if include_whl_extensions: - whl_ext_paths = [x for x in find_files(EXTENSIONS_DIR, '*.*-info') if 'site-packages' not in x] - - def _update_table(paths, key): - folder = None - long_name = None - short_name = None - for path in paths: - folder = os.path.dirname(path) - base_name = os.path.basename(folder) - # determine long-names - if key == 'ext': - short_name = base_name - for item in os.listdir(folder): - if item.startswith(const.EXTENSION_PREFIX): - long_name = item - break - elif base_name.startswith(const.COMMAND_MODULE_PREFIX): - long_name = base_name - short_name = base_name.replace(const.COMMAND_MODULE_PREFIX, '') or '__main__' - else: - short_name = base_name - long_name = '{}{}'.format(const.COMMAND_MODULE_PREFIX, base_name) - if not invert: - table[short_name] = long_name - else: - table[long_name] = short_name - - _update_table(modules_paths, 'mod') - _update_table(core_paths, 'core') - _update_table(ext_paths, 'ext') - _update_table(whl_ext_paths, 'ext') - - return table - -# pylint: disable=too-many-statements -def get_path_table(include_only=None, include_whl_extensions=False): - """ Returns a table containing the long and short names of different modules and extensions and the path to them. - The structure looks like: - { - 'core': { - NAME: PATH, - ... - }, - 'mod': { - NAME: PATH, - ... - }, - 'ext': { - NAME: PATH, - ... - } - } - """ - from azure.cli.core.extension import EXTENSIONS_DIR # pylint: disable=import-error - - # determine whether the call will filter or return all - if isinstance(include_only, str): - include_only = [include_only] - get_all = not include_only - - table = {} - cli_repo_path = get_repo_path(const.CLI_REPO_NAME) - ext_repo_paths = get_repo_path(const.EXT_REPO_NAME) - - paths = os.path.normcase( - os.path.join( - cli_repo_path, 'src', 'azure-cli', 'azure', 'cli', 'command_modules', '*', '__init__.py' - ) - ) - modules_paths = glob.glob(paths) - core_paths = glob.glob(os.path.normcase(os.path.join(cli_repo_path, 'src', '*', 'setup.py'))) - ext_paths = [x for x in find_files(ext_repo_paths, '*.*-info') if 'site-packages' not in x] - whl_ext_paths = [x for x in find_files(EXTENSIONS_DIR, '*.*-info') if 'site-packages' not in x] - - def _update_table(package_paths, key): - if key not in table: - table[key] = {} - - for path in package_paths: - folder = os.path.dirname(path) - base_name = os.path.basename(folder) - - if key == 'ext': - short_name = base_name - long_name = next((item for item in os.listdir(folder) if item.startswith(const.EXTENSION_PREFIX)), None) - else: - short_name = base_name - long_name = '{}{}'.format(const.COMMAND_MODULE_PREFIX, base_name) - - if get_all: - table[key][long_name if key == 'ext' else short_name] = folder - elif not include_only: - return # nothing left to filter - else: - # check and update filter - if short_name in include_only: - include_only.remove(short_name) - table[key][short_name] = folder - if long_name in include_only: - # long name takes precedence to ensure path doesn't appear twice - include_only.remove(long_name) - table[key].pop(short_name, None) - table[key][long_name] = folder - - _update_table(modules_paths, 'mod') - _update_table(core_paths, 'core') - _update_table(ext_paths, 'ext') - if include_whl_extensions: - _update_table(whl_ext_paths, 'ext') - - if include_only: - whl_extensions = [mod for whl_ext_path in whl_ext_paths for mod in include_only if mod in whl_ext_path] - if whl_extensions: - err = 'extension(s): [ {} ] installed from a wheel may need --include-whl-extensions option'.format( - ', '.join(whl_extensions)) - raise Exception(err) - - raise Exception('unrecognized modules: [ {} ]'.format(', '.join(include_only))) - - return table - -def discover_module_tests(mod_name, mod_data): - - # get the list of test files in each module - total_tests = 0 - total_files = 0 - logger.info('Mod: %s', mod_name) - try: - contents = os.listdir(mod_data['filepath']) - test_files = { - x[:-len('.py')]: {} for x in contents if x.startswith('test_') and x.endswith('.py') - } - total_files = len(test_files) - except FileNotFoundError: - logger.info(' No test files found.') - return None - - for file_name in test_files: - mod_data['files'][file_name] = {} - test_file_path = mod_data['base_path'] + '.' + file_name - try: - module = import_module(test_file_path) - except ImportError as ex: - logger.info(' %s', ex) - continue - module_dict = module.__dict__ - possible_test_classes = {x: y for x, y in module_dict.items() if not x.startswith('_')} - for class_name, class_def in possible_test_classes.items(): - try: - class_dict = class_def.__dict__ - except AttributeError: - # skip non-class symbols in files like constants, imported methods, etc. - continue - if class_dict.get('__module__') == test_file_path: - tests = [x for x in class_def.__dict__ if x.startswith('test_')] - if tests: - mod_data['files'][file_name][class_name] = tests - total_tests += len(tests) - logger.info(' %s tests found in %s files.', total_tests, total_files) - return mod_data - - -def build_test_index(module_data): - test_index = {} - conflicted_keys = [] - - def add_to_index(key, path): - key = key or mod_name - if key in test_index: - if key not in conflicted_keys: - conflicted_keys.append(key) - mod1 = utils.extract_module_name(path) - mod2 = utils.extract_module_name(test_index[key]) - if mod1 != mod2: - # resolve conflicted keys by prefixing with the module name and a dot (.) - logger.warning("'%s' exists in both '%s' and '%s'. Resolve using `%s.%s` or `%s.%s`", - key, mod1, mod2, mod1, key, mod2, key) - test_index['{}.{}'.format(mod1, key)] = path - test_index['{}.{}'.format(mod2, key)] = test_index[key] - else: - logger.error("'%s' exists twice in the '%s' module", key, mod1) - else: - test_index[key] = path - - # build the index - for mod_name, mod_data in module_data.items(): - # don't add empty mods to the index - if not mod_data: - continue - - mod_path = mod_data['filepath'] - for file_name, file_data in mod_data['files'].items(): - file_path = os.path.join(mod_path, file_name) + '.py' - for class_name, test_list in file_data.items(): - for test_name in test_list: - test_path = '{}::{}::{}'.format(file_path, class_name, test_name) - add_to_index(test_name, test_path) - class_path = '{}::{}'.format(file_path, class_name) - add_to_index(class_name, class_path) - add_to_index(file_name, file_path) - add_to_index(mod_name, mod_path) - add_to_index(mod_data['alt_name'], mod_path) - - # remove the conflicted keys since they would arbitrarily point to a random implementation - for key in conflicted_keys: - del test_index[key] - - return test_index diff --git a/src/aks-preview/az_aks_tool/log.py b/src/aks-preview/az_aks_tool/log.py deleted file mode 100644 index a5d27925983..00000000000 --- a/src/aks-preview/az_aks_tool/log.py +++ /dev/null @@ -1,40 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import logging -import sys - - -def parse_module_name(levels=1): - module_name = None - module_levels = __name__.split(".") - if len(module_levels) < levels: - print("Failed to parse {}-level module name from '{}'".format(levels, __name__)) - else: - module_name = ".".join(module_levels[:levels]) - return module_name - - -def setup_logging(root_logger_name=None, log_path="az_aks_tool.log"): - if root_logger_name == "" or root_logger_name.isspace(): - root_logger_name = parse_module_name() - logger = logging.getLogger(root_logger_name) - logger.setLevel(level=logging.DEBUG) - - # Formatter - formatter = logging.Formatter( - '%(asctime)s - %(name)s - %(levelname)s - %(message)s') - - # FileHandler - file_handler = logging.FileHandler(filename=log_path, mode="w") - file_handler.setFormatter(formatter) - file_handler.setLevel(level=logging.DEBUG) - logger.addHandler(file_handler) - - # StreamHandler - stream_handler = logging.StreamHandler(sys.stdout) - stream_handler.setFormatter(formatter) - stream_handler.setLevel(level=logging.INFO) - logger.addHandler(stream_handler) diff --git a/src/aks-preview/az_aks_tool/main.py b/src/aks-preview/az_aks_tool/main.py deleted file mode 100644 index 57b8f77bd75..00000000000 --- a/src/aks-preview/az_aks_tool/main.py +++ /dev/null @@ -1,151 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 sys -import logging - -import az_aks_tool.const as const -import az_aks_tool.log as log -import az_aks_tool.utils as utils -import az_aks_tool.cli as cli -import az_aks_tool.ext as ext -import az_aks_tool.index as index -import az_aks_tool.run as run - - -def init_argparse(args): - parser = argparse.ArgumentParser() - parser.add_argument("-c", "--cli", action="store_true", default=False, - help="enbale cli test") - parser.add_argument("-e", "--ext", action="store_true", default=False, - help="enbale ext test") - parser.add_argument("-a", "--all", action="store_true", default=False, - help="enbale all tests (cli & ext)") - parser.add_argument("-t", "--tests", nargs='+', help="test case names") - parser.add_argument("-cm", "--cli-matrix", type=str, - help="full path to cli test matrix") - parser.add_argument("-cc", "--cli-coverage", nargs="+", - help="cli test extra coverage") - parser.add_argument("-cf", "--cli-filter", nargs="+", - help="cli test filter") - parser.add_argument("-em", "--ext-matrix", type=str, - help="full path to extension test matrix") - parser.add_argument("-ec", "--ext-coverage", nargs="+", - help="extension test extra coverage") - parser.add_argument("-ef", "--ext-filter", nargs="+", - help="extension test filter") - parser.add_argument("-s", "--series", action="store_true", - default=False, help="series test") - parser.add_argument("-l", "--live", action="store_true", - default=False, help="live test") - parser.add_argument("-ne", "--no-exitfirst", action="store_true", - default=False, help="no exit first") - parser.add_argument("-j", "--parallelism", type=str, - default="8", help="test parallelism") - parser.add_argument("--reruns", type=str, - default="3", help="rerun times") - parser.add_argument("--capture", type=str, - default="sys", help="test capture") - parser.add_argument("-p", "--report-path", type=str, - required=True, help="report path") - parser.add_argument("-f", "--json-report-file", type=str, - default="azcli_aks_runner_report.json", help="json report filename") - parser.add_argument("--xml-file", type=str, - default="azcli_aks_runner.xml", help="junit/xml report filename") - parser.add_argument("--log-file", type=str, - default="az_aks_tool.log", help="log filename") - args = parser.parse_args(args) - return args - - -def main(): - # parse args - print("raw args: {}".format(sys.argv)) - args = init_argparse(sys.argv[1:]) - - # check directory - utils.create_directory(args.report_path) - - # setup logger - root_module_name = log.parse_module_name(levels=1) - log.setup_logging(root_module_name, os.path.join( - args.report_path, args.log_file)) - logger = logging.getLogger("{}.{}".format(root_module_name, __name__)) - - # # check test cases - test_cases = args.tests - ext_matrix_file_path = args.ext_matrix - cli_matrix_file_path = args.cli_matrix - - # prepare pytest args - pytest_args = [] - if not args.series and args.parallelism: - pytest_args.append("-n {}".format(args.parallelism)) - pytest_args.append("--json-report") - pytest_args.append("--reruns {}".format(args.reruns)) - pytest_args.append("--capture {}".format(args.capture)) - pytest_args = [" ".join(pytest_args)] - logger.info("pytest_args: {}".format(pytest_args)) - - # check mode & collect module data - enable_cli = False - enable_ext = False - module_data = {} - if args.cli or args.all: - enable_cli = True - module_data[const.ACS_MOD_NAME] = cli.get_cli_mod_data() - cli_test_index = cli.get_cli_test_index(module_data) - - if args.ext or args.all: - enable_ext = True - module_data[const.AKS_PREVIEW_MOD_NAME] = ext.get_ext_mod_data() - ext_test_index = ext.get_ext_test_index(module_data) - - # build test index - if enable_cli or enable_ext: - logger.info("Building test index...") - test_index = index.build_test_index(module_data) - else: - logger.error( - "Both modes 'cli' and 'ext' are not enabled! No test will be performed!") - logger.error( - "Please provide at least one of the following parameters (-a, -c, -e) to enable the test!") - - # cli matrix test - if enable_cli: - cli_qualified_test_cases = utils.get_fully_qualified_test_cases( - cli_test_index, cli_matrix_file_path, const.ACS_MOD_NAME, args.cli_coverage, args.cli_filter) - logger.info("Perform following cli tests: {}".format( - cli_qualified_test_cases)) - exit_code = run.run_tests(cli_qualified_test_cases, test_index, mode="cli", base_path=args.report_path, xml_file=args.xml_file, json_file=args.json_report_file, in_series=args.series, - run_live=args.live, no_exit_first=args.no_exitfirst, pytest_args=pytest_args) - if exit_code != 0: - sys.exit("CLI test failed with exit code: {}".format(exit_code)) - - # ext matrix test - if enable_ext: - ext_qualified_test_cases = utils.get_fully_qualified_test_cases( - ext_test_index, ext_matrix_file_path, const.AKS_PREVIEW_MOD_NAME, args.ext_coverage, args.ext_filter) - logger.info("Perform following ext tests: {}".format( - ext_qualified_test_cases)) - exit_code = run.run_tests(ext_qualified_test_cases, test_index, mode="ext", base_path=args.report_path, xml_file=args.xml_file, json_file=args.json_report_file, in_series=args.series, - run_live=args.live, no_exit_first=args.no_exitfirst, pytest_args=pytest_args) - if exit_code != 0: - sys.exit("EXT test failed with exit code: {}".format(exit_code)) - - # raw tests - if test_cases: - logger.info("Get {} cases!".format(len(test_cases))) - logger.info("Perform following raw tets: {}".format(test_cases)) - exit_code = run.run_tests(test_cases, test_index, mode="raw", base_path=args.report_path, xml_file=args.xml_file, json_file=args.json_report_file, in_series=args.series, - run_live=args.live, no_exit_first=args.no_exitfirst, pytest_args=pytest_args) - if exit_code != 0: - sys.exit("Raw test failed with exit code: {}".format(exit_code)) - - -if __name__ == "__main__": - main() diff --git a/src/aks-preview/az_aks_tool/run.py b/src/aks-preview/az_aks_tool/run.py deleted file mode 100644 index 13c2f2ae426..00000000000 --- a/src/aks-preview/az_aks_tool/run.py +++ /dev/null @@ -1,199 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import logging -import os -import subprocess -import sys -import traceback -from knack.util import CommandResultItem - -from az_aks_tool.const import IS_WINDOWS, ENV_VAR_TEST_LIVE -from az_aks_tool.utils import heading -logger = logging.getLogger(__name__) - - -class ProfileContext: - def __init__(self, profile_name=None): - self.target_profile = profile_name - - self.origin_profile = current_profile() - - def __enter__(self): - if self.target_profile is None or self.target_profile == self.origin_profile: - logger.info('The tests are set to run against current profile "{}"'.format( - self.origin_profile)) - else: - result = cmd('az cloud update --profile {}'.format(self.target_profile), - 'Switching to target profile "{}"...'.format(self.target_profile)) - if result.exit_code != 0: - raise Exception(result.error.output.decode('utf-8')) - - def __exit__(self, exc_type, exc_val, exc_tb): - if self.target_profile is not None and self.target_profile != self.origin_profile: - logger.info('Switching back to origin profile "{}"...'.format( - self.origin_profile)) - call('az cloud update --profile {}'.format(self.origin_profile)) - - if exc_tb: - traceback.print_exception(exc_type, exc_val, exc_tb) - - -def current_profile(): - return cmd('az cloud show --query profile -otsv', show_stderr=False).result - - -class CommandError(Exception): - - def __init__(self, output, exit_code, command): - message = "Command `{}` failed with exit code {}:\n{}".format( - command, exit_code, output) - self.exit_code = exit_code - self.output = output - self.command = command - super().__init__(message) - - -def call(command, **kwargs): - """ Run an arbitrary command but don't buffer the output. - - :param command: The entire command line to run. - :param kwargs: Any kwargs supported by subprocess.Popen - :returns: (int) process exit code. - """ - return subprocess.call( - command, - shell=True, - **kwargs) - - -def cmd(command, message=False, show_stderr=True, raise_error=False, **kwargs): - """ Run an arbitrary command. - - :param command: The entire command line to run. - :param message: A custom message to display, or True (bool) to use a default. - :param show_stderr: On error, display the contents of STDERR. - :param raise_error: On error, raise CommandError. - :param kwargs: Any kwargs supported by subprocess.Popen - :returns: CommandResultItem object. - """ - - # use default message if custom not provided - if message is True: - message = 'Running: {}\n'.format(command) - - if message: - logger.info(message) - - logger.info("Running: %s", command) - try: - output = subprocess.check_output( - command.split(), - stderr=subprocess.STDOUT if show_stderr else None, - shell=IS_WINDOWS, - **kwargs).decode('utf-8').strip() - logger.debug(output) - return CommandResultItem(output, exit_code=0, error=None) - except subprocess.CalledProcessError as err: - if raise_error: - raise CommandError(err.output.decode(), err.returncode, command) - return CommandResultItem(err.output, exit_code=err.returncode, error=err) - - -def get_test_runner(parallel, log_path, last_failed, no_exit_first, mark): - """Create a pytest execution method""" - def _run(test_paths, pytest_args): - - if os.name == 'posix': - arguments = ['-x', '-v', '--boxed', '-p no:warnings', - '--log-level=WARN', '--junit-xml', log_path] - else: - arguments = ['-x', '-v', '-p no:warnings', - '--log-level=WARN', '--junit-xml', log_path] - - if no_exit_first: - arguments.remove('-x') - - if mark: - arguments.append('-m "{}"'.format(mark)) - - arguments.extend(test_paths) - if parallel: - arguments += ['-n', 'auto'] - if last_failed: - arguments.append('--lf') - if pytest_args: - arguments += pytest_args - cmd = 'python -m pytest {}'.format(' '.join(arguments)) - logger.info('Running: %s', cmd) - return call(cmd) - - return _run - - -def run_tests(tests, test_index, mode, base_path, xml_file, json_file, in_series=False, - run_live=False, profile=None, last_failed=False, no_exit_first=False, mark=None, pytest_args=None): - - heading('Run Tests') - - # process file path - if not xml_file.startswith(mode): - xml_file = "{}_{}".format(mode, xml_file) - if not json_file.startswith(mode): - json_file = "{}_{}".format(mode, json_file) - xml_path = os.path.realpath(os.path.join(base_path, xml_file)) - json_path = os.path.realpath(os.path.join(base_path, json_file)) - pytest_args.append("--json-report-file {}".format(json_path)) - logger.info("junit/xml report file full path: {}".format(xml_path)) - logger.info("json report file full path: {}".format(json_path)) - - # process environment variables - if run_live: - logger.warning('RUNNING TESTS LIVE') - os.environ[ENV_VAR_TEST_LIVE] = 'True' - - def _find_test(index, name): - name_comps = name.split('.') - num_comps = len(name_comps) - key_error = KeyError() - - for i in range(num_comps): - check_name = '.'.join(name_comps[(-1 - i):]) - try: - match = index[check_name] - if check_name != name: - logger.info( - "Test found using just '%s'. The rest of the name was ignored.", check_name) - return match - except KeyError as ex: - key_error = ex - continue - raise key_error - - # lookup test paths from index - test_paths = [] - for t in tests: - try: - test_path = os.path.normpath(_find_test(test_index, t)) - test_paths.append(test_path) - except KeyError: - logger.warning("'%s' not found.", t) - continue - - # Tests have been collected. Now run them. - exit_code = 0 - if not test_paths: - logger.warning('No tests selected to run.') - return exit_code - - with ProfileContext(profile): - runner = get_test_runner(parallel=not in_series, - log_path=xml_path, - last_failed=last_failed, - no_exit_first=no_exit_first, - mark=mark) - exit_code = runner(test_paths=test_paths, pytest_args=pytest_args) - - return 0 if not exit_code else 1 diff --git a/src/aks-preview/az_aks_tool/tests/__init__.py b/src/aks-preview/az_aks_tool/tests/__init__.py deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/src/aks-preview/az_aks_tool/tests/test_cli.py b/src/aks-preview/az_aks_tool/tests/test_cli.py deleted file mode 100644 index 5b9000b7af6..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_cli.py +++ /dev/null @@ -1,22 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 az_aks_tool.utils as utils -import az_aks_tool.cli as cli - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - -class CliTestCase(unittest.TestCase): - - def test_get_cli_mod_data(self): - pass - - def test_get_cli_test_index(self): - pass diff --git a/src/aks-preview/az_aks_tool/tests/test_ext.py b/src/aks-preview/az_aks_tool/tests/test_ext.py deleted file mode 100644 index ec194f16641..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_ext.py +++ /dev/null @@ -1,22 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 az_aks_tool.utils as utils -import az_aks_tool.ext as ext - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - -class ExtTestCase(unittest.TestCase): - - def test_get_ext_mod_data(self): - pass - - def test_get_ext_test_index(self): - pass diff --git a/src/aks-preview/az_aks_tool/tests/test_filter.py b/src/aks-preview/az_aks_tool/tests/test_filter.py deleted file mode 100644 index d9da9e6a624..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_filter.py +++ /dev/null @@ -1,121 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 az_aks_tool.utils as utils -import az_aks_tool.filter as custom_filter - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - - -class FilterTestCase(unittest.TestCase): - - def test_extract_file_class_pairs(self): - test_cases = ["abc", "a.b", "a.b.c"] - s = custom_filter.extract_file_class_pairs(test_cases) - self.assertEqual(s, [("a", "b")]) - - def test_filter_valid_file_class_pairs(self): - pairs = [("a", "b"), ("c", "d"), ("e", "f")] - test_index = { - "a": { - "b": ["aaa", "bbb"] - }, - "x": { - "y": ["xxx", "yyy"] - } - } - s = custom_filter.filter_valid_file_class_pairs(pairs, test_index) - self.assertEqual(s, [("a", "b")]) - - def test_get_all_values_from_nested_dict(self): - d = { - "a": { - "b": ["aaa", "bbb"] - }, - "x": ["xxx"] - } - s = list(custom_filter.get_all_values_from_nested_dict(d)) - self.assertEqual(s, [["aaa", "bbb"], ["xxx"]]) - - def test_flatten_nested_list(self): - lis = [["aaa", "bbb"], ["xxx"]] - s = list(custom_filter.flatten_nested_list(lis)) - self.assertEqual(s, ["aaa", "bbb", "xxx"]) - - def test_filter_valid_test_cases(self): - test_cases = ["abc", "a.b", "a.b.c", "aaa", "yyy"] - test_index = { - "a": { - "b": ["aaa", "bbb"] - }, - "x": { - "y": ["xxx", "yyy"] - } - } - s = custom_filter.filter_valid_test_cases(test_cases, test_index) - self.assertEqual(s, ["aaa", "yyy"]) - - def test_get_test_cases(self): - test_index = { - "test_validators": { - "TestValidateIPRanges": ["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", "test_disable_authorized_ip_ranges", "test_local_ip_address", "test_invalid_ip", "test_IPv6"], - "TestClusterAutoscalerParamsValidators": ["test_empty_key_empty_value", "test_non_empty_key_empty_value", "test_two_empty_keys_empty_value", "test_one_empty_key_in_pair_one_non_empty", "test_invalid_key", "test_valid_parameters"], - "TestSubnetId": ["test_invalid_subnet_id", "test_valid_vnet_subnet_id", "test_none_vnet_subnet_id", "test_empty_vnet_subnet_id"] - } - } - matrix = utils.get_test_matrix( - os.path.join(THIS_DIR, "testdata.json")) - base = test_index["test_validators"] - s1 = sorted(custom_filter.get_test_cases(test_index, matrix, [])) - t1 = sorted((base["TestValidateIPRanges"] + - base["TestClusterAutoscalerParamsValidators"])) - s2 = sorted(custom_filter.get_test_cases(test_index, matrix, [ - "test_valid_vnet_subnet_id", "abc"])) - t2 = sorted((base["TestValidateIPRanges"] + base["TestClusterAutoscalerParamsValidators"] + - ["test_valid_vnet_subnet_id"])) - s3 = sorted(custom_filter.get_test_cases(test_index, matrix, [ - "test_validators.TestSubnetId"])) - t3 = sorted((base["TestValidateIPRanges"] + - base["TestClusterAutoscalerParamsValidators"] + base["TestSubnetId"])) - self.assertEqual(s1, t1) - self.assertEqual(s2, t2) - self.assertEqual(s3, t3) - - def test_get_exclude_test_cases(self): - test_index = { - "test_validators": { - "TestValidateIPRanges": ["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", "test_disable_authorized_ip_ranges", "test_local_ip_address", "test_invalid_ip", "test_IPv6"], - "TestClusterAutoscalerParamsValidators": ["test_empty_key_empty_value", "test_non_empty_key_empty_value", "test_two_empty_keys_empty_value", "test_one_empty_key_in_pair_one_non_empty", "test_invalid_key", "test_valid_parameters"], - "TestSubnetId": ["test_invalid_subnet_id", "test_valid_vnet_subnet_id", "test_none_vnet_subnet_id", "test_empty_vnet_subnet_id"] - } - } - matrix = utils.get_test_matrix( - os.path.join(THIS_DIR, "testdata.json")) - base = test_index["test_validators"] - s1 = sorted(custom_filter.get_exclude_test_cases( - test_index, matrix, [])) - t1 = sorted(["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", - "test_disable_authorized_ip_ranges"] + base["TestClusterAutoscalerParamsValidators"]) - s2 = sorted(custom_filter.get_exclude_test_cases(test_index, - matrix, ["iprange"])) - t2 = sorted(["test_simultaneous_allow_and_disallow_with_spaces", - "test_simultaneous_enable_and_disable_with_spaces", "test_disable_authorized_ip_ranges"]) - s3 = sorted(custom_filter.get_exclude_test_cases(test_index, - matrix, ["default", "test_invalid_subnet_id"])) - t3 = sorted(["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", - "test_disable_authorized_ip_ranges"] + base["TestClusterAutoscalerParamsValidators"] + ["test_invalid_subnet_id"]) - s4 = sorted(custom_filter.get_exclude_test_cases(test_index, matrix, [ - "test_valid_vnet_subnet_id", "abc", "test_validators.TestClusterAutoscalerParamsValidators"])) - t4 = sorted( - (base["TestClusterAutoscalerParamsValidators"] + ["test_valid_vnet_subnet_id"])) - self.assertEqual(s1, t1) - self.assertEqual(s2, t2) - self.assertEqual(s3, t3) - self.assertEqual(s4, t4) diff --git a/src/aks-preview/az_aks_tool/tests/test_index.py b/src/aks-preview/az_aks_tool/tests/test_index.py deleted file mode 100644 index 68b5816db2f..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_index.py +++ /dev/null @@ -1,34 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 az_aks_tool.utils as utils -import az_aks_tool.index as index - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - -class IndexTestCase(unittest.TestCase): - - def test_get_repo_path(self): - pass - - def test_find_files(self): - pass - - def test_get_name_index(self): - pass - - def test_get_path_table(self): - pass - - def test_discover_module_tests(self): - pass - - def build_test_index(self): - pass diff --git a/src/aks-preview/az_aks_tool/tests/test_log.py b/src/aks-preview/az_aks_tool/tests/test_log.py deleted file mode 100644 index 4caafc341ba..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_log.py +++ /dev/null @@ -1,34 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import logging -import os -import unittest - -import az_aks_tool.log as log - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - - -class LogTestCase(unittest.TestCase): - - def test_parse_module_name(self): - root_module_name = log.parse_module_name(levels=1) - error_module_name = log.parse_module_name(levels=5) - self.assertEqual(root_module_name, "az_aks_tool") - self.assertEqual(error_module_name, None) - - def test_setup_logging(self): - log.setup_logging("unittest", "unittest_log.log") - logger = logging.getLogger("unittest.test_setup_logging") - logger.debug("test setup logging") - logger.info("test setup logging") - logger.warning("test setup logging") - f = open("unittest_log.log", "r") - raw_logs = f.readlines() - f.close() - self.assertEqual(len(raw_logs), 3) diff --git a/src/aks-preview/az_aks_tool/tests/test_main.py b/src/aks-preview/az_aks_tool/tests/test_main.py deleted file mode 100644 index 36f4becd0f4..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_main.py +++ /dev/null @@ -1,21 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import logging -import os -import unittest - -import az_aks_tool.main as main - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - - -class MainTestCase(unittest.TestCase): - - def test_init_argparse(self): - args = main.init_argparse(["-p", "./"]) - self.assertEqual(args.report_path, "./") diff --git a/src/aks-preview/az_aks_tool/tests/test_run.py b/src/aks-preview/az_aks_tool/tests/test_run.py deleted file mode 100644 index d69375d491d..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_run.py +++ /dev/null @@ -1,33 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 az_aks_tool.utils as utils -import az_aks_tool.cli as cli - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - -class RunTestCase(unittest.TestCase): - - def test_current_profile(self): - pass - - def test_call(self): - pass - - def test_cmd(self): - pass - - def test_get_test_runner(self): - pass - - def run_tests(self): - pass - - diff --git a/src/aks-preview/az_aks_tool/tests/test_utils.py b/src/aks-preview/az_aks_tool/tests/test_utils.py deleted file mode 100644 index 6bef0b49a0f..00000000000 --- a/src/aks-preview/az_aks_tool/tests/test_utils.py +++ /dev/null @@ -1,54 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 az_aks_tool.utils as utils - -THIS_FILE = os.path.abspath(__file__) -THIS_DIR = os.path.dirname(THIS_FILE) -PARENT_DIR = os.path.dirname(THIS_DIR) - - -class UtilsTestCase(unittest.TestCase): - - def test_check_file_existence(self): - s1 = utils.check_file_existence(None) - s2 = utils.check_file_existence(THIS_DIR) - s3 = utils.check_file_existence(THIS_FILE) - s4 = utils.check_file_existence( - os.path.join(THIS_DIR, "testdata.json")) - self.assertEqual(s1, False) - self.assertEqual(s2, False) - self.assertEqual(s3, True) - self.assertEqual(s4, True) - - def test_get_test_matrix(self): - s = utils.get_test_matrix(os.path.join(THIS_DIR, "testdata.json")) - self.assertEqual(len(s), 2) # number of keys - - def test_get_filted_test_cases(self): - test_cases = ["a", "b", "c", "d"] - s1 = utils.get_filted_test_cases(test_cases, []) - t1 = ["a", "b", "c", "d"] - s2 = utils.get_filted_test_cases(test_cases, ["a", "x"]) - t2 = ["b", "c", "d"] - self.assertEqual(s1, t1) - self.assertEqual(s2, t2) - - def test_add_qualified_prefix(self): - test_cases = ["a", "b", "c"] - s = utils.add_qualified_prefix(test_cases, "p") - self.assertEqual(s, ["p.a", "p.b", "p.c"]) - - def test_get_fully_qualified_test_cases(self): - pass - - def test_heading(self): - pass - - def test_extract_module_name(self): - pass diff --git a/src/aks-preview/az_aks_tool/tests/testdata.json b/src/aks-preview/az_aks_tool/tests/testdata.json deleted file mode 100644 index 221e6291e3e..00000000000 --- a/src/aks-preview/az_aks_tool/tests/testdata.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "coverage": { - "test_validators": [ - "TestValidateIPRanges", - "TestClusterAutoscalerParamsValidators" - ] - }, - "exclude": { - "iprange": [ - "test_simultaneous_allow_and_disallow_with_spaces", - "test_simultaneous_enable_and_disable_with_spaces", - "test_disable_authorized_ip_ranges" - ], - "test_validators": [ - "TestClusterAutoscalerParamsValidators" - ] - } -} \ No newline at end of file diff --git a/src/aks-preview/az_aks_tool/utils.py b/src/aks-preview/az_aks_tool/utils.py deleted file mode 100644 index 6607d026a1b..00000000000 --- a/src/aks-preview/az_aks_tool/utils.py +++ /dev/null @@ -1,92 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import json -import os -import sys -import re -import logging -import pathlib - -import az_aks_tool.filter as custom_filter -logger = logging.getLogger(__name__) - - -def create_directory(dir_path): - if dir_path: - if not os.path.isdir(dir_path): - print("Directory '{}' not exist, creating...".format(dir_path)) - pathlib.Path(dir_path).mkdir(parents=True, exist_ok=True) - else: - print("Invalid dir path: '{}'".format(dir_path)) - - -def check_file_existence(file_path): - if file_path is not None and os.path.isfile(file_path): - return True - return False - - -def get_test_matrix(matrix_file_path): - test_matrix = {} - if check_file_existence(matrix_file_path): - json_file = open(matrix_file_path, 'r') - test_matrix = json.load(json_file) - json_file.close() - else: - logger.warning("Matrix file '{}' not exists!".format(matrix_file_path)) - return test_matrix - - -def get_filted_test_cases(test_cases, exclude_test_cases): - filtered_test_cases = [ - x for x in test_cases if x not in exclude_test_cases] - logger.info("Find {} cases, exclude {} cases, finally get {} cases!".format( - len(test_cases), len(exclude_test_cases), len(filtered_test_cases))) - return filtered_test_cases - - -def add_qualified_prefix(test_cases, prefix): - decorated_test_cases = ["{}.{}".format(prefix, x) for x in test_cases] - return decorated_test_cases - - -def get_fully_qualified_test_cases(test_index, matrix_file_path, mod_name, extra_coverage=None, extra_filter=None): - qualified_test_cases = [] - matrix = get_test_matrix(matrix_file_path) - test_cases = custom_filter.get_test_cases( - test_index, matrix, extra_coverage) - exclude_test_cases = custom_filter.get_exclude_test_cases(test_index, - matrix, extra_filter) - filtered_test_cases = get_filted_test_cases( - test_cases, exclude_test_cases) - # add prefix - qualified_test_cases = add_qualified_prefix( - filtered_test_cases, mod_name) - return qualified_test_cases - - -def heading(txt): - """ Create standard heading to stderr """ - line_len = len(txt) + 4 - print('\n' + '=' * line_len, file=sys.stderr) - print('| {} |'.format(txt), file=sys.stderr) - print('=' * line_len + '\n', file=sys.stderr) - - -def extract_module_name(path): - _CORE_NAME_REGEX = re.compile( - r'azure-cli-(?P[^/\\]+)[/\\]azure[/\\]cli') - _MOD_NAME_REGEX = re.compile( - r'azure-cli[/\\]azure[/\\]cli[/\\]command_modules[/\\](?P[^/\\]+)') - _EXT_NAME_REGEX = re.compile(r'.*(?Pazext_[^/\\]+).*') - - for expression in [_MOD_NAME_REGEX, _CORE_NAME_REGEX, _EXT_NAME_REGEX]: - match = re.search(expression, path) - if not match: - continue - return match.groupdict().get('name') - raise Exception( - 'unexpected error: unable to extract name from path: {}'.format(path)) diff --git a/src/aks-preview/azcli_aks_live_test/.gitignore b/src/aks-preview/azcli_aks_live_test/.gitignore index 819270b0650..444e542f053 100644 --- a/src/aks-preview/azcli_aks_live_test/.gitignore +++ b/src/aks-preview/azcli_aks_live_test/.gitignore @@ -1,5 +1,4 @@ env.list *.json *.xml -!ext_matrix_default.json -!testdata.json +!configs/* diff --git a/src/aks-preview/azcli_aks_live_test/HISTORY.md b/src/aks-preview/azcli_aks_live_test/HISTORY.md new file mode 100644 index 00000000000..2bb7ac8874d --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/HISTORY.md @@ -0,0 +1,9 @@ +# History + +## 0.1.0 (4/23/2021) + +* Add live test pipeline for aks commands (in aks-preview) + +## 0.2.0 (6/24/2021) + +* Remove the direct (source code) dependency on az-aks-tool, install and use the pre-compiled wheel file instead diff --git a/src/aks-preview/azcli_aks_live_test/HISTORY.rst b/src/aks-preview/azcli_aks_live_test/HISTORY.rst deleted file mode 100644 index 93372ba3c64..00000000000 --- a/src/aks-preview/azcli_aks_live_test/HISTORY.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. :changelog: - -Release History -=============== - -0.1.0 (4/23/2021) -++++++ - -* Add live test pipeline for aks commands diff --git a/src/aks-preview/azcli_aks_live_test/README.md b/src/aks-preview/azcli_aks_live_test/README.md index 206a5eae203..9a372abb586 100644 --- a/src/aks-preview/azcli_aks_live_test/README.md +++ b/src/aks-preview/azcli_aks_live_test/README.md @@ -1,9 +1,13 @@ # Azure CLI AKS Live Test Pipeline & Azure CLI AKS Unit Test Pipeline -These pipelines are used to test newly added aks commands in module aks-preview (azure-cli-extensions) / acs (azure-cli, not covered by default). +These pipelines are used to test newly added aks commands in module aks-preview (azure-cli-extensions) / acs (azure-cli, not covered by default). For more details, you may refer to this [wiki](https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/CLI-AKS-Live-Unit-Test-Pipeline). ## How to use -**By default**, these pipelines will be **triggered** when submitting a **PR** to the master branch of the official repo which involves modifying the files under src/aks-preview. Then they will test the aks-preview command group in azure-cli-extensions. For live test pipeline, the test will be performed in record mode first, and then in live mode. Due to some specific [reasons](https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/157433/Live-Test-Failures-in-aks-preview-(with-bare-sub)), some test cases would fail. These test cases have been filtered out by file 'ext_matrix_default.json'. For unit test pipeline, the test will be perfomed with 'unittest' and 'pytest' modules. A code coverage report will be generated after the unit tests. You can find test reports and coverage report from pipeline artifacts. +These pipelines (live and unit test pipelines) will be **triggered** when submitting a **PR** to the master branch of the official repo which involves modifying the files under *src/aks-preview*. -You can also trigger this pipeline **manually**. For more details, you may refer to this [wiki](https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/Azure-CLI-AKS-Live-Test-Pipeline). +By default, for **live test pipeline**, the test will be performed in **record mode first**, and **then in live mode**. The test mainly uses test cases located in ```src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py```. Due to some specific reasons (more details in another [wiki](https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/157433/Live-Test-Failures-in-aks-preview-(with-bare-sub))), some test cases would fail. These test cases have been filtered out by file 'ext_matrix_default.json' (more details in [section Filter](#Filter)). For **unit test pipeline**, the test will be perfomed with 'unittest' and 'pytest' modules. A code coverage report will be generated after the unit tests. For both of the test pipelines, you can find test reports and coverage report from pipeline artifacts. + +If the newly added commands and test cases use the **features** that are being previewed, that is, some feature under container service needs to be manually registered before using the command, then such cases will not be able to execute/pass the test temporarily, since the subscription used for testing does not (and does not intend to) enable these additional features. In the future, we will use customer header to pass these features in test cases, but for now you can just bypass these cases. For now, you can follow the instructions in [section Bypass Test Case](#bypass-test-case) to **bypass such test cases**. + +You can also trigger this pipeline **manually** and adjust variables such as test coverage, test filter, test location, etc. as needed. For more details, you may refer to the following sections. \ No newline at end of file diff --git a/src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json b/src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json new file mode 100644 index 00000000000..33c36b35b85 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json @@ -0,0 +1,12 @@ +{ + "coverage": { + "test_aks_commands": [ + "AzureKubernetesServiceScenarioTest" + ] + }, + "exclude": { + "need additional feature": [ + "test_managed_aad_enable_azure_rbac" + ] + } +} \ No newline at end of file diff --git a/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json similarity index 100% rename from src/aks-preview/azcli_aks_live_test/ext_matrix_default.json rename to src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json diff --git a/src/aks-preview/azcli_aks_live_test/clean_up.sh b/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh similarity index 100% rename from src/aks-preview/azcli_aks_live_test/clean_up.sh rename to src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh diff --git a/src/aks-preview/azcli_aks_live_test/clone_repo.sh b/src/aks-preview/azcli_aks_live_test/scripts/clone_repo.sh similarity index 66% rename from src/aks-preview/azcli_aks_live_test/clone_repo.sh rename to src/aks-preview/azcli_aks_live_test/scripts/clone_repo.sh index 8eca3be875b..e932487bf7e 100755 --- a/src/aks-preview/azcli_aks_live_test/clone_repo.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/clone_repo.sh @@ -11,14 +11,10 @@ set -o xtrace [[ -z "${CLI_BRANCH}" ]] && (echo "CLI_BRANCH is empty"; exit 1) [[ -z "${EXT_REPO}" ]] && (echo "EXT_REPO is empty"; exit 1) [[ -z "${EXT_BRANCH}" ]] && (echo "EXT_BRANCH is empty"; exit 1) -[[ -z "${MANUAL_EXT}" ]] && (echo "MANUAL_EXT is empty"; exit 1) - -# dir -pwd -ls -alh +[[ -z "${BUILD_REASON}" ]] && (echo "BUILD_REASON is empty"; exit 1) +[[ -z "${LIVE_TEST_BASE_DIR}" ]] && (echo "LIVE_TEST_BASE_DIR is empty"; exit 1) # clone azure-cli (default is the official repo) -# git clone https://github.com/Azure/azure-cli.git git clone ${CLI_REPO} # ckeckout to a specific azure-cli branch (default is the dev branch) @@ -27,9 +23,9 @@ git branch -a git checkout ${CLI_BRANCH} popd -# clone azure-cli-extensions when manually specify the extension repo -if [[ ${MANUAL_EXT} == true ]]; then - echo "Manually specify the extension repo, delete the current 'azure-cli-extensions' directory!" +# clone azure-cli-extensions when manually trigger the pipeline +if [[ ${BUILD_REASON} == "Manual" ]]; then + echo "Manually trigger the pipeline, delete the current 'azure-cli-extensions' directory!" rm -rf azure-cli-extensions/ git clone ${EXT_REPO} pushd azure-cli-extensions/ @@ -45,6 +41,5 @@ git log -10 popd # copy live test related files to the same level as the checkout directory ($(Agent.BuildDirectory)/s) -cp -rT azure-cli-extensions/src/aks-preview/azcli_aks_live_test/ ./ -cp -r azure-cli-extensions/src/aks-preview/az_aks_tool/ ./ +cp -rT ${LIVE_TEST_BASE_DIR} ./ ls -alh diff --git a/src/aks-preview/azcli_aks_live_test/prepare_image.sh b/src/aks-preview/azcli_aks_live_test/scripts/prepare_image.sh similarity index 96% rename from src/aks-preview/azcli_aks_live_test/prepare_image.sh rename to src/aks-preview/azcli_aks_live_test/scripts/prepare_image.sh index 1f603ea5759..6843d74722f 100755 --- a/src/aks-preview/azcli_aks_live_test/prepare_image.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/prepare_image.sh @@ -11,10 +11,6 @@ set -o xtrace [[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) [[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) -# dir -pwd -ls -alh - # prepare docker image echo "Pulling test image from '${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}'..." docker pull ${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG} diff --git a/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh new file mode 100755 index 00000000000..34b867b010e --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh @@ -0,0 +1,157 @@ +#!/usr/bin/env bash + +# check var +[[ -z "${PYTHON_VERSION}" ]] && (echo "PYTHON_VERSION is empty"; exit 1) + +patchImageTools(){ + apt install -y curl +} + +setupVenv(){ + # delete existing venv + deactivate || true + rm -rf azEnv || true + + # create new venv + python${PYTHON_VERSION} -m venv azEnv + source azEnv/bin/activate + python -m pip install -U pip +} + +# need to be executed in a venv +installBuildTools(){ + pip install tox coverage + pip install -U build +} + +# need to be executed in a venv +setupAZ(){ + cli_repo=${1:-"."} + ext_repo=${2:-""} + + # install azdev, used later to install azcli and extension + pip install azdev==0.1.32 + + # pre-install-az: check existing az + which az || az version || az extension list || true + + # install-az: from cloned repos with azdev + if [[ -z ${ext_repo} ]]; then + azdev setup -c ${cli_repo} + else + azdev setup -c ${cli_repo} -r ${ext_repo} + fi + + # post-install-az: check installation result + which az && az version +} + +# need to be executed in a venv +installTestPackages(){ + # install pytest plugins + pip install pytest-json-report pytest-rerunfailures --upgrade + + # install coverage for measuring code coverage + pip install coverage +} + +# need to be executed in a venv +installAZAKSTOOLFromLocal(){ + wheel_file=${1} + pip install ${wheel_file} +} + +# need to be executed in a venv +installAZAKSTOOL(){ + wheel_file="az_aks_tool-latest-py3-none-any.whl" + wheel_url="https://akspreview.blob.core.windows.net/azakstool/${wheel_file}" + curl -sLO ${wheel_url} + installAZAKSTOOLFromLocal ${wheel_file} +} + +# need to be executed in a venv with kusto related modules installed +removeKustoPTHFile(){ + pushd azEnv/lib/python${PYTHON_VERSION}/site-packages + rm azure_kusto_data*nspkg.pth + rm azure_kusto_ingest*nspkg.pth + popd +} + +# need to be executed in a venv after 'setupAZ' +igniteAKSPreview(){ + # use a fake command to force trigger the command index update of azure-cli, in order to load aks-preview commands + # otherwise, cold boot execution of azdev test / pytest would only use commands in the acs module + az aks fake-command --debug || true +} + +# need to be executed in a venv +removeAKSPreview(){ + # remove extension + echo "Remove existing aks-preview extension (if any)" + if az extension remove --name aks-preview || azdev extension remove aks-preview; then + deactivate + source azEnv/bin/activate + fi +} + +# need to be executed in a venv after 'setupAZ' +setupAKSPreview(){ + # remove extension + removeAKSPreview + + # install latest extension + echo "Install the latest aks-preview extension and re-activate the virtualenv" + azdev extension add aks-preview + az extension list + azdev extension list | grep "aks-preview" -C 5 + deactivate + source azEnv/bin/activate +} + +if [[ -n ${1} ]]; then + # bash options + set -o errexit + set -o nounset + set -o pipefail + set -o xtrace + + # install missing tools in the image + patchImageTools + + # create new venv if second arg is not "n" + new_venv=${2:-"n"} + if [[ ${new_venv} == "y" ]]; then + echo "Create new venv!" + setupVenv + else + source azEnv/bin/activate + fi + + if [[ ${1} == "build" ]]; then + echo "Start to build az-aks-tool!" + installBuildTools + elif [[ ${1} == "setup-tool" ]]; then + echo "Start to setup az-aks-tool!" + local_setup=${3:-"n"} + if [[ ${local_setup} == "y" ]]; then + wheel_file=${4} + installAZAKSTOOLFromLocal ${wheel_file} + else + installAZAKSTOOL + fi + removeKustoPTHFile + elif [[ ${1} == "setup-az" ]]; then + echo "Start to setup azure-cli!" + cli_repo=${3:-"azure-cli/"} + ext_repo=${4:-""} + setupAZ ${cli_repo} ${ext_repo} + installTestPackages + elif [[ ${1} == "setup-akspreview" ]]; then + echo "Start to setup aks-preview!" + setupAKSPreview + igniteAKSPreview + else + echo "Unknown arg '${1}'!" + fi + echo "All Done!" +fi diff --git a/src/aks-preview/azcli_aks_live_test/start_container.sh b/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh similarity index 89% rename from src/aks-preview/azcli_aks_live_test/start_container.sh rename to src/aks-preview/azcli_aks_live_test/scripts/start_container.sh index 0edadb91c9d..ed4818d6edc 100755 --- a/src/aks-preview/azcli_aks_live_test/start_container.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh @@ -10,7 +10,6 @@ set -o xtrace # take the first arg as container name container_name=${1:-"azcli-aks-live-test-container"} [[ -z "${MAPPED_AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "MAPPED_AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) -[[ -z "${MAPPED_AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "MAPPED_AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) [[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) [[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) @@ -19,7 +18,7 @@ pwd ls -alh # transcribe environment variables into file 'env.list' -./transcribe_env.sh +./scripts/transcribe_env.sh # start container in backgroud with tty # mount current directory ($(Agent.BuildDirectory)/s) to /opt in container diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh new file mode 100755 index 00000000000..751c916bf59 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +[[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) +[[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) +[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) +[[ -z "${CLI_TEST_MATRIX}" ]] && (echo "CLI_TEST_MATRIX is empty") +[[ -z "${CLI_TEST_FILTER}" ]] && (echo "CLI_TEST_FILTER is empty") +[[ -z "${CLI_TEST_COVERAGE}" ]] && (echo "CLI_TEST_COVERAGE is empty") + +# activate virtualenv +source azEnv/bin/activate + +# remove aks-preview +source ./scripts/setup_venv.sh +removeAKSPreview + +# prepare run flags +run_flags="-c --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" +# parallel +if [ ${PARALLELISM} -ge 2 ]; then + run_flags+=" -j ${PARALLELISM}" +else + run_flags+=" -s" +fi +# cli matrix +if [[ -n ${CLI_TEST_MATRIX} ]]; then + run_flags+=" -cm ./configs/${CLI_TEST_MATRIX}" +fi +# cli extra filter +if [[ -n ${CLI_TEST_FILTER} ]]; then + run_flags+=" -cf ${CLI_TEST_FILTER}" +fi +# cli extra coverage +if [[ -n ${CLI_TEST_COVERAGE} ]]; then + run_flags+=" -cc ${CLI_TEST_COVERAGE}" +fi + +# recording test +if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then + echo "Test in record mode!" + run_flags+=" --json-report-file=cli_report.json" + run_flags+=" --xml-file=cli_result.xml" + echo "run flags: ${run_flags}" + azaks ${run_flags} +fi + +# live test +if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then + echo "Test in live mode!" + az login --service-principal -u ${AZCLI_ALT_CLIENT_ID} -p ${AZCLI_ALT_CLIENT_SECRET} -t ${TENANT_ID} + az account set -s ${AZCLI_ALT_SUBSCRIPTION_ID} + az account show + run_flags+=" -l --json-report-file=cli_live_report.json" + run_flags+=" --xml-file=cli_live_result.xml" + echo "run flags: ${run_flags}" + azaks ${run_flags} +fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh new file mode 100755 index 00000000000..b32a46be1c3 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# const +acs_base_dir="azure-cli/src/azure-cli/azure/cli/command_modules/acs" + +# activate virtualenv +source azEnv/bin/activate + +# remove aks-preview +source ./scripts/setup_venv.sh +removeAKSPreview + +# unit test & coverage report +acs_unit_test_failed="" +pushd ${acs_base_dir} +# clean existing coverage report +(coverage combine || true) && (coverage erase || true) +# perform unit test with module 'unittest' +# since recording test (performed in test_cli_live.sh) is based on module 'pytest', so skip here +# coverage run --source=. --omit=*/tests/* -p -m pytest +if ! coverage run --source=. --omit=*/tests/* -p -m unittest discover; then + acs_unit_test_failed="true" +fi +# generate & copy coverage report +coverage combine +coverage report -m +coverage json -o coverage_acs.json +popd +mkdir -p reports/ && cp ${acs_base_dir}/coverage_acs.json reports/ + +if [[ ${acs_unit_test_failed} == "true" ]]; then + echo "Unit test failed!" + exit 1 +fi diff --git a/src/aks-preview/azcli_aks_live_test/test_ext_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh similarity index 62% rename from src/aks-preview/azcli_aks_live_test/test_ext_live.sh rename to src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh index 0f7129a3363..f90d0170f3b 100755 --- a/src/aks-preview/azcli_aks_live_test/test_ext_live.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh @@ -13,52 +13,27 @@ set -o xtrace [[ -z "${AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) [[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) [[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) -[[ -z "${TEST_CASES}" ]] && (echo "TEST_CASES is empty") [[ -z "${EXT_TEST_MATRIX}" ]] && (echo "EXT_TEST_MATRIX is empty") [[ -z "${EXT_TEST_FILTER}" ]] && (echo "EXT_TEST_FILTER is empty") [[ -z "${EXT_TEST_COVERAGE}" ]] && (echo "EXT_TEST_COVERAGE is empty") -# dir -pwd -ls -alh - # activate virtualenv source azEnv/bin/activate -# remove extension -echo "Remove existing aks-preview extension (if any)" -if az extension remove --name aks-preview || azdev extension remove aks-preview; then - deactivate - source azEnv/bin/activate -fi - -# install latest extension -echo "Install the latest aks-preview extension and re-activate the virtualenv" -azdev extension add aks-preview -az extension list -azdev extension list | grep "aks-preview" -C 5 -deactivate -source azEnv/bin/activate - -# use a fake command to force trigger the command index update of azure-cli, in order to load aks-preview commands -# otherwise, cold boot execution of azdev test / pytest would only use commands in the acs module -az aks fake-command --debug || true +# setup aks-preview +./scripts/setup_venv.sh setup-akspreview # prepare run flags -run_flags="-e -em ext_matrix_default.json --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" +run_flags="-e --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" # parallel if [ ${PARALLELISM} -ge 2 ]; then run_flags+=" -j ${PARALLELISM}" else run_flags+=" -s" fi -# test cases -if [[ -n ${TEST_CASES} ]]; then - run_flags+=" -t ${TEST_CASES}" -fi # ext matrix if [[ -n ${EXT_TEST_MATRIX} ]]; then - run_flags+=" -em ${EXT_TEST_MATRIX}" + run_flags+=" -em ./configs/${EXT_TEST_MATRIX}" fi # ext extra filter if [[ -n ${EXT_TEST_FILTER} ]]; then @@ -75,7 +50,7 @@ if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then run_flags+=" --json-report-file=ext_report.json" run_flags+=" --xml-file=ext_result.xml" echo "run flags: ${run_flags}" - echo "${run_flags}" | xargs python -u az_aks_tool/main.py + azaks ${run_flags} fi # live test @@ -87,5 +62,5 @@ if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then run_flags+=" -l --json-report-file=ext_live_report.json" run_flags+=" --xml-file=ext_live_result.xml" echo "run flags: ${run_flags}" - echo "${run_flags}" | xargs python -u az_aks_tool/main.py + azaks ${run_flags} fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh new file mode 100755 index 00000000000..c76feba0607 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# const +aks_preview_base_dir="azure-cli-extensions/src/aks-preview/azext_aks_preview" + +# activate virtualenv +source azEnv/bin/activate + +# setup aks-preview +./scripts/setup_venv.sh setup-akspreview + +# unit test & coverage report +azext_aks_preview_unit_test_failed="" +pushd ${aks_preview_base_dir} +# clean existing coverage report +(coverage combine || true) && (coverage erase || true) +# perform unit test with module 'unittest' +# since recording test (performed in test_ext_live.sh) is based on module 'pytest', so skip here +# coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m pytest +if ! coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m unittest discover; then + azext_aks_preview_unit_test_failed="true" +fi +# generate & copy coverage report +coverage combine +coverage report -m +coverage json -o coverage_azext_aks_preview.json +popd +mkdir -p reports/ && cp ${aks_preview_base_dir}/coverage_azext_aks_preview.json reports/ + +if [[ ${azext_aks_preview_unit_test_failed} == "true" ]]; then + echo "Unit test failed!" + exit 1 +fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh new file mode 100644 index 00000000000..8f132ac633b --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace diff --git a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh b/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh similarity index 88% rename from src/aks-preview/azcli_aks_live_test/transcribe_env.sh rename to src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh index ea56ba31f61..8e18c380cfd 100755 --- a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh @@ -26,6 +26,9 @@ set -o xtrace [[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) [[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) [[ -z "${TEST_CASES}" ]] && (echo "TEST_CASES is empty") +[[ -z "${CLI_TEST_MATRIX}" ]] && (echo "CLI_TEST_MATRIX is empty") +[[ -z "${CLI_TEST_FILTER}" ]] && (echo "CLI_TEST_FILTER is empty") +[[ -z "${CLI_TEST_COVERAGE}" ]] && (echo "CLI_TEST_COVERAGE is empty") [[ -z "${EXT_TEST_MATRIX}" ]] && (echo "EXT_TEST_MATRIX is empty") [[ -z "${EXT_TEST_FILTER}" ]] && (echo "EXT_TEST_FILTER is empty") [[ -z "${EXT_TEST_COVERAGE}" ]] && (echo "EXT_TEST_COVERAGE is empty") @@ -33,7 +36,6 @@ set -o xtrace [[ -z "${CLI_BRANCH}" ]] && (echo "CLI_BRANCH is empty"; exit 1) [[ -z "${EXT_REPO}" ]] && (echo "EXT_REPO is empty"; exit 1) [[ -z "${EXT_BRANCH}" ]] && (echo "EXT_BRANCH is empty"; exit 1) -[[ -z "${MANUAL_EXT}" ]] && (echo "MANUAL_EXT is empty"; exit 1) # clear cat /dev/null > env.list @@ -64,6 +66,9 @@ echo "COVERAGE=${COVERAGE}" >> env.list echo "TEST_MODE=${TEST_MODE}" >> env.list echo "PARALLELISM=${PARALLELISM}" >> env.list echo "TEST_CASES=${TEST_CASES}" >> env.list +echo "CLI_TEST_MATRIX=${CLI_TEST_MATRIX}" >> env.list +echo "CLI_TEST_FILTER=${CLI_TEST_FILTER}" >> env.list +echo "CLI_TEST_COVERAGE=${CLI_TEST_COVERAGE}" >> env.list echo "EXT_TEST_MATRIX=${EXT_TEST_MATRIX}" >> env.list echo "EXT_TEST_FILTER=${EXT_TEST_FILTER}" >> env.list echo "EXT_TEST_COVERAGE=${EXT_TEST_COVERAGE}" >> env.list @@ -73,4 +78,3 @@ echo "CLI_REPO=${CLI_REPO}" >> env.list echo "CLI_BRANCH=${CLI_BRANCH}" >> env.list echo "EXT_REPO=${EXT_REPO}" >> env.list echo "EXT_BRANCH=${EXT_BRANCH}" >> env.list -echo "MANUAL_EXT=${MANUAL_EXT}" >> env.list diff --git a/src/aks-preview/azcli_aks_live_test/setup_venv.sh b/src/aks-preview/azcli_aks_live_test/setup_venv.sh deleted file mode 100755 index e63b00264f8..00000000000 --- a/src/aks-preview/azcli_aks_live_test/setup_venv.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -# bash options -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace - -# check var -PYTHON_VERSION=${PYTHON_VERSION:-"3.8"} - -# dir -pwd -ls -alh - -# delete existing venv -rm -rf azEnv || true - -# install python packages -python${PYTHON_VERSION} -m venv azEnv -source azEnv/bin/activate -python -m pip install -U pip -# install azdev, used later to install azcli and extension -pip install azdev==0.1.32 -# install pytest plugins -pip install pytest-json-report pytest-rerunfailures --upgrade -# pip install pytest-html --upgrade -# module for measuring code coverage -pip install coverage - -# pre-install: check existing az -which az || az version || az extension list || true - -# install az from cloned repos with azdev -azdev setup -c azure-cli/ -r azure-cli-extensions/ -deactivate - -# post-install: reactivate venv to check installation result -source azEnv/bin/activate -which az && az version - -# mkdir to store reports -mkdir -p reports/ - -# export PYTHONPATH -export PYTHONPATH=$(pwd) diff --git a/src/aks-preview/azcli_aks_live_test/test_cli_live.sh b/src/aks-preview/azcli_aks_live_test/test_cli_live.sh deleted file mode 100755 index 412e3c6702a..00000000000 --- a/src/aks-preview/azcli_aks_live_test/test_cli_live.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -# bash options -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace - -# check var -[[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) -[[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) -[[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) -[[ -z "${AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) -[[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) -[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) - -# dir -pwd -ls -alh - -# activate virtualenv -source azEnv/bin/activate - -# remove extension -echo "Remove existing aks-preview extension (if any)" -if az extension remove --name aks-preview || azdev extension remove aks-preview; then - deactivate - source azEnv/bin/activate -fi - -# test cli -if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then - echo "Test in record mode!" - azdev test acs --no-exitfirst --xml-path cli_result.xml --discover -a "-n ${PARALLELISM} --json-report --json-report-file=cli_report.json --reruns 3 --capture=sys" - cp *cli_report.json *cli_result.xml reports/ -fi - -if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then - echo "Test in live mode!" - az login --service-principal -u ${AZCLI_ALT_CLIENT_ID} -p ${AZCLI_ALT_CLIENT_SECRET} -t ${TENANT_ID} - az account set -s ${AZCLI_ALT_SUBSCRIPTION_ID} - az account show - azdev test acs --live --no-exitfirst --xml-path cli_live_result.xml --discover -a "-n ${PARALLELISM} --json-report --json-report-file=cli_live_report.json --reruns 3 --capture=sys" - cp *cli_live_report.json *cli_live_result.xml reports/ -fi diff --git a/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh b/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh deleted file mode 100755 index 1c70f2f4c6b..00000000000 --- a/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -# bash options -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace - -# dir -pwd -ls -alh - -# activate virtualenv -source azEnv/bin/activate - -# remove extension -echo "Remove existing aks-preview extension (if any)" -if az extension remove --name aks-preview || azdev extension remove aks-preview; then - deactivate - source azEnv/bin/activate -fi - -echo "Implementing, pass for now!" diff --git a/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh b/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh deleted file mode 100755 index db13e91fe5e..00000000000 --- a/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env bash - -# bash options -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace - -# dir -pwd -ls -alh - -# activate virtualenv -source azEnv/bin/activate - -# remove extension -echo "Remove existing aks-preview extension (if any)" -if az extension remove --name aks-preview || azdev extension remove aks-preview; then - deactivate - source azEnv/bin/activate -fi - -# install latest extension -echo "Install the latest aks-preview extension and re-activate the virtualenv" -azdev extension add aks-preview -az extension list -azdev extension list | grep "aks-preview" -C 5 -deactivate -source azEnv/bin/activate - -# use a fake command to force trigger the command index update of azure-cli, in order to load aks-preview commands -# otherwise, cold boot execution of azdev test / pytest would only use commands in the acs module -az aks fake-command --debug || true - -# unit test & coverage report -# az_aks_tool -az_aks_tool_unit_test_result="" -pushd azure-cli-extensions/src/aks-preview/az_aks_tool/ -# clean existing coverage report -(coverage combine || true) && (coverage erase || true) -if ! coverage run --source=. --omit=*/tests/* -p -m unittest discover; then - az_aks_tool_unit_test_result="error" -fi -# currently no test written in pytest format under 'az_aks_tool/' -# coverage run --source=. --omit=*/tests/* -p -m pytest -coverage combine && coverage json -o coverage_az_aks_tool.json -coverage report -m -popd -cp azure-cli-extensions/src/aks-preview/az_aks_tool/coverage_az_aks_tool.json reports/ - -# azext_aks_preview -azext_aks_preview_unit_test_result="" -pushd azure-cli-extensions/src/aks-preview/azext_aks_preview -# clean existing coverage report -(coverage combine || true) && (coverage erase || true) -# currently test using module 'unittest' is the same as module 'pytest', and test using 'pytest' is just recording test -if ! coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m unittest discover || ! coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m pytest; then - azext_aks_preview_unit_test_result="error" -fi -coverage combine && coverage json -o coverage_azext_aks_preview.json -coverage report -m -popd -cp azure-cli-extensions/src/aks-preview/azext_aks_preview/coverage_azext_aks_preview.json reports/ - -if [[ ${az_aks_tool_unit_test_result} == "error" || ${azext_aks_preview_unit_test_result} == "error" ]]; then - echo "Unit test failed!" - exit 1 -fi diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml index cf082cd587a..065b9b542de 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml @@ -10,6 +10,13 @@ pr: include: - src/aks-preview/ +variables: + - group: azcli-aks-tool + - name: ContainerName + value: "azcli-aks-live-test" + - name: LIVE_TEST_BASE_DIR + value: "azure-cli-extensions/src/aks-preview/azcli_aks_live_test" + jobs: - job: LiveTest pool: @@ -27,15 +34,15 @@ jobs: ls -alh displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" - bash: | - ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh + $(LIVE_TEST_BASE_DIR)/scripts/clone_repo.sh condition: succeeded() - displayName: "Clone GitHub Repo and Move Live Test Related Files" + displayName: "Clone GitHub Repo and Move Test Related Files" - bash: | - ./prepare_image.sh + ./scripts/prepare_image.sh condition: succeeded() - displayName: "Prepare Live Test Image" + displayName: "Prepare Test Image" - bash: | - ./start_container.sh + ./scripts/start_container.sh $(ContainerName) env: MAPPED_AZCLI_ALT_CLIENT_SECRET: $(AZCLI_ALT_CLIENT_SECRET) BUILD_REASON: $(Build.Reason) @@ -43,20 +50,22 @@ jobs: condition: succeeded() displayName: "Start Container" - bash: | - docker exec "azcli-aks-live-test-container" /opt/setup_venv.sh + docker exec $(ContainerName) /opt/scripts/setup_venv.sh setup-tool y + docker exec $(ContainerName) /opt/scripts/setup_venv.sh setup-az n azure-cli/ azure-cli-extensions/ condition: succeeded() displayName: "Set up Virtual Environment" - bash: | - docker exec "azcli-aks-live-test-container" /opt/test_cli_live.sh + docker exec $(ContainerName) /opt/scripts/test_cli_live.sh condition: and(succeeded(), in(variables['COVERAGE'], 'cli', 'all')) displayName: Perform Live Test for CLI - bash: | - docker exec "azcli-aks-live-test-container" /opt/test_ext_live.sh + docker exec $(ContainerName) /opt/scripts/test_ext_live.sh condition: and(succeededOrFailed(), in(variables['COVERAGE'], 'ext', 'all')) displayName: Perform Live Test for EXT - task: CopyFiles@2 inputs: contents: 'reports/**' + flattenFolders: true targetFolder: $(Build.ArtifactStagingDirectory) condition: succeededOrFailed() - task: PublishBuildArtifacts@1 diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml index 5cd8c268ce8..a1baf6631c6 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml @@ -10,6 +10,13 @@ pr: include: - src/aks-preview/ +variables: + - group: azcli-aks-tool + - name: ContainerName + value: "azcli-aks-unit-test" + - name: LIVE_TEST_BASE_DIR + value: "azure-cli-extensions/src/aks-preview/azcli_aks_live_test" + jobs: - job: UnitTest pool: @@ -27,15 +34,15 @@ jobs: ls -alh displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" - bash: | - ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh + $(LIVE_TEST_BASE_DIR)/scripts/clone_repo.sh condition: succeeded() displayName: "Clone GitHub Repo and Move Test Related Files" - bash: | - ./prepare_image.sh + ./scripts/prepare_image.sh condition: succeeded() displayName: "Prepare Test Image" - bash: | - ./start_container.sh "azcli-aks-unit-test-container" + ./scripts/start_container.sh $(ContainerName) env: MAPPED_AZCLI_ALT_CLIENT_SECRET: $(AZCLI_ALT_CLIENT_SECRET) BUILD_REASON: $(Build.Reason) @@ -43,20 +50,22 @@ jobs: condition: succeeded() displayName: "Start Container" - bash: | - docker exec "azcli-aks-unit-test-container" /opt/setup_venv.sh + docker exec $(ContainerName) /opt/scripts/setup_venv.sh setup-tool y + docker exec $(ContainerName) /opt/scripts/setup_venv.sh setup-az n azure-cli/ azure-cli-extensions/ condition: succeeded() displayName: "Set up Virtual Environment" - bash: | - docker exec "azcli-aks-unit-test-container" /opt/test_cli_unit.sh + docker exec $(ContainerName) /opt/scripts/test_cli_unit.sh condition: and(succeeded(), in(variables['COVERAGE'], 'cli', 'all')) displayName: Perform Unit Test for CLI - bash: | - docker exec "azcli-aks-unit-test-container" /opt/test_ext_unit.sh + docker exec $(ContainerName) /opt/scripts/test_ext_unit.sh condition: and(succeededOrFailed(), in(variables['COVERAGE'], 'ext', 'all')) displayName: Perform Unit Test for EXT - task: CopyFiles@2 inputs: contents: 'reports/**' + flattenFolders: true targetFolder: $(Build.ArtifactStagingDirectory) condition: succeededOrFailed() - task: PublishBuildArtifacts@1 From bea72c81d280bc58444dbf7ba85a3998e76098ae Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Fri, 25 Jun 2021 16:05:19 +0800 Subject: [PATCH 18/85] {diskpool} Refine output and add new command (#3490) * test pass * refine * test pass --- src/diskpool/HISTORY.rst | 5 + .../azext_diskpool/generated/_help.py | 10 + .../azext_diskpool/generated/_params.py | 5 + .../azext_diskpool/generated/action.py | 4 +- .../azext_diskpool/generated/commands.py | 2 + .../azext_diskpool/generated/custom.py | 7 + .../azext_diskpool/manual/_transformers.py | 52 +- .../azext_diskpool/manual/commands.py | 13 +- ...est_diskpool_list_sku_scenario_manual.yaml | 4 +- .../test_diskpool_scenario_manual.yaml | 2463 +++++++++++------ .../tests/latest/test_disk_scenario_manual.py | 9 +- src/diskpool/gen.zip | Bin 15090 -> 16031 bytes src/diskpool/report.md | 14 + src/diskpool/setup.py | 2 +- 14 files changed, 1710 insertions(+), 880 deletions(-) diff --git a/src/diskpool/HISTORY.rst b/src/diskpool/HISTORY.rst index edbb6c31f6a..2efc39a9b51 100644 --- a/src/diskpool/HISTORY.rst +++ b/src/diskpool/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.1.2 +++++++ +* Refine table output +* Add `az disk-pool list-outbound-network-dependency-endpoint` command + 0.1.1 ++++++ * Fix generation issue. diff --git a/src/diskpool/azext_diskpool/generated/_help.py b/src/diskpool/azext_diskpool/generated/_help.py index 0c0f40fb142..112206e13a8 100644 --- a/src/diskpool/azext_diskpool/generated/_help.py +++ b/src/diskpool/azext_diskpool/generated/_help.py @@ -98,6 +98,16 @@ az disk-pool delete --name "myDiskPool" --resource-group "myResourceGroup" """ +helps['disk-pool list-outbound-network-dependency-endpoint'] = """ + type: command + short-summary: "Gets the network endpoints of all outbound dependencies of a Disk Pool." + examples: + - name: Get Disk Pool outbound network dependencies + text: |- + az disk-pool list-outbound-network-dependency-endpoint --name "SampleAse" --resource-group \ +"Sample-WestUSResourceGroup" +""" + helps['disk-pool list-skus'] = """ type: command short-summary: "Lists available Disk Pool Skus in an Azure location." diff --git a/src/diskpool/azext_diskpool/generated/_params.py b/src/diskpool/azext_diskpool/generated/_params.py index 8dd4b8bbe98..8d3db239f9c 100644 --- a/src/diskpool/azext_diskpool/generated/_params.py +++ b/src/diskpool/azext_diskpool/generated/_params.py @@ -66,6 +66,11 @@ def load_arguments(self, _): c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' 'the Disk Pool.', id_part='name') + with self.argument_context('disk-pool list-outbound-network-dependency-endpoint') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.') + with self.argument_context('disk-pool list-skus') as c: c.argument('location', arg_type=get_location_type(self.cli_ctx)) diff --git a/src/diskpool/azext_diskpool/generated/action.py b/src/diskpool/azext_diskpool/generated/action.py index 62b0d509d18..7b3a1e1ec8d 100644 --- a/src/diskpool/azext_diskpool/generated/action.py +++ b/src/diskpool/azext_diskpool/generated/action.py @@ -49,7 +49,7 @@ def __call__(self, parser, namespace, values, option_string=None): def get_action(self, values, option_string=None): try: - value_chunk_list = [values[x:x + 1] for x in range(0, len(values), 1)] + value_chunk_list = [values[x: x + 1] for x in range(0, len(values), 1)] value_list = [] for chunk in value_chunk_list: id, = chunk @@ -71,7 +71,7 @@ def __call__(self, parser, namespace, values, option_string=None): def get_action(self, values, option_string=None): try: - value_chunk_list = [values[x:x + 1] for x in range(0, len(values), 1)] + value_chunk_list = [values[x: x + 1] for x in range(0, len(values), 1)] value_list = [] for chunk in value_chunk_list: id, = chunk diff --git a/src/diskpool/azext_diskpool/generated/commands.py b/src/diskpool/azext_diskpool/generated/commands.py index 8e50bd24d4d..0a45ae9cca1 100644 --- a/src/diskpool/azext_diskpool/generated/commands.py +++ b/src/diskpool/azext_diskpool/generated/commands.py @@ -26,6 +26,8 @@ def load_command_table(self, _): g.custom_command('create', 'disk_pool_create', supports_no_wait=True) g.custom_command('update', 'disk_pool_update', supports_no_wait=True) g.custom_command('delete', 'disk_pool_delete', supports_no_wait=True, confirmation=True) + g.custom_command('list-outbound-network-dependency-endpoint', 'disk_pool_list_outbound_network_dependency_endpo' + 'int') g.custom_command('list-skus', 'disk_pool_list_skus') g.custom_command('start', 'disk_pool_start', supports_no_wait=True) g.custom_command('stop', 'disk_pool_stop', supports_no_wait=True) diff --git a/src/diskpool/azext_diskpool/generated/custom.py b/src/diskpool/azext_diskpool/generated/custom.py index 811c1c55e08..f16877572dc 100644 --- a/src/diskpool/azext_diskpool/generated/custom.py +++ b/src/diskpool/azext_diskpool/generated/custom.py @@ -78,6 +78,13 @@ def disk_pool_delete(client, disk_pool_name=disk_pool_name) +def disk_pool_list_outbound_network_dependency_endpoint(client, + resource_group_name, + disk_pool_name): + return client.list_outbound_network_dependencies_endpoints(resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name) + + def disk_pool_list_skus(client, location): return client.list(location=location) diff --git a/src/diskpool/azext_diskpool/manual/_transformers.py b/src/diskpool/azext_diskpool/manual/_transformers.py index f6262db3cda..b5c74eeb970 100644 --- a/src/diskpool/azext_diskpool/manual/_transformers.py +++ b/src/diskpool/azext_diskpool/manual/_transformers.py @@ -18,6 +18,8 @@ def _value_from_path(each_item, path): try: for part in path.split('.'): obj = obj.get(part, None) + if isinstance(obj, list): + obj = _process_array(obj) except AttributeError: obj = None return obj or ' ' @@ -35,8 +37,56 @@ def transform_disk_pool_list_output(result): usable by the CLI and tools such as jpterm. """ return build_table_output(result, [ ('Name', 'name'), - ('Availability Zones', 'availabilityZones'), + ('Resource Group', 'resourceGroup'), ('Status', 'status'), ('Location', 'location'), ('Last Modified', 'systemData.lastModifiedAt') ]) + + +def transform_disk_pool_show_output(result): + from collections import OrderedDict + + new_result = OrderedDict() + new_result['Name'] = result.pop('name') + new_result['Resource Group'] = result.pop('resourceGroup') + new_result['Status'] = result.pop('status') + new_result['Location'] = result.pop('location') + new_result['Last Modified'] = result.get('systemData').get('lastModifiedAt', None) \ + if result.get('systemData') else None + return new_result + + +def transform_disk_pool_iscsi_target_list_output(result): + """ Transform to convert SDK output into a form that is more readily + usable by the CLI and tools such as jpterm. """ + return build_table_output(result, [ + ('Name', 'name'), + ('Acl Mode', 'aclMode'), + ('Endpoints', 'endpoints'), + ('Status', 'status'), + ('Provisioning State', 'provisioningState'), + ('Target Iqn', 'targetIqn') + ]) + + +def _process_array(array): + if array: + item = ','.join(array) + else: + item = None + return item + + +def transform_disk_pool_iscsi_target_show_output(result): + from collections import OrderedDict + + new_result = OrderedDict() + new_result['Name'] = result.pop('name') + new_result['Acl Mode'] = result.pop('aclMode') + new_result['Endpoints'] = _process_array(result.pop('endpoints')) + + new_result['Status'] = result['status'] + new_result['Provisioning State'] = result['provisioningState'] + new_result['Target Iqn'] = result['targetIqn'] + return new_result diff --git a/src/diskpool/azext_diskpool/manual/commands.py b/src/diskpool/azext_diskpool/manual/commands.py index b8d9a139915..ffeac7926b0 100644 --- a/src/diskpool/azext_diskpool/manual/commands.py +++ b/src/diskpool/azext_diskpool/manual/commands.py @@ -14,13 +14,22 @@ def load_command_table(self, _): - from azext_diskpool.generated._client_factory import cf_disk_pool + from azext_diskpool.generated._client_factory import cf_disk_pool, cf_iscsi_target from azext_diskpool.manual._client_factory import cf_disk_pool_zone diskpool_disk_pool = CliCommandType( operations_tmpl='azext_diskpool.vendored_sdks.storagepool.operations._disk_pools_operations#DiskPoolsOperations' '.{}', client_factory=cf_disk_pool) with self.command_group('disk-pool', diskpool_disk_pool, client_factory=cf_disk_pool, is_preview=True) as g: - from ._transformers import transform_disk_pool_list_output + from ._transformers import transform_disk_pool_list_output, transform_disk_pool_show_output g.custom_command('list', 'disk_pool_list', table_transformer=transform_disk_pool_list_output) g.custom_command('list-skus', 'disk_pool_list_skus', client_factory=cf_disk_pool_zone) + g.custom_show_command('show', 'disk_pool_show', table_transformer=transform_disk_pool_show_output) + + with self.command_group('disk-pool iscsi-target', client_factory=cf_iscsi_target) as g: + from ._transformers import transform_disk_pool_iscsi_target_list_output, \ + transform_disk_pool_iscsi_target_show_output + g.custom_command('list', 'disk_pool_iscsi_target_list', + table_transformer=transform_disk_pool_iscsi_target_list_output) + g.custom_show_command('show', 'disk_pool_iscsi_target_show', + table_transformer=transform_disk_pool_iscsi_target_show_output) diff --git a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml index 99a6467c94e..bb8182a4652 100644 --- a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml +++ b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - -l User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.2 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/diskPoolZones?api-version=2021-04-01-preview response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 10:36:03 GMT + - Thu, 10 Jun 2021 09:31:53 GMT expires: - '-1' pragma: diff --git a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml index a32e83957a8..fe934cf637b 100644 --- a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml +++ b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml @@ -2,7 +2,7 @@ interactions: - request: body: '{"location": "eastus", "tags": {}, "sku": {"name": "Premium_LRS"}, "zones": ["3"], "properties": {"hyperVGeneration": "V1", "creationData": {"createOption": - "Empty"}, "diskSizeGB": 256, "maxShares": 2}}' + "Empty"}, "diskSizeGB": 1024, "maxShares": 2}}' headers: Accept: - application/json @@ -13,13 +13,13 @@ interactions: Connection: - keep-alive Content-Length: - - '202' + - '203' Content-Type: - application/json ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002?api-version=2020-12-01 response: @@ -28,23 +28,23 @@ interactions: \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n \ \"name\": \"Premium_LRS\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n - \ },\r\n \"diskSizeGB\": 256,\r\n \"maxShares\": 2,\r\n \"provisioningState\": + \ },\r\n \"diskSizeGB\": 1024,\r\n \"maxShares\": 2,\r\n \"provisioningState\": \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/5d336f6f-1ae6-46d4-bae5-6c8fd6c03697?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2da3eb32-912c-4324-9d10-0826e1ac30fd?api-version=2020-12-01 cache-control: - no-cache content-length: - - '370' + - '371' content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:21 GMT + - Wed, 16 Jun 2021 03:31:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/5d336f6f-1ae6-46d4-bae5-6c8fd6c03697?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2da3eb32-912c-4324-9d10-0826e1ac30fd?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -57,7 +57,7 @@ interactions: x-ms-ratelimit-remaining-resource: - Microsoft.Compute/CreateUpdateDisks3Min;999,Microsoft.Compute/CreateUpdateDisks30Min;7999 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -75,36 +75,36 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/5d336f6f-1ae6-46d4-bae5-6c8fd6c03697?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2da3eb32-912c-4324-9d10-0826e1ac30fd?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-06-01T08:59:21.7454367+00:00\",\r\n \"endTime\": - \"2021-06-01T08:59:21.8235646+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-06-16T03:31:11.0030381+00:00\",\r\n \"endTime\": + \"2021-06-16T03:31:11.1592866+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disk000002\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": - \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": - 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 1024,\r\n \"diskIOPSReadWrite\": + 5000,\r\n \"diskMBpsReadWrite\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-06-01T08:59:21.7454367+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-16T03:31:11.0030381+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"1c6c0c9d-f14c-4e8b-a768-b7b73d8bd9ba\",\r\n - \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}\r\n - \ },\r\n \"name\": \"5d336f6f-1ae6-46d4-bae5-6c8fd6c03697\"\r\n}" + 1099511627776,\r\n \"uniqueId\": \"19fc04e9-c43f-4dbf-b023-591917ca0ffa\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P30\"\r\n }\r\n}\r\n + \ },\r\n \"name\": \"2da3eb32-912c-4324-9d10-0826e1ac30fd\"\r\n}" headers: cache-control: - no-cache content-length: - - '1154' + - '1156' content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:24 GMT + - Wed, 16 Jun 2021 03:31:12 GMT expires: - '-1' pragma: @@ -121,7 +121,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49999,Microsoft.Compute/GetOperation30Min;399995 + - Microsoft.Compute/GetOperation3Min;49999,Microsoft.Compute/GetOperation30Min;399999 status: code: 200 message: OK @@ -139,7 +139,7 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002?api-version=2020-12-01 response: @@ -149,22 +149,22 @@ interactions: \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": - \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": - 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 1024,\r\n \"diskIOPSReadWrite\": + 5000,\r\n \"diskMBpsReadWrite\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-06-01T08:59:21.7454367+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-16T03:31:11.0030381+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"1c6c0c9d-f14c-4e8b-a768-b7b73d8bd9ba\",\r\n - \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}" + 1099511627776,\r\n \"uniqueId\": \"19fc04e9-c43f-4dbf-b023-591917ca0ffa\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P30\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '929' + - '931' content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:24 GMT + - Wed, 16 Jun 2021 03:31:13 GMT expires: - '-1' pragma: @@ -181,14 +181,14 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14999,Microsoft.Compute/LowCostGet30Min;119986 + - Microsoft.Compute/LowCostGet3Min;14999,Microsoft.Compute/LowCostGet30Min;119999 status: code: 200 message: OK - request: body: '{"location": "eastus", "tags": {}, "sku": {"name": "Premium_LRS"}, "zones": ["3"], "properties": {"hyperVGeneration": "V1", "creationData": {"createOption": - "Empty"}, "diskSizeGB": 256, "maxShares": 2}}' + "Empty"}, "diskSizeGB": 1024, "maxShares": 2}}' headers: Accept: - application/json @@ -199,13 +199,13 @@ interactions: Connection: - keep-alive Content-Length: - - '202' + - '203' Content-Type: - application/json ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003?api-version=2020-12-01 response: @@ -214,23 +214,23 @@ interactions: \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n \ \"name\": \"Premium_LRS\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n - \ },\r\n \"diskSizeGB\": 256,\r\n \"maxShares\": 2,\r\n \"provisioningState\": + \ },\r\n \"diskSizeGB\": 1024,\r\n \"maxShares\": 2,\r\n \"provisioningState\": \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/828f2c4e-3c24-4d0a-9009-6ea7ad78fc63?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/1ba17a55-0ea1-4196-89a4-f3eb660c00a4?api-version=2020-12-01 cache-control: - no-cache content-length: - - '370' + - '371' content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:29 GMT + - Wed, 16 Jun 2021 03:31:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/828f2c4e-3c24-4d0a-9009-6ea7ad78fc63?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/1ba17a55-0ea1-4196-89a4-f3eb660c00a4?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -261,36 +261,36 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/828f2c4e-3c24-4d0a-9009-6ea7ad78fc63?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/1ba17a55-0ea1-4196-89a4-f3eb660c00a4?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-06-01T08:59:30.3861179+00:00\",\r\n \"endTime\": - \"2021-06-01T08:59:30.479939+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-06-16T03:31:20.1281527+00:00\",\r\n \"endTime\": + \"2021-06-16T03:31:20.2687482+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disk000003\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": - \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": - 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 1024,\r\n \"diskIOPSReadWrite\": + 5000,\r\n \"diskMBpsReadWrite\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-06-01T08:59:30.4017667+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-16T03:31:20.1281527+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"e84c4ad6-4bc2-4699-bd89-710672c11bf9\",\r\n - \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}\r\n - \ },\r\n \"name\": \"828f2c4e-3c24-4d0a-9009-6ea7ad78fc63\"\r\n}" + 1099511627776,\r\n \"uniqueId\": \"433830d0-838a-49cf-872f-074880bd4a1f\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P30\"\r\n }\r\n}\r\n + \ },\r\n \"name\": \"1ba17a55-0ea1-4196-89a4-f3eb660c00a4\"\r\n}" headers: cache-control: - no-cache content-length: - - '1153' + - '1156' content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:32 GMT + - Wed, 16 Jun 2021 03:31:21 GMT expires: - '-1' pragma: @@ -307,7 +307,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49997,Microsoft.Compute/GetOperation30Min;399993 + - Microsoft.Compute/GetOperation3Min;49997,Microsoft.Compute/GetOperation30Min;399997 status: code: 200 message: OK @@ -325,7 +325,7 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003?api-version=2020-12-01 response: @@ -335,22 +335,22 @@ interactions: \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": - \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": - 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 1024,\r\n \"diskIOPSReadWrite\": + 5000,\r\n \"diskMBpsReadWrite\": 200,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-06-01T08:59:30.4017667+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-16T03:31:20.1281527+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"e84c4ad6-4bc2-4699-bd89-710672c11bf9\",\r\n - \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}" + 1099511627776,\r\n \"uniqueId\": \"433830d0-838a-49cf-872f-074880bd4a1f\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P30\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '929' + - '931' content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:32 GMT + - Wed, 16 Jun 2021 03:31:22 GMT expires: - '-1' pragma: @@ -367,7 +367,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14996,Microsoft.Compute/LowCostGet30Min;119983 + - Microsoft.Compute/LowCostGet3Min;14997,Microsoft.Compute/LowCostGet30Min;119997 status: code: 200 message: OK @@ -391,7 +391,7 @@ interactions: - --assignee-object-id --role --scope User-Agent: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.24.0 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: POST @@ -414,19 +414,19 @@ interactions: dataserviceversion: - 3.0; date: - - Tue, 01 Jun 2021 08:59:36 GMT + - Wed, 16 Jun 2021 03:31:25 GMT duration: - - '2666773' + - '3109836' expires: - '-1' ocp-aad-diagnostics-server-name: - - sJ1Buv2k4RK8W31iECo8mAj5SrrAnlmawQNaa8bAJAI= + - n5QUhUbqhU+XtwGocvRPzUtEBzXyUogbMRaINVzZ50A= ocp-aad-session-key: - - Exa7ZPitjR3lRM6jYHcZMqA-I9R4KiLMeRiNwTcoax8H1vMgtcspiqPQJ6PYfuMm9H3fmlFJgZFIPFYhE-QQdypSS9Q4sPas_yhVSpPJhsYHH1i_dABK32hXWADbkXZf.p1LhtqwPsRxbhfqK2x3nfAd78cIQnxBg0cYvh1du2Iw + - mPAtf-FiQKo-mBLV3xrWIWuJyTHjzGSJmPY8IVhGW_HuCdZqOKwK-8M5yDOnlMpEA1Bb4b9aNawxg7WMRPf99F26VtOkyWmQx92jVLmtt8FAS1jGV1JwQWqOV1mHWEpA.05pef6wlWsOfSxYfM5-Pjfl1F0cJdA1-jlx3xeNUvmA pragma: - no-cache request-id: - - c99b0b8c-5e48-41d1-8bc5-02be0c507131 + - 31f94e77-9725-49ef-b536-1070aafd4226 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -455,7 +455,7 @@ interactions: - --assignee-object-id --role --scope User-Agent: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -473,7 +473,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:36 GMT + - Wed, 16 Jun 2021 03:31:26 GMT expires: - '-1' pragma: @@ -513,14 +513,14 @@ interactions: - --assignee-object-id --role --scope User-Agent: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","condition":null,"conditionVersion":null,"createdOn":"2021-06-01T08:59:37.8026727Z","updatedOn":"2021-06-01T08:59:38.1777103Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","condition":null,"conditionVersion":null,"createdOn":"2021-06-16T03:31:27.2539546Z","updatedOn":"2021-06-16T03:31:28.0939390Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' headers: cache-control: - no-cache @@ -529,7 +529,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:42 GMT + - Wed, 16 Jun 2021 03:31:32 GMT expires: - '-1' pragma: @@ -565,7 +565,7 @@ interactions: - --assignee-object-id --role --scope User-Agent: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.24.0 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: POST @@ -588,19 +588,19 @@ interactions: dataserviceversion: - 3.0; date: - - Tue, 01 Jun 2021 08:59:44 GMT + - Wed, 16 Jun 2021 03:31:32 GMT duration: - - '2480742' + - '2810223' expires: - '-1' ocp-aad-diagnostics-server-name: - - DqETTaqUTreHbk0szh3bcZ2YEgz8IAn6DGjrEmb+Htk= + - ogWzhH8PujQkdNFnPj+qcPhnvppFuF516dVPAutDfcg= ocp-aad-session-key: - - L3-ho_W-UdUVDiI_f6rVelwZvaj_7rdYK5OQ-T1xM97Tp-XxSw_PNochOeiEp76kZhVGUYS6M0or3ESChU8hj3Vv--EOIRwO2XhBAXj7-DoUIZHTJWOtYLvLmd6BMpJq.7xYemrbDAV4i0IZxNEM2om8k0bq1zcmvPICFVV_uYYE + - 0lqRS-YJjOBlnOXgU8sdT06zQC0QzD_CcP0QcD0Blm8PQzog2hpz7tVoWaxUsWsmlDitmnkqx-emWJ9lpt1NzuksB7raOxETsXjxtHh6mZV6gKnDmITZF-VNN0sjL2Xx.0VvEyl5crSqvXRIuHG6qv8uZrMQBrAUlbf8A83vdrNo pragma: - no-cache request-id: - - 310babc6-08ef-4204-9564-5271d7f6f97e + - 75523bdc-0cc1-49c0-bca2-46a1d0cab5c4 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -629,7 +629,7 @@ interactions: - --assignee-object-id --role --scope User-Agent: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: GET @@ -647,7 +647,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:44 GMT + - Wed, 16 Jun 2021 03:31:33 GMT expires: - '-1' pragma: @@ -687,14 +687,14 @@ interactions: - --assignee-object-id --role --scope User-Agent: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.25.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","condition":null,"conditionVersion":null,"createdOn":"2021-06-01T08:59:44.9844494Z","updatedOn":"2021-06-01T08:59:45.7944471Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000002"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","condition":null,"conditionVersion":null,"createdOn":"2021-06-16T03:31:33.9113901Z","updatedOn":"2021-06-16T03:31:34.7914031Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000002"}' headers: cache-control: - no-cache @@ -703,7 +703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:50 GMT + - Wed, 16 Jun 2021 03:31:39 GMT expires: - '-1' pragma: @@ -738,16 +738,16 @@ interactions: ParameterSetName: - --name --resource-group --location User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"0302efc7-dc48-4884-97c8-7b991b16c6e5\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"0d75cbab-521f-4767-b30b-c2d11e9df127\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"9c00555f-38fd-46ea-91e3-a77bdece341b\",\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\": @@ -756,7 +756,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/7c77e994-87b9-41d4-aadb-9702a0599958?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9b96a6e6-546b-488d-98fd-e786117f8904?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -764,7 +764,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 08:59:59 GMT + - Wed, 16 Jun 2021 03:31:47 GMT expires: - '-1' pragma: @@ -777,7 +777,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eeb4be06-889e-42a5-aac2-66fb2188315c + - 363fcfbf-ac3c-487d-a6ce-15e4c6ecaeca x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -797,9 +797,9 @@ interactions: ParameterSetName: - --name --resource-group --location User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/7c77e994-87b9-41d4-aadb-9702a0599958?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9b96a6e6-546b-488d-98fd-e786117f8904?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -811,7 +811,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 09:00:03 GMT + - Wed, 16 Jun 2021 03:31:51 GMT expires: - '-1' pragma: @@ -828,7 +828,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a931f5f0-c01e-4d03-ab4d-4d55a44b3882 + - a95c3a84-a20e-444f-9577-4c010ae7be26 status: code: 200 message: OK @@ -846,16 +846,16 @@ interactions: ParameterSetName: - --name --resource-group --location User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"39ba8031-02b5-40c5-81cd-c496262362ce\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"a23e3034-8e41-4eea-b4b2-90be6b3f4050\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"9c00555f-38fd-46ea-91e3-a77bdece341b\",\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\": @@ -868,9 +868,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 09:00:03 GMT + - Wed, 16 Jun 2021 03:31:52 GMT etag: - - W/"39ba8031-02b5-40c5-81cd-c496262362ce" + - W/"a23e3034-8e41-4eea-b4b2-90be6b3f4050" expires: - '-1' pragma: @@ -887,7 +887,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b0332ae7-27cf-45f3-8cea-227095d0bb61 + - cd14fb5a-d51d-42f3-b7c1-649a99375b25 status: code: 200 message: OK @@ -905,16 +905,16 @@ interactions: ParameterSetName: - --name --vnet-name --resource-group --address-prefixes --delegations User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"39ba8031-02b5-40c5-81cd-c496262362ce\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"a23e3034-8e41-4eea-b4b2-90be6b3f4050\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"9c00555f-38fd-46ea-91e3-a77bdece341b\",\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\": @@ -927,9 +927,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 09:00:04 GMT + - Wed, 16 Jun 2021 03:31:54 GMT etag: - - W/"39ba8031-02b5-40c5-81cd-c496262362ce" + - W/"a23e3034-8e41-4eea-b4b2-90be6b3f4050" expires: - '-1' pragma: @@ -946,7 +946,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ad509267-3f60-4e17-81d8-513ce00bb4ee + - 2aed7e27-fe2c-4fa7-bc97-9267f833ff0d status: code: 200 message: OK @@ -974,26 +974,26 @@ interactions: ParameterSetName: - --name --vnet-name --resource-group --address-prefixes --delegations User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"e682a02d-2d21-420e-8e18-07e5f7ebb664\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"676c2cd3-68a3-4fa3-ac0a-3bc89195d9c2\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"9c00555f-38fd-46ea-91e3-a77bdece341b\",\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\": \"subnet000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005\",\r\n - \ \"etag\": \"W/\\\"e682a02d-2d21-420e-8e18-07e5f7ebb664\\\"\",\r\n + \ \"etag\": \"W/\\\"676c2cd3-68a3-4fa3-ac0a-3bc89195d9c2\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.0.0.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/vnet000004/subnets/subnet000005/delegations/0\",\r\n - \ \"etag\": \"W/\\\"e682a02d-2d21-420e-8e18-07e5f7ebb664\\\"\",\r\n + \ \"etag\": \"W/\\\"676c2cd3-68a3-4fa3-ac0a-3bc89195d9c2\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.StoragePool/diskPools\",\r\n \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/read\"\r\n @@ -1005,7 +1005,7 @@ interactions: false\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/36cbc5cb-29ae-435a-a912-9854bc987b07?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/cd99ea88-6b25-4d59-8b1b-1dd0dc6be659?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -1013,7 +1013,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 09:00:06 GMT + - Wed, 16 Jun 2021 03:31:55 GMT expires: - '-1' pragma: @@ -1030,7 +1030,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c88b1c28-de99-43ef-9cfa-15f661733548 + - cfb52276-120b-4fdb-b678-6c7d1d5ae8a1 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -1050,9 +1050,9 @@ interactions: ParameterSetName: - --name --vnet-name --resource-group --address-prefixes --delegations User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/36cbc5cb-29ae-435a-a912-9854bc987b07?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/cd99ea88-6b25-4d59-8b1b-1dd0dc6be659?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1064,7 +1064,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 09:00:10 GMT + - Wed, 16 Jun 2021 03:31:58 GMT expires: - '-1' pragma: @@ -1081,7 +1081,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 62011316-252e-48ff-945a-b0d13a5cec7f + - 8437e71e-2966-482a-87cb-bdef6161fa91 status: code: 200 message: OK @@ -1099,26 +1099,26 @@ interactions: ParameterSetName: - --name --vnet-name --resource-group --address-prefixes --delegations User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"dd613d95-d8fd-41dc-9719-825543b96525\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"5490f5a3-66b7-4fba-b6e5-408d26f3f36f\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"9c00555f-38fd-46ea-91e3-a77bdece341b\",\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\": \"subnet000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005\",\r\n - \ \"etag\": \"W/\\\"dd613d95-d8fd-41dc-9719-825543b96525\\\"\",\r\n + \ \"etag\": \"W/\\\"5490f5a3-66b7-4fba-b6e5-408d26f3f36f\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.0.0.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/vnet000004/subnets/subnet000005/delegations/0\",\r\n - \ \"etag\": \"W/\\\"dd613d95-d8fd-41dc-9719-825543b96525\\\"\",\r\n + \ \"etag\": \"W/\\\"5490f5a3-66b7-4fba-b6e5-408d26f3f36f\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.StoragePool/diskPools\",\r\n \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/read\"\r\n @@ -1136,9 +1136,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 01 Jun 2021 09:00:10 GMT + - Wed, 16 Jun 2021 03:31:59 GMT etag: - - W/"dd613d95-d8fd-41dc-9719-825543b96525" + - W/"5490f5a3-66b7-4fba-b6e5-408d26f3f36f" expires: - '-1' pragma: @@ -1155,7 +1155,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 66b5a4c6-0223-45b9-adcc-f332a36a6538 + - b665d639-cba2-44c3-8b5e-bf734e4845aa status: code: 200 message: OK @@ -1180,15 +1180,15 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Pending","status":"Unknown"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T03:32:03.9430937Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Pending","status":"Unknown"},"sku":{"name":"Standard","tier":"Standard"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview cache-control: - no-cache content-length: @@ -1196,7 +1196,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:02:08 GMT + - Wed, 16 Jun 2021 03:32:08 GMT expires: - '-1' pragma: @@ -1229,12 +1229,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1243,7 +1243,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:02:18 GMT + - Wed, 16 Jun 2021 03:32:18 GMT expires: - '-1' pragma: @@ -1276,12 +1276,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1290,7 +1290,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:02:48 GMT + - Wed, 16 Jun 2021 03:32:48 GMT expires: - '-1' pragma: @@ -1323,12 +1323,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1337,7 +1337,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:03:19 GMT + - Wed, 16 Jun 2021 03:33:19 GMT expires: - '-1' pragma: @@ -1370,12 +1370,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1384,7 +1384,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:03:49 GMT + - Wed, 16 Jun 2021 03:33:49 GMT expires: - '-1' pragma: @@ -1417,12 +1417,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1431,7 +1431,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:04:19 GMT + - Wed, 16 Jun 2021 03:34:20 GMT expires: - '-1' pragma: @@ -1464,12 +1464,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1478,7 +1478,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:04:51 GMT + - Wed, 16 Jun 2021 03:34:51 GMT expires: - '-1' pragma: @@ -1511,12 +1511,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1525,7 +1525,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:05:21 GMT + - Wed, 16 Jun 2021 03:35:21 GMT expires: - '-1' pragma: @@ -1558,12 +1558,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1572,7 +1572,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:05:51 GMT + - Wed, 16 Jun 2021 03:35:52 GMT expires: - '-1' pragma: @@ -1605,12 +1605,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1619,7 +1619,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:06:22 GMT + - Wed, 16 Jun 2021 03:36:22 GMT expires: - '-1' pragma: @@ -1652,12 +1652,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1666,7 +1666,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:06:53 GMT + - Wed, 16 Jun 2021 03:36:53 GMT expires: - '-1' pragma: @@ -1699,12 +1699,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1713,7 +1713,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:07:23 GMT + - Wed, 16 Jun 2021 03:37:24 GMT expires: - '-1' pragma: @@ -1746,12 +1746,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1760,7 +1760,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:07:54 GMT + - Wed, 16 Jun 2021 03:37:54 GMT expires: - '-1' pragma: @@ -1793,12 +1793,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1807,7 +1807,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:08:25 GMT + - Wed, 16 Jun 2021 03:38:24 GMT expires: - '-1' pragma: @@ -1840,12 +1840,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1854,7 +1854,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:08:55 GMT + - Wed, 16 Jun 2021 03:38:55 GMT expires: - '-1' pragma: @@ -1887,12 +1887,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1901,7 +1901,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:09:25 GMT + - Wed, 16 Jun 2021 03:39:26 GMT expires: - '-1' pragma: @@ -1934,12 +1934,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1948,7 +1948,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:09:56 GMT + - Wed, 16 Jun 2021 03:39:56 GMT expires: - '-1' pragma: @@ -1981,12 +1981,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -1995,7 +1995,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:10:26 GMT + - Wed, 16 Jun 2021 03:40:26 GMT expires: - '-1' pragma: @@ -2028,12 +2028,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2042,7 +2042,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:10:56 GMT + - Wed, 16 Jun 2021 03:40:57 GMT expires: - '-1' pragma: @@ -2075,12 +2075,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2089,7 +2089,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:11:28 GMT + - Wed, 16 Jun 2021 03:41:28 GMT expires: - '-1' pragma: @@ -2122,12 +2122,12 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2136,7 +2136,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:11:59 GMT + - Wed, 16 Jun 2021 03:41:58 GMT expires: - '-1' pragma: @@ -2169,21 +2169,21 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Succeeded","startTime":"2021-06-01T09:02:07Z","endTime":"2021-06-01T09:12:04Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1208' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:12:31 GMT + - Wed, 16 Jun 2021 03:42:29 GMT expires: - '-1' pragma: @@ -2216,21 +2216,21 @@ interactions: - --name --resource-group --location --availability-zones --subnet-id --sku --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '929' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:12:31 GMT + - Wed, 16 Jun 2021 03:42:59 GMT expires: - '-1' pragma: @@ -2252,31 +2252,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool show + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '929' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:12:33 GMT + - Wed, 16 Jun 2021 03:43:30 GMT expires: - '-1' pragma: @@ -2298,31 +2299,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool list + - disk-pool create Connection: - keep-alive ParameterSetName: - - --resource-group + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}],"nextLink":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '957' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:12:35 GMT + - Wed, 16 Jun 2021 03:44:01 GMT expires: - '-1' pragma: @@ -2341,58 +2343,52 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"aclMode": "Dynamic", "luns": [{"name": "lun0", "managedDiskAzureResourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}]}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target create + - disk-pool create Connection: - keep-alive - Content-Length: - - '228' - Content-Type: - - application/json ParameterSetName: - - --name --disk-pool-name --resource-group --acl-mode --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Pending","status":"Unknown"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '849' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:12:36 GMT + - Wed, 16 Jun 2021 03:44:31 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-ms-async-operation-timeout: - - PT1H - x-ms-ratelimit-remaining-subscription-writes: - - '1198' x-ms-return-client-request-id: - 'true' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -2401,27 +2397,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target create + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --acl-mode --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Running","startTime":"2021-06-01T09:12:37Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '230' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:12:47 GMT + - Wed, 16 Jun 2021 03:45:02 GMT expires: - '-1' pragma: @@ -2447,27 +2444,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target create + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --acl-mode --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Running","startTime":"2021-06-01T09:12:37Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '230' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:13:17 GMT + - Wed, 16 Jun 2021 03:45:33 GMT expires: - '-1' pragma: @@ -2493,27 +2491,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target create + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --acl-mode --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Running","startTime":"2021-06-01T09:12:37Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '230' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:13:48 GMT + - Wed, 16 Jun 2021 03:46:03 GMT expires: - '-1' pragma: @@ -2539,27 +2538,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target create + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --acl-mode --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Succeeded","startTime":"2021-06-01T09:12:37Z","endTime":"2021-06-01T09:14:13Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1130' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:14:18 GMT + - Wed, 16 Jun 2021 03:46:34 GMT expires: - '-1' pragma: @@ -2585,27 +2585,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target create + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --acl-mode --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '851' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:14:19 GMT + - Wed, 16 Jun 2021 03:47:05 GMT expires: - '-1' pragma: @@ -2627,31 +2628,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target show + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '851' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:14:21 GMT + - Wed, 16 Jun 2021 03:47:35 GMT expires: - '-1' pragma: @@ -2673,31 +2675,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target list + - disk-pool create Connection: - keep-alive ParameterSetName: - - --disk-pool-name --resource-group + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}],"nextLink":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '879' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:14:22 GMT + - Wed, 16 Jun 2021 03:48:05 GMT expires: - '-1' pragma: @@ -2716,58 +2719,52 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"disks": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}, - {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}]}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive - Content-Length: - - '307' - Content-Type: - - application/json ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '0' + - '243' + content-type: + - application/json date: - - Tue, 01 Jun 2021 09:21:51 GMT + - Wed, 16 Jun 2021 03:48:36 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-async-operation-timeout: - - PT1H - x-ms-ratelimit-remaining-subscription-writes: - - '1199' x-ms-return-client-request-id: - 'true' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -2776,18 +2773,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2796,7 +2794,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:22:02 GMT + - Wed, 16 Jun 2021 03:49:07 GMT expires: - '-1' pragma: @@ -2822,18 +2820,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2842,7 +2841,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:22:32 GMT + - Wed, 16 Jun 2021 03:49:37 GMT expires: - '-1' pragma: @@ -2868,18 +2867,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2888,7 +2888,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:23:02 GMT + - Wed, 16 Jun 2021 03:50:07 GMT expires: - '-1' pragma: @@ -2914,18 +2914,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2934,7 +2935,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:23:33 GMT + - Wed, 16 Jun 2021 03:50:38 GMT expires: - '-1' pragma: @@ -2960,18 +2961,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -2980,7 +2982,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:24:04 GMT + - Wed, 16 Jun 2021 03:51:09 GMT expires: - '-1' pragma: @@ -3006,18 +3008,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -3026,7 +3029,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:24:35 GMT + - Wed, 16 Jun 2021 03:51:39 GMT expires: - '-1' pragma: @@ -3052,18 +3055,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache @@ -3072,7 +3076,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:25:05 GMT + - Wed, 16 Jun 2021 03:52:10 GMT expires: - '-1' pragma: @@ -3098,27 +3102,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Succeeded","startTime":"2021-06-01T09:21:52Z","endTime":"2021-06-01T09:25:28Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1346' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:25:35 GMT + - Wed, 16 Jun 2021 03:52:41 GMT expires: - '-1' pragma: @@ -3144,27 +3149,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --resource-group --disks + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1067' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:25:36 GMT + - Wed, 16 Jun 2021 03:53:12 GMT expires: - '-1' pragma: @@ -3183,59 +3189,52 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"luns": [{"name": "lun0", "managedDiskAzureResourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}, - {"name": "lun1", "managedDiskAzureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}]}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target update + - disk-pool create Connection: - keep-alive - Content-Length: - - '386' - Content-Type: - - application/json ParameterSetName: - - --name --disk-pool-name --resource-group --luns --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '0' + - '243' + content-type: + - application/json date: - - Tue, 01 Jun 2021 09:25:38 GMT + - Wed, 16 Jun 2021 03:53:42 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-async-operation-timeout: - - PT1H - x-ms-ratelimit-remaining-subscription-writes: - - '1198' x-ms-return-client-request-id: - 'true' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -3244,27 +3243,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --luns --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Running","startTime":"2021-06-01T09:25:38Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '230' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:25:49 GMT + - Wed, 16 Jun 2021 03:54:12 GMT expires: - '-1' pragma: @@ -3290,27 +3290,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --luns --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Running","startTime":"2021-06-01T09:25:38Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '230' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:26:19 GMT + - Wed, 16 Jun 2021 03:54:44 GMT expires: - '-1' pragma: @@ -3336,44 +3337,615 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target update + - disk-pool create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --luns --luns + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:55:14 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:55:44 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:56:14 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:56: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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:57:16 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:57: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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Running","startTime":"2021-06-16T03:32:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:58:17 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/8e81a7aa-0639-4b65-9342-40464c550ea7?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/8e81a7aa-0639-4b65-9342-40464c550ea7","name":"8e81a7aa-0639-4b65-9342-40464c550ea7","status":"Succeeded","startTime":"2021-06-16T03:32:06Z","endTime":"2021-06-16T03:58:21Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T03:32:03.9430937Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1208' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:58:48 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T03:32:03.9430937Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 03:58:49 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T03:32:03.9430937Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 04:50:21 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools?api-version=2021-04-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T03:32:03.9430937Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '957' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 04:50:24 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool list-outbound-network-dependency-endpoint + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/outboundNetworkDependenciesEndpoints?api-version=2021-04-01-preview + response: + body: + string: '{"value":[{"category":"Microsoft Event Hub","endpoints":[{"domainName":"evhns-rp-prod-eus.servicebus.windows.net","endpointDetails":[{"port":443}]}]},{"category":"Microsoft + Service Bus","endpoints":[{"domainName":"sb-rp-prod-eus.servicebus.windows.net","endpointDetails":[{"port":443}]}]},{"category":"Microsoft + Storage","endpoints":[{"domainName":"strpprodeastus.blob.core.windows.net","endpointDetails":[{"port":443}]},{"domainName":"stbsprodeeastus.blob.core.windows.net","endpointDetails":[{"port":443}]}]},{"category":"Microsoft + Apt Mirror","endpoints":[{"domainName":"azure.archive.ubuntu.com","endpointDetails":[{"port":443}]}]}]}' + headers: + cache-control: + - no-cache + content-length: + - '637' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 04:50:25 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"aclMode": "Dynamic", "luns": [{"name": "lun0", "managedDiskAzureResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target create + Connection: + - keep-alive + Content-Length: + - '228' + Content-Type: + - application/json + ParameterSetName: + - --name --disk-pool-name --resource-group --acl-mode --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Running","startTime":"2021-06-01T09:25:38Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T04:50:27.1571342Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T04:50:27.1571342Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Pending","status":"Unknown"}}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '230' + - '849' content-type: - application/json date: - - Tue, 01 Jun 2021 09:26:50 GMT + - Wed, 16 Jun 2021 04:50:27 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-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1199' x-ms-return-client-request-id: - 'true' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -3382,27 +3954,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target update + - disk-pool iscsi-target create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --luns --luns + - --name --disk-pool-name --resource-group --acl-mode --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Succeeded","startTime":"2021-06-01T09:25:38Z","endTime":"2021-06-01T09:27:13Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:25:37.7054006Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87","name":"72fbed46-0eb4-4e29-b533-8d607d1c1a87","status":"Running","startTime":"2021-06-16T04:50:27Z"}' headers: cache-control: - no-cache content-length: - - '1314' + - '230' content-type: - application/json date: - - Tue, 01 Jun 2021 09:27:20 GMT + - Wed, 16 Jun 2021 04:50:37 GMT expires: - '-1' pragma: @@ -3428,27 +4000,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target update + - disk-pool iscsi-target create Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group --luns --luns + - --name --disk-pool-name --resource-group --acl-mode --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:25:37.7054006Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87","name":"72fbed46-0eb4-4e29-b533-8d607d1c1a87","status":"Running","startTime":"2021-06-16T04:50:27Z"}' headers: cache-control: - no-cache content-length: - - '1035' + - '230' content-type: - application/json date: - - Tue, 01 Jun 2021 09:27:20 GMT + - Wed, 16 Jun 2021 04:51:08 GMT expires: - '-1' pragma: @@ -3470,50 +4042,48 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target create Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - --name --resource-group + - --name --disk-pool-name --resource-group --acl-mode --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/deallocate?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87?api-version=2021-04-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87","name":"72fbed46-0eb4-4e29-b533-8d607d1c1a87","status":"Running","startTime":"2021-06-16T04:50:27Z"}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '0' + - '230' + content-type: + - application/json date: - - Tue, 01 Jun 2021 09:27:23 GMT + - Wed, 16 Jun 2021 04:51:38 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview pragma: - no-cache 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-return-client-request-id: - 'true' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -3522,27 +4092,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target create Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --disk-pool-name --resource-group --acl-mode --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/72fbed46-0eb4-4e29-b533-8d607d1c1a87","name":"72fbed46-0eb4-4e29-b533-8d607d1c1a87","status":"Succeeded","startTime":"2021-06-16T04:50:27Z","endTime":"2021-06-16T04:52:04Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T04:50:27.1571342Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T04:50:27.1571342Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' headers: cache-control: - no-cache content-length: - - '243' + - '1130' content-type: - application/json date: - - Tue, 01 Jun 2021 09:27:33 GMT + - Wed, 16 Jun 2021 04:52:10 GMT expires: - '-1' pragma: @@ -3568,27 +4138,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target create Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --disk-pool-name --resource-group --acl-mode --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T04:50:27.1571342Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T04:50:27.1571342Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' headers: cache-control: - no-cache content-length: - - '243' + - '851' content-type: - application/json date: - - Tue, 01 Jun 2021 09:28:04 GMT + - Wed, 16 Jun 2021 04:52:10 GMT expires: - '-1' pragma: @@ -3610,31 +4180,31 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target show Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --disk-pool-name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T04:50:27.1571342Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T04:50:27.1571342Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' headers: cache-control: - no-cache content-length: - - '243' + - '851' content-type: - application/json date: - - Tue, 01 Jun 2021 09:28:34 GMT + - Wed, 16 Jun 2021 06:26:57 GMT expires: - '-1' pragma: @@ -3656,31 +4226,31 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target list Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --disk-pool-name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T04:50:27.1571342Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T04:50:27.1571342Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}],"nextLink":null}' headers: cache-control: - no-cache content-length: - - '243' + - '879' content-type: - application/json date: - - Tue, 01 Jun 2021 09:29:05 GMT + - Wed, 16 Jun 2021 06:27:00 GMT expires: - '-1' pragma: @@ -3698,6 +4268,59 @@ interactions: status: code: 200 message: OK +- request: + body: '{"properties": {"disks": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + Content-Length: + - '307' + Content-Type: + - application/json + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 16 Jun 2021 06:27:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted - request: body: null headers: @@ -3706,18 +4329,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -3726,7 +4349,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:29:36 GMT + - Wed, 16 Jun 2021 06:27:27 GMT expires: - '-1' pragma: @@ -3752,18 +4375,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -3772,7 +4395,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:30:06 GMT + - Wed, 16 Jun 2021 06:27:58 GMT expires: - '-1' pragma: @@ -3798,18 +4421,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -3818,7 +4441,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:30:37 GMT + - Wed, 16 Jun 2021 06:28:28 GMT expires: - '-1' pragma: @@ -3844,18 +4467,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -3864,7 +4487,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:31:07 GMT + - Wed, 16 Jun 2021 06:28:59 GMT expires: - '-1' pragma: @@ -3890,18 +4513,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -3910,7 +4533,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:31:38 GMT + - Wed, 16 Jun 2021 06:29:29 GMT expires: - '-1' pragma: @@ -3936,18 +4559,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -3956,7 +4579,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:32:09 GMT + - Wed, 16 Jun 2021 06:30:00 GMT expires: - '-1' pragma: @@ -3982,18 +4605,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -4002,7 +4625,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:32:39 GMT + - Wed, 16 Jun 2021 06:30:31 GMT expires: - '-1' pragma: @@ -4028,18 +4651,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -4048,7 +4671,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:33:10 GMT + - Wed, 16 Jun 2021 06:31:01 GMT expires: - '-1' pragma: @@ -4074,18 +4697,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -4094,7 +4717,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:33:41 GMT + - Wed, 16 Jun 2021 06:31:31 GMT expires: - '-1' pragma: @@ -4120,18 +4743,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -4140,7 +4763,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:34:11 GMT + - Wed, 16 Jun 2021 06:32:02 GMT expires: - '-1' pragma: @@ -4166,18 +4789,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Running","startTime":"2021-06-16T06:27:17Z","endTime":""}' headers: cache-control: - no-cache @@ -4186,7 +4809,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:34:41 GMT + - Wed, 16 Jun 2021 06:32:32 GMT expires: - '-1' pragma: @@ -4212,27 +4835,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/09693714-9411-4fec-bc88-43ea10b9c57e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/09693714-9411-4fec-bc88-43ea10b9c57e","name":"09693714-9411-4fec-bc88-43ea10b9c57e","status":"Succeeded","startTime":"2021-06-16T06:27:17Z","endTime":"2021-06-16T06:33:00Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:27:15.6381309Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' headers: cache-control: - no-cache content-length: - - '243' + - '1346' content-type: - application/json date: - - Tue, 01 Jun 2021 09:35:12 GMT + - Wed, 16 Jun 2021 06:33:04 GMT expires: - '-1' pragma: @@ -4258,27 +4881,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --resource-group --disks User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:27:15.6381309Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' headers: cache-control: - no-cache content-length: - - '243' + - '1067' content-type: - application/json date: - - Tue, 01 Jun 2021 09:35:43 GMT + - Wed, 16 Jun 2021 06:33:05 GMT expires: - '-1' pragma: @@ -4296,6 +4919,60 @@ interactions: status: code: 200 message: OK +- request: + body: '{"properties": {"luns": [{"name": "lun0", "managedDiskAzureResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}, + {"name": "lun1", "managedDiskAzureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target update + Connection: + - keep-alive + Content-Length: + - '386' + Content-Type: + - application/json + ParameterSetName: + - --name --disk-pool-name --resource-group --luns --luns + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d5226da4-68af-4502-a2cb-0bc58307266f?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 16 Jun 2021 06:35:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/d5226da4-68af-4502-a2cb-0bc58307266f?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted - request: body: null headers: @@ -4304,27 +4981,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --disk-pool-name --resource-group --luns --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d5226da4-68af-4502-a2cb-0bc58307266f?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/d5226da4-68af-4502-a2cb-0bc58307266f","name":"d5226da4-68af-4502-a2cb-0bc58307266f","status":"Running","startTime":"2021-06-16T06:35:16Z"}' headers: cache-control: - no-cache content-length: - - '243' + - '230' content-type: - application/json date: - - Tue, 01 Jun 2021 09:36:13 GMT + - Wed, 16 Jun 2021 06:35:26 GMT expires: - '-1' pragma: @@ -4350,27 +5027,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --disk-pool-name --resource-group --luns --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d5226da4-68af-4502-a2cb-0bc58307266f?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/d5226da4-68af-4502-a2cb-0bc58307266f","name":"d5226da4-68af-4502-a2cb-0bc58307266f","status":"Succeeded","startTime":"2021-06-16T06:35:16Z","endTime":"2021-06-16T06:35:33Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T04:50:27.1571342Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:35:14.9113001Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' headers: cache-control: - no-cache content-length: - - '243' + - '1314' content-type: - application/json date: - - Tue, 01 Jun 2021 09:36:44 GMT + - Wed, 16 Jun 2021 06:35:57 GMT expires: - '-1' pragma: @@ -4396,27 +5073,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool stop + - disk-pool iscsi-target update Connection: - keep-alive ParameterSetName: - - --name --resource-group + - --name --disk-pool-name --resource-group --luns --luns User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T04:50:27.1571342Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:35:14.9113001Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' headers: cache-control: - no-cache content-length: - - '243' + - '1035' content-type: - application/json date: - - Tue, 01 Jun 2021 09:37:15 GMT + - Wed, 16 Jun 2021 06:35:57 GMT expires: - '-1' pragma: @@ -4438,48 +5115,52 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - disk-pool stop Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/deallocate?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '243' - content-type: - - application/json + - '0' date: - - Tue, 01 Jun 2021 09:37:45 GMT + - Wed, 16 Jun 2021 06:35:58 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1199' x-ms-return-client-request-id: - 'true' status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -4494,12 +5175,12 @@ interactions: ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4508,7 +5189,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:38:16 GMT + - Wed, 16 Jun 2021 06:36:09 GMT expires: - '-1' pragma: @@ -4540,12 +5221,12 @@ interactions: ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4554,7 +5235,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:38:46 GMT + - Wed, 16 Jun 2021 06:36:39 GMT expires: - '-1' pragma: @@ -4586,12 +5267,12 @@ interactions: ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4600,7 +5281,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:39:17 GMT + - Wed, 16 Jun 2021 06:37:10 GMT expires: - '-1' pragma: @@ -4632,22 +5313,21 @@ interactions: ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Succeeded","startTime":"2021-06-01T09:27:23Z","endTime":"2021-06-01T09:39:34Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped - (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1360' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:39:47 GMT + - Wed, 16 Jun 2021 06:37:41 GMT expires: - '-1' pragma: @@ -4669,32 +5349,31 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool show + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped - (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1081' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:39:50 GMT + - Wed, 16 Jun 2021 06:38:11 GMT expires: - '-1' pragma: @@ -4716,50 +5395,48 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/start?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '0' + - '243' + content-type: + - application/json date: - - Tue, 01 Jun 2021 09:39:51 GMT + - Wed, 16 Jun 2021 06:38:42 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview pragma: - no-cache 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-return-client-request-id: - 'true' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -4768,18 +5445,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4788,7 +5465,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:40:02 GMT + - Wed, 16 Jun 2021 06:39:12 GMT expires: - '-1' pragma: @@ -4814,18 +5491,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4834,7 +5511,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:40:32 GMT + - Wed, 16 Jun 2021 06:39:43 GMT expires: - '-1' pragma: @@ -4860,18 +5537,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4880,7 +5557,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:41:03 GMT + - Wed, 16 Jun 2021 06:40:14 GMT expires: - '-1' pragma: @@ -4906,18 +5583,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4926,7 +5603,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:41:33 GMT + - Wed, 16 Jun 2021 06:40:44 GMT expires: - '-1' pragma: @@ -4952,18 +5629,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -4972,7 +5649,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:42:03 GMT + - Wed, 16 Jun 2021 06:41:14 GMT expires: - '-1' pragma: @@ -4998,18 +5675,18 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Running","startTime":"2021-06-16T06:35:59Z","endTime":""}' headers: cache-control: - no-cache @@ -5018,7 +5695,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:42:35 GMT + - Wed, 16 Jun 2021 06:41:45 GMT expires: - '-1' pragma: @@ -5044,27 +5721,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Succeeded","startTime":"2021-06-01T09:39:51Z","endTime":"2021-06-01T09:42:48Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3e61ab2f-523b-4454-9610-d0cad1cabb0a","name":"3e61ab2f-523b-4454-9610-d0cad1cabb0a","status":"Succeeded","startTime":"2021-06-16T06:35:59Z","endTime":"2021-06-16T06:42:09Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:27:15.6381309Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped + (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}}' headers: cache-control: - no-cache content-length: - - '1346' + - '1360' content-type: - application/json date: - - Tue, 01 Jun 2021 09:43:05 GMT + - Wed, 16 Jun 2021 06:42:17 GMT expires: - '-1' pragma: @@ -5096,21 +5774,22 @@ interactions: ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:27:15.6381309Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped + (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}' headers: cache-control: - no-cache content-length: - - '1067' + - '1081' content-type: - application/json date: - - Tue, 01 Jun 2021 09:43:07 GMT + - Wed, 16 Jun 2021 06:42:19 GMT expires: - '-1' pragma: @@ -5136,33 +5815,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool start Connection: - keep-alive Content-Length: - '0' ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/start?api-version=2021-04-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a?api-version=2021-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Tue, 01 Jun 2021 09:43:08 GMT + - Wed, 16 Jun 2021 06:42:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/b922af2d-e06a-46fc-a4c7-3d96ae8af24a?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -5171,8 +5850,8 @@ interactions: - nosniff x-ms-async-operation-timeout: - PT1H - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' x-ms-return-client-request-id: - 'true' status: @@ -5186,27 +5865,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool start Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Running","startTime":"2021-06-01T09:43:09Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a","name":"b922af2d-e06a-46fc-a4c7-3d96ae8af24a","status":"Running","startTime":"2021-06-16T06:42:21Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '224' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:43:19 GMT + - Wed, 16 Jun 2021 06:42:32 GMT expires: - '-1' pragma: @@ -5232,27 +5911,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool start Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Running","startTime":"2021-06-01T09:43:09Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a","name":"b922af2d-e06a-46fc-a4c7-3d96ae8af24a","status":"Running","startTime":"2021-06-16T06:42:21Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '224' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:43:49 GMT + - Wed, 16 Jun 2021 06:43:02 GMT expires: - '-1' pragma: @@ -5278,27 +5957,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool start Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Running","startTime":"2021-06-01T09:43:09Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a","name":"b922af2d-e06a-46fc-a4c7-3d96ae8af24a","status":"Running","startTime":"2021-06-16T06:42:21Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '224' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:44:21 GMT + - Wed, 16 Jun 2021 06:43:33 GMT expires: - '-1' pragma: @@ -5324,27 +6003,73 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool start Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Succeeded","startTime":"2021-06-01T09:43:09Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a","name":"b922af2d-e06a-46fc-a4c7-3d96ae8af24a","status":"Running","startTime":"2021-06-16T06:42:21Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '232' + - '243' + content-type: + - application/json + date: + - Wed, 16 Jun 2021 06:44:03 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-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b922af2d-e06a-46fc-a4c7-3d96ae8af24a","name":"b922af2d-e06a-46fc-a4c7-3d96ae8af24a","status":"Succeeded","startTime":"2021-06-16T06:42:21Z","endTime":"2021-06-16T06:44:21Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:27:15.6381309Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1346' content-type: - application/json date: - - Tue, 01 Jun 2021 09:44:51 GMT + - Wed, 16 Jun 2021 06:44:34 GMT expires: - '-1' pragma: @@ -5370,27 +6095,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target list + - disk-pool show Connection: - keep-alive ParameterSetName: - - --disk-pool-name --resource-group + - --name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"value":[],"nextLink":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-16T03:32:03.9430937Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-16T06:27:15.6381309Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' headers: cache-control: - no-cache content-length: - - '28' + - '1067' content-type: - application/json date: - - Tue, 01 Jun 2021 09:44:52 GMT + - Wed, 16 Jun 2021 06:44:37 GMT expires: - '-1' pragma: @@ -5416,33 +6141,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool delete + - disk-pool iscsi-target delete Connection: - keep-alive Content-Length: - '0' ParameterSetName: - - --name --resource-group -y + - --name --disk-pool-name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/eb01e89c-4af4-4f78-a619-118827dbdb86?api-version=2021-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Tue, 01 Jun 2021 09:44:55 GMT + - Wed, 16 Jun 2021 06:44:39 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/eb01e89c-4af4-4f78-a619-118827dbdb86?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -5466,27 +6191,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool delete + - disk-pool iscsi-target delete Connection: - keep-alive ParameterSetName: - - --name --resource-group -y + - --name --disk-pool-name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/eb01e89c-4af4-4f78-a619-118827dbdb86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/eb01e89c-4af4-4f78-a619-118827dbdb86","name":"eb01e89c-4af4-4f78-a619-118827dbdb86","status":"Running","startTime":"2021-06-16T06:44:39Z"}' headers: cache-control: - no-cache content-length: - - '237' + - '230' content-type: - application/json date: - - Tue, 01 Jun 2021 09:45:05 GMT + - Wed, 16 Jun 2021 06:44:49 GMT expires: - '-1' pragma: @@ -5512,27 +6237,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool delete + - disk-pool iscsi-target delete Connection: - keep-alive ParameterSetName: - - --name --resource-group -y + - --name --disk-pool-name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/eb01e89c-4af4-4f78-a619-118827dbdb86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/eb01e89c-4af4-4f78-a619-118827dbdb86","name":"eb01e89c-4af4-4f78-a619-118827dbdb86","status":"Running","startTime":"2021-06-16T06:44:39Z"}' headers: cache-control: - no-cache content-length: - - '237' + - '230' content-type: - application/json date: - - Tue, 01 Jun 2021 09:45:35 GMT + - Wed, 16 Jun 2021 06:45:20 GMT expires: - '-1' pragma: @@ -5558,27 +6283,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool delete + - disk-pool iscsi-target delete Connection: - keep-alive ParameterSetName: - - --name --resource-group -y + - --name --disk-pool-name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/eb01e89c-4af4-4f78-a619-118827dbdb86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/eb01e89c-4af4-4f78-a619-118827dbdb86","name":"eb01e89c-4af4-4f78-a619-118827dbdb86","status":"Running","startTime":"2021-06-16T06:44:39Z"}' headers: cache-control: - no-cache content-length: - - '237' + - '230' content-type: - application/json date: - - Tue, 01 Jun 2021 09:46:06 GMT + - Wed, 16 Jun 2021 06:45:50 GMT expires: - '-1' pragma: @@ -5604,27 +6329,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool delete + - disk-pool iscsi-target delete Connection: - keep-alive ParameterSetName: - - --name --resource-group -y + - --name --disk-pool-name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/eb01e89c-4af4-4f78-a619-118827dbdb86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/eb01e89c-4af4-4f78-a619-118827dbdb86","name":"eb01e89c-4af4-4f78-a619-118827dbdb86","status":"Succeeded","startTime":"2021-06-16T06:44:39Z"}' headers: cache-control: - no-cache content-length: - - '237' + - '232' content-type: - application/json date: - - Tue, 01 Jun 2021 09:46:36 GMT + - Wed, 16 Jun 2021 06:46:21 GMT expires: - '-1' pragma: @@ -5646,31 +6371,31 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - - disk-pool delete + - disk-pool iscsi-target list Connection: - keep-alive ParameterSetName: - - --name --resource-group -y + - --disk-pool-name --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"value":[],"nextLink":null}' headers: cache-control: - no-cache content-length: - - '237' + - '28' content-type: - application/json date: - - Tue, 01 Jun 2021 09:47:06 GMT + - Wed, 16 Jun 2021 06:46:23 GMT expires: - '-1' pragma: @@ -5692,48 +6417,52 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - disk-pool delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '237' - content-type: - - application/json + - '0' date: - - Tue, 01 Jun 2021 09:47:37 GMT + - Wed, 16 Jun 2021 06:46:25 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' x-ms-return-client-request-id: - 'true' status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -5748,21 +6477,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:48:08 GMT + - Wed, 16 Jun 2021 06:46:35 GMT expires: - '-1' pragma: @@ -5794,21 +6523,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:48:39 GMT + - Wed, 16 Jun 2021 06:47:06 GMT expires: - '-1' pragma: @@ -5840,21 +6569,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:49:09 GMT + - Wed, 16 Jun 2021 06:47:36 GMT expires: - '-1' pragma: @@ -5886,21 +6615,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:49:40 GMT + - Wed, 16 Jun 2021 06:48:08 GMT expires: - '-1' pragma: @@ -5932,21 +6661,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:50:10 GMT + - Wed, 16 Jun 2021 06:48:38 GMT expires: - '-1' pragma: @@ -5978,21 +6707,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:50:41 GMT + - Wed, 16 Jun 2021 06:49:08 GMT expires: - '-1' pragma: @@ -6024,21 +6753,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:51:11 GMT + - Wed, 16 Jun 2021 06:49:39 GMT expires: - '-1' pragma: @@ -6070,21 +6799,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:51:43 GMT + - Wed, 16 Jun 2021 06:50:09 GMT expires: - '-1' pragma: @@ -6116,21 +6845,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:52:13 GMT + - Wed, 16 Jun 2021 06:50:40 GMT expires: - '-1' pragma: @@ -6162,21 +6891,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Running","startTime":"2021-06-16T06:46:25Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '237' + - '243' content-type: - application/json date: - - Tue, 01 Jun 2021 09:52:43 GMT + - Wed, 16 Jun 2021 06:51:11 GMT expires: - '-1' pragma: @@ -6208,21 +6937,21 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Succeeded","startTime":"2021-06-01T09:44:55Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","name":"b8cb2c96-fc9e-43ff-bc35-349d8c4b51e3","status":"Succeeded","startTime":"2021-06-16T06:46:25Z","endTime":"2021-06-16T06:51:36Z"}' headers: cache-control: - no-cache content-length: - - '245' + - '265' content-type: - application/json date: - - Tue, 01 Jun 2021 09:53:14 GMT + - Wed, 16 Jun 2021 06:51:42 GMT expires: - '-1' pragma: @@ -6254,7 +6983,7 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.25.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools?api-version=2021-04-01-preview response: @@ -6268,7 +6997,7 @@ interactions: content-type: - application/json date: - - Tue, 01 Jun 2021 09:53:16 GMT + - Wed, 16 Jun 2021 06:51:44 GMT expires: - '-1' pragma: diff --git a/src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py b/src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py index 8fb778a7df3..8449d5e6234 100644 --- a/src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py +++ b/src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py @@ -29,10 +29,10 @@ def test_diskpool_scenario_manual(self, resource_group): 'storagePoolObjectId': '09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad' }) result = self.cmd('disk create --name {diskName} --resource-group {rg} --zone {zone} --location {location} ' - '--sku Premium_LRS --max-shares 2 --size-gb 256').get_output_in_json() + '--sku Premium_LRS --max-shares 2 --size-gb 1024').get_output_in_json() self.kwargs['diskId'] = result['id'] result = self.cmd('disk create --name {diskName2} --resource-group {rg} --zone {zone} --location {location} ' - '--sku Premium_LRS --max-shares 2 --size-gb 256').get_output_in_json() + '--sku Premium_LRS --max-shares 2 --size-gb 1024').get_output_in_json() self.kwargs['diskId2'] = result['id'] with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=self.create_guid): self.cmd('role assignment create --assignee-object-id {storagePoolObjectId} --role "Virtual Machine Contributor" --scope {diskId}') @@ -61,9 +61,8 @@ def test_diskpool_scenario_manual(self, resource_group): self.cmd('disk-pool list --resource-group {rg}', checks=[self.check('length(@)', 1)]) - # TODO: Add back when fixed in server - # self.cmd('disk-pool list-outbound-network-dependency-endpoint --name {diskPoolName} --resource-group {rg}', - # checks=[self.check('length(@)', 1)]) + self.cmd('disk-pool list-outbound-network-dependency-endpoint --name {diskPoolName} --resource-group {rg}', + checks=[self.check('length(@)', 4)]) # Create an ISCSI target self.cmd('disk-pool iscsi-target create --name {targetName} --disk-pool-name {diskPoolName} ' diff --git a/src/diskpool/gen.zip b/src/diskpool/gen.zip index 5cc78ecaf40497964458f748eb6bae90ceaacb9f..71ffdbab05cc74c73f845d37ff44c10bf242c1ad 100644 GIT binary patch delta 1091 zcma)6U1-x#6mFVX_G9h(vr5-)yOFwfY0G9eaSIIU4;wPjvC&Qt4PAH9uq}y6iWF4b zi-?F)4)~&?zWAbo62v`C=9}(iD8A{F@4AWan%m@NT0y*UbMJTVch1Q@-$}k#A6$-4 zPq8iS9y01j-pyRuEyGEWo%qjv_)|Nt5{yZa-}9( ztExz{0qZOWD%)c2XJ2`JS)`p4^YCfc3A*Kd$9da2AhaWE=-8;LqF%vrS(B8sfpvqN zJDzo4qJ@MoxmJmRu2_H~nHm0{*J+No*%5^sZIMP4ut0c8(v4;k*V+r8+YZjL%FEcmnkZYV!x?CZR)DKRQJ4%O z_!um@(uO#?oeC9#q>q>heoc#eJY;6AKI(&l&}nXjj(Y9u*HOuw?|Q>hGzYcV&CDb= z5V;j1*Fscg znLIpOV delta 489 zcmbPV`>9kqz?+$civa{Y+ztkv;g4UeC&a)2!lsi8MdUYHy-VRq%^q{fS|Y}wIDvZC^fMpRih-exI{;xD1CE3M<(Os8V>%=6FG7iCwp`8Pd4I` z;DpOh?&px3EXA)l`52eLB0vekq2~;vpHWr#UIYYR6@=syK z$qFJ4d>}t^nv09fl4M|*CAm3Iq?Bp$V!4pbw&I7FL5#_f(!G=88Command `az disk-pool list-outbound-network-dependency-endpoint` + +##### Example +``` +az disk-pool list-outbound-network-dependency-endpoint --name "SampleAse" --resource-group \ +"Sample-WestUSResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| + #### Command `az disk-pool list-skus` ##### Example diff --git a/src/diskpool/setup.py b/src/diskpool/setup.py index 8bfa1256ec9..a731b37c907 100644 --- a/src/diskpool/setup.py +++ b/src/diskpool/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.1' +VERSION = '0.1.2' try: from azext_diskpool.manual.version import VERSION except ImportError: From ab3d44a2b29d93e0c09a933a59c70e9392ef8aad Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 25 Jun 2021 16:27:15 +0800 Subject: [PATCH 19/85] [Release] Update index.json for extension [ diskpool ] (#3548) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=966621 Last commit: https://github.com/Azure/azure-cli-extensions/commit/bea72c81d280bc58444dbf7ba85a3998e76098ae --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index de19ecdce36..58779d6aefe 100644 --- a/src/index.json +++ b/src/index.json @@ -9462,6 +9462,49 @@ "version": "0.1.1" }, "sha256Digest": "d65e6f09c39461b78f052eec22eaf239b1d988aa63f3927470b74d28d0b2f95b" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/diskpool-0.1.2-py3-none-any.whl", + "filename": "diskpool-0.1.2-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.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/tree/master/src/diskpool" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "diskpool", + "summary": "Microsoft Azure Command-Line Tools StoragePoolManagement Extension", + "version": "0.1.2" + }, + "sha256Digest": "3ffe1291c8c7132a9caf77e66105027ae8a980c92ad757b0195c3f51090c3e6a" } ], "dms-preview": [ From e4a423ac775bd42aa061841f9045b7a3ed95b016 Mon Sep 17 00:00:00 2001 From: Menghua Xiao Date: Mon, 28 Jun 2021 14:22:07 +0800 Subject: [PATCH 20/85] Add support for 0.5 core / 512 Mi resource requests for spring-cloud deployments (#3486) * update bundled SDK for spring-cloud * Add support for 0.5 core, 512 Mi resource requests in app deployment * Add support to format log streaming of structured JSON output * fix: default logging style * Add support to output Spring Boot flavored logger name * fix style and linter issue in new code * change new api-version from 2021-03-03-preview to 2021-06-01-preview * update to use 2021-06-01-preview api-version * fix resource quantity validation * bump the spring-cloud extension version to 2.5.0 * update according to review comments * refine comments for cpu/memory validation * fix: lint style for _resource_quantity.py * fix: fix reset cpu/memory settings on env update --- src/spring-cloud/HISTORY.md | 7 +- .../azext_spring_cloud/_client_factory.py | 107 +- .../azext_spring_cloud/_params.py | 16 +- .../azext_spring_cloud/_resource_quantity.py | 54 + .../azext_spring_cloud/commands.py | 11 +- src/spring-cloud/azext_spring_cloud/custom.py | 111 +- .../_app_platform_management_client.py | 37 + .../v2019_05_01_preview/models/__init__.py | 5 + .../_app_platform_management_client_enums.py | 6 + .../v2019_05_01_preview/models/_models.py | 60 +- .../v2019_05_01_preview/models/_models_py3.py | 58 +- .../v2020_07_01/models/__init__.py | 5 + .../_app_platform_management_client_enums.py | 6 + .../appplatform/v2020_07_01/models/_models.py | 52 + .../v2020_07_01/models/_models_py3.py | 52 + .../v2020_11_01_preview/models/_models.py | 16 +- .../v2020_11_01_preview/models/_models_py3.py | 16 +- .../v2021_06_01_preview/__init__.py | 19 + .../_app_platform_management_client.py | 101 + .../v2021_06_01_preview/_configuration.py | 50 + .../v2021_06_01_preview/models/__init__.py | 249 ++ .../_app_platform_management_client_enums.py | 135 ++ .../v2021_06_01_preview/models/_models.py | 2160 +++++++++++++++++ .../v2021_06_01_preview/models/_models_py3.py | 2160 +++++++++++++++++ .../models/_paged_models.py | 118 + .../operations/__init__.py | 36 + .../operations/_apps_operations.py | 634 +++++ .../operations/_bindings_operations.py | 510 ++++ .../operations/_certificates_operations.py | 381 +++ .../operations/_config_servers_operations.py | 428 ++++ .../operations/_custom_domains_operations.py | 510 ++++ .../operations/_deployments_operations.py | 935 +++++++ .../_monitoring_settings_operations.py | 322 +++ .../operations/_operations.py | 103 + .../_runtime_versions_operations.py | 93 + .../operations/_services_operations.py | 859 +++++++ .../operations/_skus_operations.py | 106 + .../v2021_06_01_preview/version.py | 13 + .../vendored_sdks/appplatform/version.py | 2 +- src/spring-cloud/setup.py | 2 +- 40 files changed, 10413 insertions(+), 132 deletions(-) create mode 100644 src/spring-cloud/azext_spring_cloud/_resource_quantity.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_app_platform_management_client.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_configuration.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_app_platform_management_client_enums.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_paged_models.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_apps_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_bindings_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_certificates_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_config_servers_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_custom_domains_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_deployments_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_monitoring_settings_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_runtime_versions_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_services_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_skus_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/version.py diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index a9dd04acf39..7b4d10f8318 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,8 +1,13 @@ Release History =============== + +2.6.0 +----- +* Add support for 0.5 core, 512 Mi resource requests in app deployment + 2.5.1 ----- -* Revert `2.5.0` as a quick fix for incompatibility with old api-version. +* Revert `2.5.0` as a quick fix for incompatibility with old api-version. ~~2.5.0~~ ----- diff --git a/src/spring-cloud/azext_spring_cloud/_client_factory.py b/src/spring-cloud/azext_spring_cloud/_client_factory.py index 3e99cbb1e32..90b0fbb4ec4 100644 --- a/src/spring-cloud/azext_spring_cloud/_client_factory.py +++ b/src/spring-cloud/azext_spring_cloud/_client_factory.py @@ -1,49 +1,58 @@ -# -------------------------------------------------------------------------------------------- -# 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 .vendored_sdks.appplatform.v2020_07_01 import AppPlatformManagementClient -from .vendored_sdks.appplatform.v2020_11_01_preview import AppPlatformManagementClient as AppPlatformManagementClient_20201101preview - - -def cf_spring_cloud(cli_ctx, *_): - return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient) - - -def cf_spring_cloud_20201101preview(cli_ctx, *_): - return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient_20201101preview) - - -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 cf_app_services(cli_ctx, *_): - return cf_spring_cloud(cli_ctx).services - - -def cf_apps(cli_ctx, *_): - return cf_spring_cloud(cli_ctx).apps - - -def cf_deployments(cli_ctx, *_): - return cf_spring_cloud(cli_ctx).deployments - - -def cf_bindings(cli_ctx, *_): - return cf_spring_cloud(cli_ctx).bindings - - -def cf_config_servers(cli_ctx, *_): - return cf_spring_cloud(cli_ctx).config_servers - - -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 +# -------------------------------------------------------------------------------------------- +# 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 .vendored_sdks.appplatform.v2020_07_01 import AppPlatformManagementClient +from .vendored_sdks.appplatform.v2020_11_01_preview import ( + AppPlatformManagementClient as AppPlatformManagementClient_20201101preview +) +from .vendored_sdks.appplatform.v2021_06_01_preview import ( + AppPlatformManagementClient as AppPlatformManagementClient_20210601preview +) + + +def cf_spring_cloud(cli_ctx, *_): + return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient) + + +def cf_spring_cloud_20201101preview(cli_ctx, *_): + return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient_20201101preview) + + +def cf_spring_cloud_20210601preview(cli_ctx, *_): + return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient_20210601preview) + + +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 cf_app_services(cli_ctx, *_): + return cf_spring_cloud(cli_ctx).services + + +def cf_apps(cli_ctx, *_): + return cf_spring_cloud(cli_ctx).apps + + +def cf_deployments(cli_ctx, *_): + return cf_spring_cloud(cli_ctx).deployments + + +def cf_bindings(cli_ctx, *_): + return cf_spring_cloud(cli_ctx).bindings + + +def cf_config_servers(cli_ctx, *_): + return cf_spring_cloud(cli_ctx).config_servers + + +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/_params.py b/src/spring-cloud/azext_spring_cloud/_params.py index 6e441130fb1..426798fba89 100644 --- a/src/spring-cloud/azext_spring_cloud/_params.py +++ b/src/spring-cloud/azext_spring_cloud/_params.py @@ -79,10 +79,10 @@ def load_arguments(self, _): options_list=['--assign-endpoint', c.deprecate(target='--is-public', redirect='--assign-endpoint', hide=True)]) c.argument('assign_identity', arg_type=get_three_state_flag(), help='If true, assign managed service identity.') - c.argument('cpu', type=int, default=1, - help='Number of virtual cpu cores per instance.') - c.argument('memory', type=int, default=1, - help='Number of GB of memory per instance.') + c.argument('cpu', type=str, default="1", + help='CPU resource quantity. Should be 500m or number of CPU cores.') + c.argument('memory', type=str, default="1Gi", + help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.') c.argument('instance_count', type=int, default=1, help='Number of instance.', validator=validate_instance_count) @@ -140,8 +140,8 @@ def prepare_logs_argument(c): c.argument('env', env_type) with self.argument_context('spring-cloud app scale') as c: - 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('cpu', type=str, help='CPU resource quantity. Should be 500m or number of CPU cores.') + c.argument('memory', type=str, help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.') c.argument('instance_count', type=int, help='Number of instance.', validator=validate_instance_count) for scope in ['spring-cloud app deploy', 'spring-cloud app deployment create']: @@ -160,8 +160,8 @@ def prepare_logs_argument(c): with self.argument_context('spring-cloud app deployment create') as c: c.argument('skip_clone_settings', help='Create staging deployment will automatically copy settings from production deployment.', action='store_true') - 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('cpu', type=str, help='CPU resource quantity. Should be 500m or number of CPU cores.') + c.argument('memory', type=str, help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.') c.argument('instance_count', type=int, help='Number of instance.', validator=validate_instance_count) with self.argument_context('spring-cloud app deployment') as c: diff --git a/src/spring-cloud/azext_spring_cloud/_resource_quantity.py b/src/spring-cloud/azext_spring_cloud/_resource_quantity.py new file mode 100644 index 00000000000..128f58ebf61 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_resource_quantity.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. +# -------------------------------------------------------------------------------------------- + + +import re +from knack.log import get_logger +from azure.cli.core.azclierror import InvalidArgumentValueError + + +logger = get_logger(__name__) + + +def validate_cpu(cpu): + ''' + CPU quantity should be either integer, or millis. Currently, 500m (aka 0.5) is the only allowed fractional value. + Note that 1 can be represented as 1000m. + ''' + if cpu is None: + return None + + # some digit(s) followed by an optional m + if not re.match(r"^\d+m?$", cpu): + raise InvalidArgumentValueError("CPU quantity should be millis (500m) or integer (1, 2, ...)") + + return cpu + + +def validate_memory(memory): + ''' + Memory quantity should be in gigabytes (Gi) or megabytes (Mi). Currently, the only allowed fractional gigabytes + quantity is 512Mi. Note that 1Gi can be specified with 1024Mi. + + In the legacy extension, gigabytes is specified with integer. This will generate a warning now. + ''' + if memory is None: + return None + + unified = memory + try: + # For backward compatibility, convert integer value to value with Gi unit + int(memory) + logger.warning("Memory quantity [--memory] should be specified with unit, such as 512Mi, 1Gi. " + "Support for integer quantity will be dropped in future release.") + unified = memory + "Gi" + except ValueError: + pass + + # Some digit(s) followed by explicit unit (Mi or Gi) + if not re.match(r"^\d+[MG]i$", unified): + raise InvalidArgumentValueError("Memory quantity should be integer followed by unit (Mi/Gi)") + + return unified diff --git a/src/spring-cloud/azext_spring_cloud/commands.py b/src/spring-cloud/azext_spring_cloud/commands.py index d0c05339a16..ef61aed689c 100644 --- a/src/spring-cloud/azext_spring_cloud/commands.py +++ b/src/spring-cloud/azext_spring_cloud/commands.py @@ -4,7 +4,12 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -from ._client_factory import (cf_app_services, cf_spring_cloud, cf_spring_cloud_20201101preview, cf_bindings, cf_config_servers) +from ._client_factory import (cf_app_services, + cf_spring_cloud, + cf_spring_cloud_20201101preview, + cf_spring_cloud_20210601preview, + cf_bindings, + cf_config_servers) from ._transformers import (transform_spring_cloud_table_output, transform_app_table_output, transform_spring_cloud_deployment_output, @@ -40,7 +45,7 @@ def load_command_table(self, _): g.custom_command('repo update', 'config_repo_update') g.custom_command('repo list', 'config_repo_list') - with self.command_group('spring-cloud app', client_factory=cf_spring_cloud_20201101preview) as g: + with self.command_group('spring-cloud app', client_factory=cf_spring_cloud_20210601preview) as g: g.custom_command('create', 'app_create') g.custom_command('update', 'app_update') g.custom_command('deploy', 'app_deploy', supports_no_wait=True) @@ -69,7 +74,7 @@ def load_command_table(self, _): deprecate_info=g.deprecate(redirect='az spring-cloud app logs', hide=True)) as g: g.custom_command('tail', 'app_tail_log') - with self.command_group('spring-cloud app deployment', client_factory=cf_spring_cloud) as g: + with self.command_group('spring-cloud app deployment', client_factory=cf_spring_cloud_20210601preview) as g: g.custom_command('create', 'deployment_create', supports_no_wait=True) g.custom_command('list', 'deployment_list', table_transformer=transform_spring_cloud_deployment_output) diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index 974f5af3dda..c5dce3dafd0 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -16,6 +16,7 @@ from knack.util import CLIError from .vendored_sdks.appplatform.v2020_07_01 import models from .vendored_sdks.appplatform.v2020_11_01_preview import models as models_20201101preview +from .vendored_sdks.appplatform.v2021_06_01_preview import models as models_20210601preview from .vendored_sdks.appplatform.v2020_07_01.models import _app_platform_management_client_enums as AppPlatformEnums from .vendored_sdks.appplatform.v2020_11_01_preview import ( AppPlatformManagementClient as AppPlatformManagementClient_20201101preview @@ -31,6 +32,7 @@ from azure.cli.core.commands import cached_put from ._utils import _get_rg_location from ._utils import _get_sku_name +from ._resource_quantity import validate_cpu, validate_memory from six.moves.urllib import parse from threading import Thread from threading import Timer @@ -224,60 +226,66 @@ def app_create(cmd, client, resource_group, service, name, env=None, enable_persistent_storage=None, assign_identity=None): + cpu = validate_cpu(cpu) + memory = validate_memory(memory) 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() - properties.temporary_disk = models.TemporaryDisk( + properties = models_20210601preview.AppResourceProperties() + properties.temporary_disk = models_20210601preview.TemporaryDisk( size_in_gb=5, mount_path="/tmp") resource = client.services.get(resource_group, service) _validate_instance_count(resource.sku.tier, instance_count) - app_resource = models.AppResource() + app_resource = models_20210601preview.AppResource() app_resource.properties = properties app_resource.location = resource.location if assign_identity is True: - app_resource.identity = models.ManagedIdentityProperties(type="systemassigned") + app_resource.identity = models_20210601preview.ManagedIdentityProperties(type="systemassigned") poller = client.apps.create_or_update( resource_group, service, name, app_resource) while poller.done() is False: sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) - deployment_settings = models.DeploymentSettings( - cpu=cpu, - memory_in_gb=memory, + resource_requests = models_20210601preview.ResourceRequests(cpu=cpu, memory=memory) + + deployment_settings = models_20210601preview.DeploymentSettings( + resource_requests=resource_requests, environment_variables=env, jvm_options=jvm_options, net_core_main_entry_path=None, runtime_version=runtime_version) + deployment_settings.cpu = None + deployment_settings.memory_in_gb = None file_type = "NetCoreZip" if runtime_version == AppPlatformEnums.RuntimeVersion.net_core_31 else "Jar" - user_source_info = models.UserSourceInfo( + user_source_info = models_20210601preview.UserSourceInfo( relative_path='', type=file_type) - properties = models.DeploymentResourceProperties( + properties = models_20210601preview.DeploymentResourceProperties( deployment_settings=deployment_settings, source=user_source_info) # create default deployment logger.warning( "[2/4] Creating default deployment with name '{}'".format(DEFAULT_DEPLOYMENT_NAME)) + sku = models_20210601preview.Sku(name="S0", tier="STANDARD", capacity=instance_count) poller = client.deployments.create_or_update(resource_group, service, name, DEFAULT_DEPLOYMENT_NAME, properties=properties, - sku=models.Sku(name="S0", tier="STANDARD", capacity=instance_count)) + sku=sku) logger.warning("[3/4] Setting default deployment to production") - properties = models.AppResourceProperties( + properties = models_20210601preview.AppResourceProperties( active_deployment_name=DEFAULT_DEPLOYMENT_NAME, public=assign_endpoint) if enable_persistent_storage: - properties.persistent_disk = models.PersistentDisk( + properties.persistent_disk = models_20210601preview.PersistentDisk( size_in_gb=_get_persistent_disk_size(resource.sku.tier), mount_path="/persistent") else: - properties.persistent_disk = models.PersistentDisk( + properties.persistent_disk = models_20210601preview.PersistentDisk( size_in_gb=0, mount_path="/persistent") app_resource.properties = properties @@ -317,15 +325,15 @@ def app_update(cmd, client, resource_group, service, name, resource = client.services.get(resource_group, service) location = resource.location - properties = models_20201101preview.AppResourceProperties(public=assign_endpoint, https_only=https_only, + properties = models_20210601preview.AppResourceProperties(public=assign_endpoint, https_only=https_only, enable_end_to_end_tls=enable_end_to_end_tls) if enable_persistent_storage is True: - properties.persistent_disk = models.PersistentDisk( + properties.persistent_disk = models_20210601preview.PersistentDisk( 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) + properties.persistent_disk = models_20210601preview.PersistentDisk(size_in_gb=0) - app_resource = models_20201101preview.AppResource() + app_resource = models_20210601preview.AppResource() app_resource.properties = properties app_resource.location = location @@ -347,14 +355,14 @@ def app_update(cmd, client, resource_group, service, name, return app_updated logger.warning("[2/2] Updating deployment '{}'".format(deployment)) - deployment_settings = models.DeploymentSettings( - cpu=None, - memory_in_gb=None, + deployment_settings = models_20210601preview.DeploymentSettings( environment_variables=env, jvm_options=jvm_options, net_core_main_entry_path=main_entry, runtime_version=runtime_version,) - properties = models.DeploymentResourceProperties( + deployment_settings.cpu = None + deployment_settings.memory_in_gb = None + properties = models_20210601preview.DeploymentResourceProperties( deployment_settings=deployment_settings) poller = client.deployments.update( resource_group, service, name, deployment, properties) @@ -502,6 +510,8 @@ def app_scale(cmd, client, resource_group, service, name, memory=None, instance_count=None, no_wait=False): + cpu = validate_cpu(cpu) + memory = validate_memory(memory) if deployment is None: deployment = client.apps.get( resource_group, service, name).properties.active_deployment_name @@ -512,12 +522,14 @@ def app_scale(cmd, client, resource_group, service, name, resource = client.services.get(resource_group, service) _validate_instance_count(resource.sku.tier, instance_count) - deployment_settings = models.DeploymentSettings( - cpu=cpu, - memory_in_gb=memory) - properties = models.DeploymentResourceProperties( + resource_requests = models_20210601preview.ResourceRequests(cpu=cpu, memory=memory) + + deployment_settings = models_20210601preview.DeploymentSettings(resource_requests=resource_requests) + deployment_settings.cpu = None + deployment_settings.memory_in_gb = None + properties = models_20210601preview.DeploymentResourceProperties( deployment_settings=deployment_settings) - sku = models.Sku(name="S0", tier="STANDARD", capacity=instance_count) + sku = models_20210601preview.Sku(name="S0", tier="STANDARD", capacity=instance_count) return sdk_no_wait(no_wait, client.deployments.update, resource_group, service, name, deployment, properties=properties, sku=sku) @@ -593,9 +605,9 @@ def app_tail_log(cmd, client, resource_group, service, name, def app_identity_assign(cmd, client, resource_group, service, name, role=None, scope=None): _check_active_deployment_exist(client, resource_group, service, name) - app_resource = models.AppResource() - identity = models.ManagedIdentityProperties(type="systemassigned") - properties = models.AppResourceProperties() + app_resource = models_20210601preview.AppResource() + identity = models_20210601preview.ManagedIdentityProperties(type="systemassigned") + properties = models_20210601preview.AppResourceProperties() resource = client.services.get(resource_group, service) location = resource.location @@ -637,9 +649,9 @@ def app_identity_assign(cmd, client, resource_group, service, name, role=None, s def app_identity_remove(cmd, client, resource_group, service, name): - app_resource = models.AppResource() - identity = models.ManagedIdentityProperties(type="none") - properties = models.AppResourceProperties() + app_resource = models_20210601preview.AppResource() + identity = models_20210601preview.ManagedIdentityProperties(type="none") + properties = models_20210601preview.AppResourceProperties() resource = client.services.get(resource_group, service) location = resource.location @@ -665,13 +677,13 @@ def app_set_deployment(cmd, client, resource_group, service, name, deployment): if deployment not in deployments: raise CLIError("Deployment '" + deployment + "' not found, please use 'az spring-cloud app deployment create' to create the new deployment") - properties = models.AppResourceProperties( + properties = models_20210601preview.AppResourceProperties( active_deployment_name=deployment) resource = client.services.get(resource_group, service) location = resource.location - app_resource = models.AppResource() + app_resource = models_20210601preview.AppResource() app_resource.properties = properties app_resource.location = location @@ -685,12 +697,12 @@ def app_unset_deployment(cmd, client, resource_group, service, name): raise CLIError(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) # It's designed to use empty string for active_deployment_name to unset active deployment - properties = models.AppResourceProperties(active_deployment_name="") + properties = models_20210601preview.AppResourceProperties(active_deployment_name="") resource = client.services.get(resource_group, service) location = resource.location - app_resource = models.AppResource() + app_resource = models_20210601preview.AppResource() app_resource.properties = properties app_resource.location = location @@ -710,6 +722,8 @@ def deployment_create(cmd, client, resource_group, service, app, name, instance_count=None, env=None, no_wait=False): + cpu = validate_cpu(cpu) + memory = validate_memory(memory) logger.warning(LOG_RUNNING_PROMPT) deployments = _get_all_deployments(client, resource_group, service, app) if name in deployments: @@ -728,14 +742,14 @@ def deployment_create(cmd, client, resource_group, service, app, name, active_deployment = client.deployments.get( resource_group, service, app, active_deployment_name) if active_deployment: - cpu = cpu or active_deployment.properties.deployment_settings.cpu - memory = memory or active_deployment.properties.deployment_settings.memory_in_gb + cpu = cpu or active_deployment.properties.deployment_settings.resource_requests.cpu + memory = memory or active_deployment.properties.deployment_settings.resource_requests.memory instance_count = instance_count or active_deployment.sku.capacity jvm_options = jvm_options or active_deployment.properties.deployment_settings.jvm_options env = env or active_deployment.properties.deployment_settings.environment_variables else: - cpu = cpu or 1 - memory = memory or 1 + cpu = cpu or "1" + memory = memory or "1Gi" instance_count = instance_count or 1 file_type, file_path = _get_upload_local_file(runtime_version, artifact_path) @@ -1284,20 +1298,25 @@ def _app_deploy(client, resource_group, service, app, name, version, path, runti raise CLIError( "Failed to get a SAS URL to upload context. Error: {}".format(e.message)) - deployment_settings = models.DeploymentSettings( - cpu=cpu, - memory_in_gb=memory, + resource_requests = None + if cpu is not None or memory is not None: + resource_requests = models_20210601preview.ResourceRequests(cpu=cpu, memory=memory) + + deployment_settings = models_20210601preview.DeploymentSettings( + resource_requests=resource_requests, environment_variables=env, jvm_options=jvm_options, net_core_main_entry_path=main_entry, runtime_version=runtime_version) - sku = models.Sku(name="S0", tier="STANDARD", capacity=instance_count) - user_source_info = models.UserSourceInfo( + deployment_settings.cpu = None + deployment_settings.memory_in_gb = None + sku = models_20210601preview.Sku(name="S0", tier="STANDARD", capacity=instance_count) + user_source_info = models_20210601preview.UserSourceInfo( version=version, relative_path=relative_path, type=file_type, artifact_selector=target_module) - properties = models.DeploymentResourceProperties( + properties = models_20210601preview.DeploymentResourceProperties( deployment_settings=deployment_settings, source=user_source_info) 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 744ebc6929a..d2ce20bbe77 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 @@ -76,6 +76,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2019-05-01-preview: :mod:`v2019_05_01_preview.models` * 2020-07-01: :mod:`v2020_07_01.models` * 2020-11-01-preview: :mod:`v2020_11_01_preview.models` + * 2021-06-01-preview: :mod:`v2021_06_01_preview.models` """ if api_version == '2019-05-01-preview': from .v2019_05_01_preview import models @@ -86,6 +87,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2020-11-01-preview': from .v2020_11_01_preview import models return models + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview import models + return models raise NotImplementedError("APIVersion {} is not available".format(api_version)) @property @@ -95,6 +99,7 @@ def apps(self): * 2019-05-01-preview: :class:`AppsOperations` * 2020-07-01: :class:`AppsOperations` * 2020-11-01-preview: :class:`AppsOperations` + * 2021-06-01-preview: :class:`AppsOperations` """ api_version = self._get_api_version('apps') if api_version == '2019-05-01-preview': @@ -103,6 +108,8 @@ def apps(self): from .v2020_07_01.operations import AppsOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import AppsOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import AppsOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -114,6 +121,7 @@ def bindings(self): * 2019-05-01-preview: :class:`BindingsOperations` * 2020-07-01: :class:`BindingsOperations` * 2020-11-01-preview: :class:`BindingsOperations` + * 2021-06-01-preview: :class:`BindingsOperations` """ api_version = self._get_api_version('bindings') if api_version == '2019-05-01-preview': @@ -122,6 +130,8 @@ def bindings(self): from .v2020_07_01.operations import BindingsOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import BindingsOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import BindingsOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -133,6 +143,7 @@ def certificates(self): * 2019-05-01-preview: :class:`CertificatesOperations` * 2020-07-01: :class:`CertificatesOperations` * 2020-11-01-preview: :class:`CertificatesOperations` + * 2021-06-01-preview: :class:`CertificatesOperations` """ api_version = self._get_api_version('certificates') if api_version == '2019-05-01-preview': @@ -141,6 +152,8 @@ def certificates(self): from .v2020_07_01.operations import CertificatesOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import CertificatesOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import CertificatesOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -151,12 +164,15 @@ def config_servers(self): * 2020-07-01: :class:`ConfigServersOperations` * 2020-11-01-preview: :class:`ConfigServersOperations` + * 2021-06-01-preview: :class:`ConfigServersOperations` """ api_version = self._get_api_version('config_servers') if api_version == '2020-07-01': from .v2020_07_01.operations import ConfigServersOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import ConfigServersOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import ConfigServersOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -168,6 +184,7 @@ def custom_domains(self): * 2019-05-01-preview: :class:`CustomDomainsOperations` * 2020-07-01: :class:`CustomDomainsOperations` * 2020-11-01-preview: :class:`CustomDomainsOperations` + * 2021-06-01-preview: :class:`CustomDomainsOperations` """ api_version = self._get_api_version('custom_domains') if api_version == '2019-05-01-preview': @@ -176,6 +193,8 @@ def custom_domains(self): from .v2020_07_01.operations import CustomDomainsOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import CustomDomainsOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import CustomDomainsOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -187,6 +206,7 @@ def deployments(self): * 2019-05-01-preview: :class:`DeploymentsOperations` * 2020-07-01: :class:`DeploymentsOperations` * 2020-11-01-preview: :class:`DeploymentsOperations` + * 2021-06-01-preview: :class:`DeploymentsOperations` """ api_version = self._get_api_version('deployments') if api_version == '2019-05-01-preview': @@ -195,6 +215,8 @@ def deployments(self): from .v2020_07_01.operations import DeploymentsOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import DeploymentsOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import DeploymentsOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -205,12 +227,15 @@ def monitoring_settings(self): * 2020-07-01: :class:`MonitoringSettingsOperations` * 2020-11-01-preview: :class:`MonitoringSettingsOperations` + * 2021-06-01-preview: :class:`MonitoringSettingsOperations` """ api_version = self._get_api_version('monitoring_settings') if api_version == '2020-07-01': from .v2020_07_01.operations import MonitoringSettingsOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import MonitoringSettingsOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import MonitoringSettingsOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -222,6 +247,7 @@ def operations(self): * 2019-05-01-preview: :class:`Operations` * 2020-07-01: :class:`Operations` * 2020-11-01-preview: :class:`Operations` + * 2021-06-01-preview: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2019-05-01-preview': @@ -230,6 +256,8 @@ def operations(self): from .v2020_07_01.operations import Operations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import Operations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.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))) @@ -241,6 +269,7 @@ def runtime_versions(self): * 2019-05-01-preview: :class:`RuntimeVersionsOperations` * 2020-07-01: :class:`RuntimeVersionsOperations` * 2020-11-01-preview: :class:`RuntimeVersionsOperations` + * 2021-06-01-preview: :class:`RuntimeVersionsOperations` """ api_version = self._get_api_version('runtime_versions') if api_version == '2019-05-01-preview': @@ -249,6 +278,8 @@ def runtime_versions(self): from .v2020_07_01.operations import RuntimeVersionsOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import RuntimeVersionsOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import RuntimeVersionsOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -260,6 +291,7 @@ def services(self): * 2019-05-01-preview: :class:`ServicesOperations` * 2020-07-01: :class:`ServicesOperations` * 2020-11-01-preview: :class:`ServicesOperations` + * 2021-06-01-preview: :class:`ServicesOperations` """ api_version = self._get_api_version('services') if api_version == '2019-05-01-preview': @@ -268,6 +300,8 @@ def services(self): from .v2020_07_01.operations import ServicesOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import ServicesOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.operations import ServicesOperations as OperationClass else: raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -291,12 +325,15 @@ def skus(self): * 2020-07-01: :class:`SkusOperations` * 2020-11-01-preview: :class:`SkusOperations` + * 2021-06-01-preview: :class:`SkusOperations` """ api_version = self._get_api_version('skus') if api_version == '2020-07-01': from .v2020_07_01.operations import SkusOperations as OperationClass elif api_version == '2020-11-01-preview': from .v2020_11_01_preview.operations import SkusOperations as OperationClass + elif api_version == '2021-06-01-preview': + from .v2021_06_01_preview.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))) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/__init__.py index 05307b382a4..e14ef4761e6 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/__init__.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/__init__.py @@ -46,6 +46,7 @@ from ._models_py3 import PersistentDisk from ._models_py3 import ProxyResource from ._models_py3 import RegenerateTestKeyRequestPayload + from ._models_py3 import RequiredTraffic from ._models_py3 import Resource from ._models_py3 import ResourceSku from ._models_py3 import ResourceSkuCapabilities @@ -101,6 +102,7 @@ from ._models import PersistentDisk from ._models import ProxyResource from ._models import RegenerateTestKeyRequestPayload + from ._models import RequiredTraffic from ._models import Resource from ._models import ResourceSku from ._models import ResourceSkuCapabilities @@ -131,6 +133,7 @@ ProvisioningState, ConfigServerState, TraceProxyState, + TrafficDirection, ManagedIdentityType, TestKeyType, AppResourceProvisioningState, @@ -182,6 +185,7 @@ 'PersistentDisk', 'ProxyResource', 'RegenerateTestKeyRequestPayload', + 'RequiredTraffic', 'Resource', 'ResourceSku', 'ResourceSkuCapabilities', @@ -211,6 +215,7 @@ 'ProvisioningState', 'ConfigServerState', 'TraceProxyState', + 'TrafficDirection', 'ManagedIdentityType', 'TestKeyType', 'AppResourceProvisioningState', diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_app_platform_management_client_enums.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_app_platform_management_client_enums.py index bcd6f5bb797..86e2ecb6f68 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_app_platform_management_client_enums.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_app_platform_management_client_enums.py @@ -42,6 +42,12 @@ class TraceProxyState(str, Enum): updating = "Updating" +class TrafficDirection(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + class ManagedIdentityType(str, Enum): none = "None" diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py index 6db50d93680..1110020745d 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py @@ -1238,10 +1238,15 @@ class NetworkProfile(Model): instance. :vartype outbound_ips: ~azure.mgmt.appplatform.v2019_05_01_preview.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure + Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2019_05_01_preview.models.RequiredTraffic] """ _validation = { 'outbound_ips': {'readonly': True}, + 'required_traffics': {'readonly': True}, } _attribute_map = { @@ -1251,6 +1256,7 @@ class NetworkProfile(Model): 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, 'outbound_ips': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, } def __init__(self, **kwargs): @@ -1261,6 +1267,7 @@ def __init__(self, **kwargs): self.service_runtime_network_resource_group = kwargs.get('service_runtime_network_resource_group', None) self.app_network_resource_group = kwargs.get('app_network_resource_group', None) self.outbound_ips = None + self.required_traffics = None class NetworkProfileOutboundIPs(Model): @@ -1421,6 +1428,51 @@ def __init__(self, **kwargs): self.key_type = kwargs.get('key_type', None) +class RequiredTraffic(Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar protocol: The protocol of required traffic + :vartype protocol: str + :ivar port: The port of required traffic + :vartype port: int + :ivar ips: The ip list of required traffic + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values + include: 'Inbound', 'Outbound' + :vartype direction: str or + ~azure.mgmt.appplatform.v2019_05_01_preview.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + class ResourceSku(Model): """Describes an available Azure Spring Cloud SKU. @@ -1724,9 +1776,9 @@ def __init__(self, **kwargs): class Sku(Model): """Sku of Azure Spring Cloud. - :param name: Name of the Sku + :param name: Name of the Sku. Default value: "S0" . :type name: str - :param tier: Tier of the Sku + :param tier: Tier of the Sku. Default value: "Standard" . :type tier: str :param capacity: Current capacity of the target resource :type capacity: int @@ -1740,8 +1792,8 @@ class Sku(Model): def __init__(self, **kwargs): super(Sku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) + self.name = kwargs.get('name', "S0") + self.tier = kwargs.get('tier', "Standard") self.capacity = kwargs.get('capacity', None) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py index d781484b060..74599f3bd5e 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py @@ -1238,10 +1238,15 @@ class NetworkProfile(Model): instance. :vartype outbound_ips: ~azure.mgmt.appplatform.v2019_05_01_preview.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure + Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2019_05_01_preview.models.RequiredTraffic] """ _validation = { 'outbound_ips': {'readonly': True}, + 'required_traffics': {'readonly': True}, } _attribute_map = { @@ -1251,6 +1256,7 @@ class NetworkProfile(Model): 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, 'outbound_ips': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, } def __init__(self, *, service_runtime_subnet_id: str=None, app_subnet_id: str=None, service_cidr: str=None, service_runtime_network_resource_group: str=None, app_network_resource_group: str=None, **kwargs) -> None: @@ -1261,6 +1267,7 @@ def __init__(self, *, service_runtime_subnet_id: str=None, app_subnet_id: str=No self.service_runtime_network_resource_group = service_runtime_network_resource_group self.app_network_resource_group = app_network_resource_group self.outbound_ips = None + self.required_traffics = None class NetworkProfileOutboundIPs(Model): @@ -1421,6 +1428,51 @@ def __init__(self, *, key_type, **kwargs) -> None: self.key_type = key_type +class RequiredTraffic(Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar protocol: The protocol of required traffic + :vartype protocol: str + :ivar port: The port of required traffic + :vartype port: int + :ivar ips: The ip list of required traffic + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values + include: 'Inbound', 'Outbound' + :vartype direction: str or + ~azure.mgmt.appplatform.v2019_05_01_preview.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + class ResourceSku(Model): """Describes an available Azure Spring Cloud SKU. @@ -1724,9 +1776,9 @@ def __init__(self, *, log_specifications=None, metric_specifications=None, **kwa class Sku(Model): """Sku of Azure Spring Cloud. - :param name: Name of the Sku + :param name: Name of the Sku. Default value: "S0" . :type name: str - :param tier: Tier of the Sku + :param tier: Tier of the Sku. Default value: "Standard" . :type tier: str :param capacity: Current capacity of the target resource :type capacity: int @@ -1738,7 +1790,7 @@ class Sku(Model): 'capacity': {'key': 'capacity', 'type': 'int'}, } - def __init__(self, *, name: str=None, tier: str=None, capacity: int=None, **kwargs) -> None: + def __init__(self, *, name: str="S0", tier: str="Standard", capacity: int=None, **kwargs) -> None: super(Sku, self).__init__(**kwargs) self.name = name self.tier = tier diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/__init__.py index 4ce60886aab..938b11a517a 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/__init__.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/__init__.py @@ -51,6 +51,7 @@ from ._models_py3 import PersistentDisk from ._models_py3 import ProxyResource from ._models_py3 import RegenerateTestKeyRequestPayload + from ._models_py3 import RequiredTraffic from ._models_py3 import Resource from ._models_py3 import ResourceSku from ._models_py3 import ResourceSkuCapabilities @@ -110,6 +111,7 @@ from ._models import PersistentDisk from ._models import ProxyResource from ._models import RegenerateTestKeyRequestPayload + from ._models import RequiredTraffic from ._models import Resource from ._models import ResourceSku from ._models import ResourceSkuCapabilities @@ -137,6 +139,7 @@ from ._paged_models import ServiceResourcePaged from ._app_platform_management_client_enums import ( ProvisioningState, + TrafficDirection, ManagedIdentityType, ConfigServerState, MonitoringSettingState, @@ -195,6 +198,7 @@ 'PersistentDisk', 'ProxyResource', 'RegenerateTestKeyRequestPayload', + 'RequiredTraffic', 'Resource', 'ResourceSku', 'ResourceSkuCapabilities', @@ -221,6 +225,7 @@ 'OperationDetailPaged', 'ResourceSkuPaged', 'ProvisioningState', + 'TrafficDirection', 'ManagedIdentityType', 'ConfigServerState', 'MonitoringSettingState', diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_app_platform_management_client_enums.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_app_platform_management_client_enums.py index b24c6101642..5ae8632fbad 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_app_platform_management_client_enums.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_app_platform_management_client_enums.py @@ -25,6 +25,12 @@ class ProvisioningState(str, Enum): move_failed = "MoveFailed" +class TrafficDirection(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + class ManagedIdentityType(str, Enum): none = "None" diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py index 899625f1fad..38e3860602e 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py @@ -1368,10 +1368,15 @@ class NetworkProfile(Model): instance. :vartype outbound_ips: ~azure.mgmt.appplatform.v2020_07_01.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure + Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2020_07_01.models.RequiredTraffic] """ _validation = { 'outbound_ips': {'readonly': True}, + 'required_traffics': {'readonly': True}, } _attribute_map = { @@ -1381,6 +1386,7 @@ class NetworkProfile(Model): 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, 'outbound_ips': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, } def __init__(self, **kwargs): @@ -1391,6 +1397,7 @@ def __init__(self, **kwargs): self.service_runtime_network_resource_group = kwargs.get('service_runtime_network_resource_group', None) self.app_network_resource_group = kwargs.get('app_network_resource_group', None) self.outbound_ips = None + self.required_traffics = None class NetworkProfileOutboundIPs(Model): @@ -1550,6 +1557,51 @@ def __init__(self, **kwargs): self.key_type = kwargs.get('key_type', None) +class RequiredTraffic(Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar protocol: The protocol of required traffic + :vartype protocol: str + :ivar port: The port of required traffic + :vartype port: int + :ivar ips: The ip list of required traffic + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values + include: 'Inbound', 'Outbound' + :vartype direction: str or + ~azure.mgmt.appplatform.v2020_07_01.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + class ResourceSku(Model): """Describes an available Azure Spring Cloud SKU. diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py index 261e7655946..a57125e51df 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py @@ -1368,10 +1368,15 @@ class NetworkProfile(Model): instance. :vartype outbound_ips: ~azure.mgmt.appplatform.v2020_07_01.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure + Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2020_07_01.models.RequiredTraffic] """ _validation = { 'outbound_ips': {'readonly': True}, + 'required_traffics': {'readonly': True}, } _attribute_map = { @@ -1381,6 +1386,7 @@ class NetworkProfile(Model): 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, 'outbound_ips': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, } def __init__(self, *, service_runtime_subnet_id: str=None, app_subnet_id: str=None, service_cidr: str=None, service_runtime_network_resource_group: str=None, app_network_resource_group: str=None, **kwargs) -> None: @@ -1391,6 +1397,7 @@ def __init__(self, *, service_runtime_subnet_id: str=None, app_subnet_id: str=No self.service_runtime_network_resource_group = service_runtime_network_resource_group self.app_network_resource_group = app_network_resource_group self.outbound_ips = None + self.required_traffics = None class NetworkProfileOutboundIPs(Model): @@ -1550,6 +1557,51 @@ def __init__(self, *, key_type, **kwargs) -> None: self.key_type = key_type +class RequiredTraffic(Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar protocol: The protocol of required traffic + :vartype protocol: str + :ivar port: The port of required traffic + :vartype port: int + :ivar ips: The ip list of required traffic + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values + include: 'Inbound', 'Outbound' + :vartype direction: str or + ~azure.mgmt.appplatform.v2020_07_01.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + class ResourceSku(Model): """Describes an available Azure Spring Cloud SKU. diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py index 5e4cb8128dc..f8f5be052bd 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py @@ -165,8 +165,6 @@ class AppResourceProperties(Model): :type fqdn: str :param https_only: Indicate if only https is allowed. :type https_only: bool - :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. - :type enable_end_to_end_tls: bool :ivar created_time: Date time when the resource is created :vartype created_time: datetime :param temporary_disk: Temporary disk settings @@ -175,6 +173,8 @@ class AppResourceProperties(Model): :param persistent_disk: Persistent disk settings :type persistent_disk: ~azure.mgmt.appplatform.v2020_11_01_preview.models.PersistentDisk + :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. + :type enable_end_to_end_tls: bool """ _validation = { @@ -190,10 +190,10 @@ class AppResourceProperties(Model): 'active_deployment_name': {'key': 'activeDeploymentName', 'type': 'str'}, 'fqdn': {'key': 'fqdn', 'type': 'str'}, 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, - 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, 'temporary_disk': {'key': 'temporaryDisk', 'type': 'TemporaryDisk'}, 'persistent_disk': {'key': 'persistentDisk', 'type': 'PersistentDisk'}, + 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, } def __init__(self, **kwargs): @@ -204,10 +204,10 @@ def __init__(self, **kwargs): 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.enable_end_to_end_tls = kwargs.get('enable_end_to_end_tls', None) self.created_time = None self.temporary_disk = kwargs.get('temporary_disk', None) self.persistent_disk = kwargs.get('persistent_disk', None) + self.enable_end_to_end_tls = kwargs.get('enable_end_to_end_tls', None) class AvailableRuntimeVersions(Model): @@ -1951,9 +1951,9 @@ def __init__(self, **kwargs): class Sku(Model): """Sku of Azure Spring Cloud. - :param name: Name of the Sku + :param name: Name of the Sku. Default value: "S0" . :type name: str - :param tier: Tier of the Sku + :param tier: Tier of the Sku. Default value: "Standard" . :type tier: str :param capacity: Current capacity of the target resource :type capacity: int @@ -1967,8 +1967,8 @@ class Sku(Model): def __init__(self, **kwargs): super(Sku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.tier = kwargs.get('tier', None) + self.name = kwargs.get('name', "S0") + self.tier = kwargs.get('tier', "Standard") self.capacity = kwargs.get('capacity', None) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py index 7cd772766b3..aff0c5844b1 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py @@ -165,8 +165,6 @@ class AppResourceProperties(Model): :type fqdn: str :param https_only: Indicate if only https is allowed. :type https_only: bool - :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. - :type enable_end_to_end_tls: bool :ivar created_time: Date time when the resource is created :vartype created_time: datetime :param temporary_disk: Temporary disk settings @@ -175,6 +173,8 @@ class AppResourceProperties(Model): :param persistent_disk: Persistent disk settings :type persistent_disk: ~azure.mgmt.appplatform.v2020_11_01_preview.models.PersistentDisk + :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. + :type enable_end_to_end_tls: bool """ _validation = { @@ -190,13 +190,13 @@ class AppResourceProperties(Model): 'active_deployment_name': {'key': 'activeDeploymentName', 'type': 'str'}, 'fqdn': {'key': 'fqdn', 'type': 'str'}, 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, - 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, 'temporary_disk': {'key': 'temporaryDisk', 'type': 'TemporaryDisk'}, 'persistent_disk': {'key': 'persistentDisk', 'type': 'PersistentDisk'}, + 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, } - def __init__(self, *, public: bool=None, active_deployment_name: str=None, fqdn: str=None, https_only: bool=None, enable_end_to_end_tls: bool=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, enable_end_to_end_tls: bool=None, **kwargs) -> None: super(AppResourceProperties, self).__init__(**kwargs) self.public = public self.url = None @@ -204,10 +204,10 @@ def __init__(self, *, public: bool=None, active_deployment_name: str=None, fqdn: self.active_deployment_name = active_deployment_name self.fqdn = fqdn self.https_only = https_only - self.enable_end_to_end_tls = enable_end_to_end_tls self.created_time = None self.temporary_disk = temporary_disk self.persistent_disk = persistent_disk + self.enable_end_to_end_tls = enable_end_to_end_tls class AvailableRuntimeVersions(Model): @@ -1951,9 +1951,9 @@ def __init__(self, *, log_specifications=None, metric_specifications=None, **kwa class Sku(Model): """Sku of Azure Spring Cloud. - :param name: Name of the Sku + :param name: Name of the Sku. Default value: "S0" . :type name: str - :param tier: Tier of the Sku + :param tier: Tier of the Sku. Default value: "Standard" . :type tier: str :param capacity: Current capacity of the target resource :type capacity: int @@ -1965,7 +1965,7 @@ class Sku(Model): 'capacity': {'key': 'capacity', 'type': 'int'}, } - def __init__(self, *, name: str=None, tier: str=None, capacity: int=None, **kwargs) -> None: + def __init__(self, *, name: str="S0", tier: str="Standard", capacity: int=None, **kwargs) -> None: super(Sku, self).__init__(**kwargs) self.name = name self.tier = tier diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/__init__.py new file mode 100644 index 00000000000..ee44eafce0f --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_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 AppPlatformManagementClientConfiguration +from ._app_platform_management_client import AppPlatformManagementClient +__all__ = ['AppPlatformManagementClient', 'AppPlatformManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_app_platform_management_client.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_app_platform_management_client.py new file mode 100644 index 00000000000..a057464c518 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_app_platform_management_client.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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import AppPlatformManagementClientConfiguration +from .operations import ServicesOperations +from .operations import ConfigServersOperations +from .operations import MonitoringSettingsOperations +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 RuntimeVersionsOperations +from .operations import SkusOperations +from . import models + + +class AppPlatformManagementClient(SDKClient): + """REST API for Azure Spring Cloud + + :ivar config: Configuration for client. + :vartype config: AppPlatformManagementClientConfiguration + + :ivar services: Services operations + :vartype services: azure.mgmt.appplatform.v2021_06_01_preview.operations.ServicesOperations + :ivar config_servers: ConfigServers operations + :vartype config_servers: azure.mgmt.appplatform.v2021_06_01_preview.operations.ConfigServersOperations + :ivar monitoring_settings: MonitoringSettings operations + :vartype monitoring_settings: azure.mgmt.appplatform.v2021_06_01_preview.operations.MonitoringSettingsOperations + :ivar apps: Apps operations + :vartype apps: azure.mgmt.appplatform.v2021_06_01_preview.operations.AppsOperations + :ivar bindings: Bindings operations + :vartype bindings: azure.mgmt.appplatform.v2021_06_01_preview.operations.BindingsOperations + :ivar certificates: Certificates operations + :vartype certificates: azure.mgmt.appplatform.v2021_06_01_preview.operations.CertificatesOperations + :ivar custom_domains: CustomDomains operations + :vartype custom_domains: azure.mgmt.appplatform.v2021_06_01_preview.operations.CustomDomainsOperations + :ivar deployments: Deployments operations + :vartype deployments: azure.mgmt.appplatform.v2021_06_01_preview.operations.DeploymentsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.appplatform.v2021_06_01_preview.operations.Operations + :ivar runtime_versions: RuntimeVersions operations + :vartype runtime_versions: azure.mgmt.appplatform.v2021_06_01_preview.operations.RuntimeVersionsOperations + :ivar skus: Skus operations + :vartype skus: azure.mgmt.appplatform.v2021_06_01_preview.operations.SkusOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Gets subscription ID 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 = AppPlatformManagementClientConfiguration(credentials, subscription_id, base_url) + super(AppPlatformManagementClient, 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 = '2021-06-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.services = ServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.config_servers = ConfigServersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.monitoring_settings = MonitoringSettingsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.apps = AppsOperations( + 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.runtime_versions = RuntimeVersionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_configuration.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_configuration.py new file mode 100644 index 00000000000..5a7f3752f05 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/_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 AppPlatformManagementClientConfiguration(AzureConfiguration): + """Configuration for AppPlatformManagementClient + 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 ID 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(AppPlatformManagementClientConfiguration, 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-appplatform/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/__init__.py new file mode 100644 index 00000000000..e2b1091ec8a --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/__init__.py @@ -0,0 +1,249 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ApplicationInsightsAgentVersions + from ._models_py3 import AppResource + from ._models_py3 import AppResourceProperties + from ._models_py3 import AvailableRuntimeVersions + 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 ConfigServerResource + from ._models_py3 import ConfigServerSettings + from ._models_py3 import ConfigServerSettingsErrorRecord + from ._models_py3 import ConfigServerSettingsValidateResult + 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 + from ._models_py3 import DeploymentSettings + from ._models_py3 import Error + 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 MonitoringSettingProperties + from ._models_py3 import MonitoringSettingResource + from ._models_py3 import NameAvailability + from ._models_py3 import NameAvailabilityParameters + from ._models_py3 import NetworkProfile + from ._models_py3 import NetworkProfileOutboundIPs + from ._models_py3 import OperationDetail + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationProperties + from ._models_py3 import PersistentDisk + from ._models_py3 import ProxyResource + from ._models_py3 import RegenerateTestKeyRequestPayload + from ._models_py3 import RequiredTraffic + from ._models_py3 import Resource + from ._models_py3 import ResourceRequests + 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 SupportedRuntimeVersion + from ._models_py3 import TemporaryDisk + from ._models_py3 import TestKeys + from ._models_py3 import TrackedResource + from ._models_py3 import UserSourceInfo +except (SyntaxError, ImportError): + from ._models import ApplicationInsightsAgentVersions + from ._models import AppResource + from ._models import AppResourceProperties + from ._models import AvailableRuntimeVersions + 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 ConfigServerResource + from ._models import ConfigServerSettings + from ._models import ConfigServerSettingsErrorRecord + from ._models import ConfigServerSettingsValidateResult + 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 + from ._models import DeploymentSettings + from ._models import Error + 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 MonitoringSettingProperties + from ._models import MonitoringSettingResource + from ._models import NameAvailability + from ._models import NameAvailabilityParameters + from ._models import NetworkProfile + from ._models import NetworkProfileOutboundIPs + from ._models import OperationDetail + from ._models import OperationDisplay + from ._models import OperationProperties + from ._models import PersistentDisk + from ._models import ProxyResource + from ._models import RegenerateTestKeyRequestPayload + from ._models import RequiredTraffic + from ._models import Resource + from ._models import ResourceRequests + 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 SupportedRuntimeVersion + from ._models import TemporaryDisk + from ._models import TestKeys + from ._models import TrackedResource + 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, + TrafficDirection, + ManagedIdentityType, + ConfigServerState, + MonitoringSettingState, + TestKeyType, + AppResourceProvisioningState, + UserSourceType, + RuntimeVersion, + DeploymentResourceProvisioningState, + DeploymentResourceStatus, + SkuScaleType, + ResourceSkuRestrictionsType, + ResourceSkuRestrictionsReasonCode, + SupportedRuntimeValue, + SupportedRuntimePlatform, +) + +__all__ = [ + 'ApplicationInsightsAgentVersions', + 'AppResource', + 'AppResourceProperties', + 'AvailableRuntimeVersions', + 'BindingResource', + 'BindingResourceProperties', + 'CertificateProperties', + 'CertificateResource', + 'ClusterResourceProperties', + 'ConfigServerGitProperty', + 'ConfigServerProperties', + 'ConfigServerResource', + 'ConfigServerSettings', + 'ConfigServerSettingsErrorRecord', + 'ConfigServerSettingsValidateResult', + 'CustomDomainProperties', + 'CustomDomainResource', + 'CustomDomainValidatePayload', + 'CustomDomainValidateResult', + 'DeploymentInstance', + 'DeploymentResource', + 'DeploymentResourceProperties', + 'DeploymentSettings', + 'Error', + 'GitPatternRepository', + 'LogFileUrlResponse', + 'LogSpecification', + 'ManagedIdentityProperties', + 'MetricDimension', + 'MetricSpecification', + 'MonitoringSettingProperties', + 'MonitoringSettingResource', + 'NameAvailability', + 'NameAvailabilityParameters', + 'NetworkProfile', + 'NetworkProfileOutboundIPs', + 'OperationDetail', + 'OperationDisplay', + 'OperationProperties', + 'PersistentDisk', + 'ProxyResource', + 'RegenerateTestKeyRequestPayload', + 'RequiredTraffic', + 'Resource', + 'ResourceRequests', + 'ResourceSku', + 'ResourceSkuCapabilities', + 'ResourceSkuLocationInfo', + 'ResourceSkuRestrictionInfo', + 'ResourceSkuRestrictions', + 'ResourceSkuZoneDetails', + 'ResourceUploadDefinition', + 'ServiceResource', + 'ServiceSpecification', + 'Sku', + 'SkuCapacity', + 'SupportedRuntimeVersion', + 'TemporaryDisk', + 'TestKeys', + 'TrackedResource', + 'UserSourceInfo', + 'ServiceResourcePaged', + 'AppResourcePaged', + 'BindingResourcePaged', + 'CertificateResourcePaged', + 'CustomDomainResourcePaged', + 'DeploymentResourcePaged', + 'OperationDetailPaged', + 'ResourceSkuPaged', + 'ProvisioningState', + 'TrafficDirection', + 'ManagedIdentityType', + 'ConfigServerState', + 'MonitoringSettingState', + 'TestKeyType', + 'AppResourceProvisioningState', + 'UserSourceType', + 'RuntimeVersion', + 'DeploymentResourceProvisioningState', + 'DeploymentResourceStatus', + 'SkuScaleType', + 'ResourceSkuRestrictionsType', + 'ResourceSkuRestrictionsReasonCode', + 'SupportedRuntimeValue', + 'SupportedRuntimePlatform', +] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_app_platform_management_client_enums.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_app_platform_management_client_enums.py new file mode 100644 index 00000000000..5ae8632fbad --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_app_platform_management_client_enums.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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): + + creating = "Creating" + updating = "Updating" + deleting = "Deleting" + deleted = "Deleted" + succeeded = "Succeeded" + failed = "Failed" + moving = "Moving" + moved = "Moved" + move_failed = "MoveFailed" + + +class TrafficDirection(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class ManagedIdentityType(str, Enum): + + none = "None" + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned,UserAssigned" + + +class ConfigServerState(str, Enum): + + not_available = "NotAvailable" + deleted = "Deleted" + failed = "Failed" + succeeded = "Succeeded" + updating = "Updating" + + +class MonitoringSettingState(str, Enum): + + not_available = "NotAvailable" + failed = "Failed" + succeeded = "Succeeded" + updating = "Updating" + + +class TestKeyType(str, Enum): + + primary = "Primary" + secondary = "Secondary" + + +class AppResourceProvisioningState(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + creating = "Creating" + updating = "Updating" + + +class UserSourceType(str, Enum): + + jar = "Jar" + net_core_zip = "NetCoreZip" + source = "Source" + + +class RuntimeVersion(str, Enum): + + java_8 = "Java_8" + java_11 = "Java_11" + net_core_31 = "NetCore_31" + + +class DeploymentResourceProvisioningState(str, Enum): + + creating = "Creating" + updating = "Updating" + succeeded = "Succeeded" + failed = "Failed" + + +class DeploymentResourceStatus(str, Enum): + + unknown = "Unknown" + stopped = "Stopped" + running = "Running" + failed = "Failed" + 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" + + +class SupportedRuntimeValue(str, Enum): + + java_8 = "Java_8" + java_11 = "Java_11" + net_core_31 = "NetCore_31" + + +class SupportedRuntimePlatform(str, Enum): + + java = "Java" + net_core = ".NET Core" diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py new file mode 100644 index 00000000000..e7be2477a24 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py @@ -0,0 +1,2160 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 ApplicationInsightsAgentVersions(Model): + """Application Insights agent versions properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar java: Indicates the version of application insight java agent + :vartype java: str + """ + + _validation = { + 'java': {'readonly': True}, + } + + _attribute_map = { + 'java': {'key': 'java', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationInsightsAgentVersions, self).__init__(**kwargs) + self.java = None + + +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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the 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(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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the 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(ProxyResource, self).__init__(**kwargs) + + +class AppResource(ProxyResource): + """App 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 App resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResourceProperties + :param identity: The Managed Identity type of the app resource + :type identity: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ManagedIdentityProperties + :param location: The GEO location of the application, always the same with + its parent resource + :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'}, + '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): + """App resource properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param public: Indicates whether the App exposes public endpoint + :type public: bool + :ivar url: URL of the App + :vartype url: str + :ivar provisioning_state: Provisioning state of the App. Possible values + include: 'Succeeded', 'Failed', 'Creating', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.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 + :type temporary_disk: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.TemporaryDisk + :param persistent_disk: Persistent disk settings + :type persistent_disk: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.PersistentDisk + :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. + :type enable_end_to_end_tls: bool + """ + + _validation = { + 'url': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + } + + _attribute_map = { + 'public': {'key': 'public', 'type': 'bool'}, + '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'}, + 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(AppResourceProperties, self).__init__(**kwargs) + self.public = kwargs.get('public', None) + 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) + self.enable_end_to_end_tls = kwargs.get('enable_end_to_end_tls', None) + + +class AvailableRuntimeVersions(Model): + """AvailableRuntimeVersions. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: A list of all supported runtime versions. + :vartype value: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.SupportedRuntimeVersion] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedRuntimeVersion]'}, + } + + def __init__(self, **kwargs): + super(AvailableRuntimeVersions, self).__init__(**kwargs) + self.value = None + + +class BindingResource(ProxyResource): + """Binding 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 Binding resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResourceProperties + """ + + _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': 'BindingResourceProperties'}, + } + + def __init__(self, **kwargs): + super(BindingResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BindingResourceProperties(Model): + """Binding resource properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar resource_name: The name of the bound resource + :vartype resource_name: str + :ivar resource_type: The standard Azure resource type of the bound + resource + :vartype resource_type: str + :param resource_id: The Azure resource id of the bound resource + :type resource_id: str + :param key: The key of the bound resource + :type key: str + :param binding_parameters: Binding parameters of the Binding resource + :type binding_parameters: dict[str, object] + :ivar generated_properties: The generated Spring Boot property file for + this binding. The secret will be deducted. + :vartype generated_properties: str + :ivar created_at: Creation time of the Binding resource + :vartype created_at: str + :ivar updated_at: Update time of the Binding resource + :vartype updated_at: str + """ + + _validation = { + 'resource_name': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'generated_properties': {'readonly': True}, + 'created_at': {'readonly': True}, + 'updated_at': {'readonly': True}, + } + + _attribute_map = { + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'str'}, + 'binding_parameters': {'key': 'bindingParameters', 'type': '{object}'}, + 'generated_properties': {'key': 'generatedProperties', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'updated_at': {'key': 'updatedAt', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BindingResourceProperties, self).__init__(**kwargs) + self.resource_name = None + self.resource_type = None + self.resource_id = kwargs.get('resource_id', None) + self.key = kwargs.get('key', None) + self.binding_parameters = kwargs.get('binding_parameters', None) + self.generated_properties = None + self.created_at = None + 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.v2021_06_01_preview.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. + + :param error: An error response from the service. + :type error: + ~azure.mgmt.appplatform.v2021_06_01_preview.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.appplatform.v2021_06_01_preview.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 ClusterResourceProperties(Model): + """Service properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: Provisioning state of the Service. Possible + values include: 'Creating', 'Updating', 'Deleting', 'Deleted', + 'Succeeded', 'Failed', 'Moving', 'Moved', 'MoveFailed' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ProvisioningState + :param network_profile: Network profile of the Service + :type network_profile: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.NetworkProfile + :ivar version: Version of the Service + :vartype version: int + :ivar service_id: ServiceInstanceEntity GUID which uniquely identifies a + created resource + :vartype service_id: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'version': {'readonly': True}, + 'service_id': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'network_profile': {'key': 'networkProfile', 'type': 'NetworkProfile'}, + 'version': {'key': 'version', 'type': 'int'}, + 'service_id': {'key': 'serviceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ClusterResourceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.network_profile = kwargs.get('network_profile', None) + self.version = None + self.service_id = None + + +class ConfigServerGitProperty(Model): + """Property of git. + + All required parameters must be populated in order to send to Azure. + + :param repositories: Repositories of git. + :type repositories: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.GitPatternRepository] + :param uri: Required. URI of the repository + :type uri: str + :param label: Label of the repository + :type label: str + :param search_paths: Searching path of the repository + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'repositories': {'key': 'repositories', 'type': '[GitPatternRepository]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ConfigServerGitProperty, self).__init__(**kwargs) + self.repositories = kwargs.get('repositories', None) + self.uri = kwargs.get('uri', None) + self.label = kwargs.get('label', None) + self.search_paths = kwargs.get('search_paths', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.host_key = kwargs.get('host_key', None) + self.host_key_algorithm = kwargs.get('host_key_algorithm', None) + self.private_key = kwargs.get('private_key', None) + self.strict_host_key_checking = kwargs.get('strict_host_key_checking', None) + + +class ConfigServerProperties(Model): + """Config server git properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: State of the config server. Possible values + include: 'NotAvailable', 'Deleted', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerState + :param error: Error when apply config server settings. + :type error: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Error + :param config_server: Settings of config server. + :type config_server: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerSettings + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'config_server': {'key': 'configServer', 'type': 'ConfigServerSettings'}, + } + + def __init__(self, **kwargs): + super(ConfigServerProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = kwargs.get('error', None) + self.config_server = kwargs.get('config_server', None) + + +class ConfigServerResource(ProxyResource): + """Config 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. + :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 Config Server resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerProperties + """ + + _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': 'ConfigServerProperties'}, + } + + def __init__(self, **kwargs): + super(ConfigServerResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ConfigServerSettings(Model): + """The settings of config server. + + :param git_property: Property of git environment. + :type git_property: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerGitProperty + """ + + _attribute_map = { + 'git_property': {'key': 'gitProperty', 'type': 'ConfigServerGitProperty'}, + } + + def __init__(self, **kwargs): + super(ConfigServerSettings, self).__init__(**kwargs) + self.git_property = kwargs.get('git_property', None) + + +class ConfigServerSettingsErrorRecord(Model): + """Error record of the config server settings. + + :param name: The name of the config server settings error record + :type name: str + :param uri: The uri of the config server settings error record + :type uri: str + :param messages: The detail error messages of the record + :type messages: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'messages': {'key': 'messages', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ConfigServerSettingsErrorRecord, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.uri = kwargs.get('uri', None) + self.messages = kwargs.get('messages', None) + + +class ConfigServerSettingsValidateResult(Model): + """Validation result for config server settings. + + :param is_valid: Indicate if the config server settings are valid + :type is_valid: bool + :param details: The detail validation results + :type details: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerSettingsErrorRecord] + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'details': {'key': 'details', 'type': '[ConfigServerSettingsErrorRecord]'}, + } + + def __init__(self, **kwargs): + super(ConfigServerSettingsValidateResult, self).__init__(**kwargs) + self.is_valid = kwargs.get('is_valid', None) + self.details = kwargs.get('details', None) + + +class CustomDomainProperties(Model): + """Custom domain of app resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + :ivar app_name: The app name of domain. + :vartype app_name: str + :param cert_name: The bound certificate name of domain. + :type cert_name: str + """ + + _validation = { + 'app_name': {'readonly': True}, + } + + _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 = 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.v2021_06_01_preview.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. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the deployment instance + :vartype name: str + :ivar status: Status of the deployment instance + :vartype status: str + :ivar reason: Failed reason of the deployment instance + :vartype reason: str + :ivar discovery_status: Discovery status of the deployment instance + :vartype discovery_status: str + :ivar start_time: Start time of the deployment instance + :vartype start_time: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'discovery_status': {'readonly': True}, + 'start_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'discovery_status': {'key': 'discoveryStatus', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeploymentInstance, self).__init__(**kwargs) + self.name = None + self.status = None + self.reason = None + self.discovery_status = None + self.start_time = None + + +class DeploymentResource(ProxyResource): + """Deployment 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 Deployment resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourceProperties + :param sku: Sku of the Deployment resource + :type sku: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Sku + """ + + _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': 'DeploymentResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, **kwargs): + super(DeploymentResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.sku = kwargs.get('sku', None) + + +class DeploymentResourceProperties(Model): + """Deployment resource properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param source: Uploaded source information of the deployment. + :type source: + ~azure.mgmt.appplatform.v2021_06_01_preview.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.v2021_06_01_preview.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.v2021_06_01_preview.models.DeploymentResourceProvisioningState + :ivar status: Status of the Deployment. Possible values include: + 'Unknown', 'Stopped', 'Running', 'Failed', 'Allocating', 'Upgrading', + 'Compiling' + :vartype status: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourceStatus + :ivar active: Indicates whether the Deployment is active + :vartype active: bool + :ivar created_time: Date time when the resource is created + :vartype created_time: datetime + :ivar instances: Collection of instances belong to the Deployment + :vartype instances: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentInstance] + """ + + _validation = { + 'app_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'active': {'readonly': True}, + 'created_time': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'UserSourceInfo'}, + 'app_name': {'key': 'appName', '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'}, + 'instances': {'key': 'instances', 'type': '[DeploymentInstance]'}, + } + + def __init__(self, **kwargs): + super(DeploymentResourceProperties, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.app_name = None + self.deployment_settings = kwargs.get('deployment_settings', None) + self.provisioning_state = None + self.status = None + self.active = None + self.created_time = None + self.instances = None + + +class DeploymentSettings(Model): + """Deployment settings payload. + + :param cpu: Required CPU. This should be 1 for Basic tier, and in range + [1, 4] for Standard tier. This is deprecated starting from API version + 2021-06-01-preview. Please use the resourceRequests field to set the CPU + size. Default value: 1 . + :type cpu: int + :param memory_in_gb: Required Memory size in GB. This should be in range + [1, 2] for Basic tier, and in range [1, 8] for Standard tier. This is + deprecated starting from API version 2021-06-01-preview. Please use the + resourceRequests field to set the the memory size. Default value: 1 . + :type memory_in_gb: int + :param resource_requests: The requested resource quantity for required CPU + and Memory. It is recommended that using this field to represent the + required CPU and Memory, the old field cpu and memoryInGB will be + deprecated later. + :type resource_requests: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ResourceRequests + :param jvm_options: JVM parameter + :type jvm_options: str + :param net_core_main_entry_path: The path to the .NET executable relative + to zip root + :type net_core_main_entry_path: str + :param environment_variables: Collection of environment variables + :type environment_variables: dict[str, str] + :param runtime_version: Runtime version. Possible values include: + 'Java_8', 'Java_11', 'NetCore_31' + :type runtime_version: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.RuntimeVersion + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'int'}, + 'memory_in_gb': {'key': 'memoryInGB', 'type': 'int'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ResourceRequests'}, + 'jvm_options': {'key': 'jvmOptions', 'type': 'str'}, + 'net_core_main_entry_path': {'key': 'netCoreMainEntryPath', 'type': 'str'}, + 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeploymentSettings, self).__init__(**kwargs) + self.cpu = kwargs.get('cpu', 1) + self.memory_in_gb = kwargs.get('memory_in_gb', 1) + self.resource_requests = kwargs.get('resource_requests', None) + self.jvm_options = kwargs.get('jvm_options', None) + self.net_core_main_entry_path = kwargs.get('net_core_main_entry_path', None) + self.environment_variables = kwargs.get('environment_variables', None) + self.runtime_version = kwargs.get('runtime_version', None) + + +class Error(Model): + """The error code compose of code and message. + + :param code: The code of error. + :type code: str + :param message: The message of error. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class GitPatternRepository(Model): + """Git repository property payload. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the repository + :type name: str + :param pattern: Collection of pattern of the repository + :type pattern: list[str] + :param uri: Required. URI of the repository + :type uri: str + :param label: Label of the repository + :type label: str + :param search_paths: Searching path of the repository + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'name': {'required': True}, + 'uri': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': '[str]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(GitPatternRepository, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.pattern = kwargs.get('pattern', None) + self.uri = kwargs.get('uri', None) + self.label = kwargs.get('label', None) + self.search_paths = kwargs.get('search_paths', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.host_key = kwargs.get('host_key', None) + self.host_key_algorithm = kwargs.get('host_key_algorithm', None) + self.private_key = kwargs.get('private_key', None) + self.strict_host_key_checking = kwargs.get('strict_host_key_checking', None) + + +class LogFileUrlResponse(Model): + """Log file URL payload. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. URL of the log file + :type url: str + """ + + _validation = { + 'url': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogFileUrlResponse, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class LogSpecification(Model): + """Specifications of the Log for Azure Monitoring. + + :param name: Name of the log + :type name: str + :param display_name: Localized friendly display name of the log + :type display_name: str + :param blob_duration: Blob duration of the log + :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 ManagedIdentityProperties(Model): + """Managed identity properties retrieved from ARM request headers. + + :param type: Type of the managed identity. Possible values include: + 'None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned' + :type type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ManagedIdentityType + :param principal_id: Principal Id + :type principal_id: str + :param tenant_id: 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. + + :param name: Name of the dimension + :type name: str + :param display_name: Localized friendly display name of the dimension + :type display_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricDimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + + +class MetricSpecification(Model): + """Specifications of the Metrics for Azure Monitoring. + + :param name: Name of the metric + :type name: str + :param display_name: Localized friendly display name of the metric + :type display_name: str + :param display_description: Localized friendly description of the metric + :type display_description: str + :param unit: Unit that makes sense for the metric + :type unit: str + :param category: Name of the metric category that the metric belongs to. A + metric can only belong to a single category. + :type category: str + :param aggregation_type: Only provide one value for this field. Valid + values: Average, Minimum, Maximum, Total, Count. + :type aggregation_type: 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 fill_gap_with_zero: Optional. If set to true, then zero will be + returned for time duration where no metric is emitted/published. + :type fill_gap_with_zero: bool + :param dimensions: Dimensions of the metric + :type dimensions: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.MetricDimension] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + } + + 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.category = kwargs.get('category', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.supported_aggregation_types = kwargs.get('supported_aggregation_types', None) + self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.dimensions = kwargs.get('dimensions', None) + + +class MonitoringSettingProperties(Model): + """Monitoring Setting properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: State of the Monitoring Setting. Possible values + include: 'NotAvailable', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingState + :param error: Error when apply Monitoring Setting changes. + :type error: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Error + :param trace_enabled: Indicates whether enable the trace functionality, + which will be deprecated since api version 2020-11-01-preview. Please + leverage appInsightsInstrumentationKey to indicate if monitoringSettings + enabled or not + :type trace_enabled: bool + :param app_insights_instrumentation_key: Target application insight + instrumentation key, null or whitespace include empty will disable + monitoringSettings + :type app_insights_instrumentation_key: str + :param app_insights_sampling_rate: Indicates the sampling rate of + application insight agent, should be in range [0.0, 100.0] + :type app_insights_sampling_rate: float + :param app_insights_agent_versions: Indicates the versions of application + insight agent + :type app_insights_agent_versions: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ApplicationInsightsAgentVersions + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'app_insights_sampling_rate': {'maximum': 100, 'minimum': 0}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'trace_enabled': {'key': 'traceEnabled', 'type': 'bool'}, + 'app_insights_instrumentation_key': {'key': 'appInsightsInstrumentationKey', 'type': 'str'}, + 'app_insights_sampling_rate': {'key': 'appInsightsSamplingRate', 'type': 'float'}, + 'app_insights_agent_versions': {'key': 'appInsightsAgentVersions', 'type': 'ApplicationInsightsAgentVersions'}, + } + + def __init__(self, **kwargs): + super(MonitoringSettingProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = kwargs.get('error', None) + self.trace_enabled = kwargs.get('trace_enabled', None) + self.app_insights_instrumentation_key = kwargs.get('app_insights_instrumentation_key', None) + self.app_insights_sampling_rate = kwargs.get('app_insights_sampling_rate', None) + self.app_insights_agent_versions = kwargs.get('app_insights_agent_versions', None) + + +class MonitoringSettingResource(ProxyResource): + """Monitoring Setting 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 properties: Properties of the Monitoring Setting resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingProperties + """ + + _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': 'MonitoringSettingProperties'}, + } + + def __init__(self, **kwargs): + super(MonitoringSettingResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class NameAvailability(Model): + """Name availability result payload. + + :param name_available: Indicates whether the name is available + :type name_available: bool + :param reason: Reason why the name is not available + :type reason: str + :param message: Message why the name is not available + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameAvailability, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.reason = kwargs.get('reason', None) + self.message = kwargs.get('message', None) + + +class NameAvailabilityParameters(Model): + """Name availability parameters payload. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the resource to check name availability + :type type: str + :param name: Required. Name to be checked + :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(NameAvailabilityParameters, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) + + +class NetworkProfile(Model): + """Service network profile payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param service_runtime_subnet_id: Fully qualified resource Id of the + subnet to host Azure Spring Cloud Service Runtime + :type service_runtime_subnet_id: str + :param app_subnet_id: Fully qualified resource Id of the subnet to host + Azure Spring Cloud Apps + :type app_subnet_id: str + :param service_cidr: Azure Spring Cloud service reserved CIDR + :type service_cidr: str + :param service_runtime_network_resource_group: Name of the resource group + containing network resources of Azure Spring Cloud Service Runtime + :type service_runtime_network_resource_group: str + :param app_network_resource_group: Name of the resource group containing + network resources of Azure Spring Cloud Apps + :type app_network_resource_group: str + :ivar outbound_ips: Desired outbound IP resources for Azure Spring Cloud + instance. + :vartype outbound_ips: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure + Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.RequiredTraffic] + """ + + _validation = { + 'outbound_ips': {'readonly': True}, + 'required_traffics': {'readonly': True}, + } + + _attribute_map = { + 'service_runtime_subnet_id': {'key': 'serviceRuntimeSubnetId', 'type': 'str'}, + 'app_subnet_id': {'key': 'appSubnetId', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, + 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, + 'outbound_ips': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, + } + + def __init__(self, **kwargs): + super(NetworkProfile, self).__init__(**kwargs) + self.service_runtime_subnet_id = kwargs.get('service_runtime_subnet_id', None) + self.app_subnet_id = kwargs.get('app_subnet_id', None) + self.service_cidr = kwargs.get('service_cidr', None) + self.service_runtime_network_resource_group = kwargs.get('service_runtime_network_resource_group', None) + self.app_network_resource_group = kwargs.get('app_network_resource_group', None) + self.outbound_ips = None + self.required_traffics = None + + +class NetworkProfileOutboundIPs(Model): + """Desired outbound IP resources for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar public_ips: A list of public IP addresses. + :vartype public_ips: list[str] + """ + + _validation = { + 'public_ips': {'readonly': True}, + } + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(NetworkProfileOutboundIPs, self).__init__(**kwargs) + self.public_ips = None + + +class OperationDetail(Model): + """Operation detail payload. + + :param name: Name of the operation + :type name: str + :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.v2021_06_01_preview.models.OperationDisplay + :param origin: Origin of the operation + :type origin: str + :param properties: Properties of the operation + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.OperationProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + '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, **kwargs): + super(OperationDetail, 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) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class OperationDisplay(Model): + """Operation display payload. + + :param provider: Resource provider of the operation + :type provider: str + :param resource: Resource of the operation + :type resource: str + :param operation: Localized friendly name for the operation + :type operation: str + :param description: Localized friendly description for 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 OperationProperties(Model): + """Extra Operation properties. + + :param service_specification: Service specifications of the operation + :type service_specification: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(OperationProperties, self).__init__(**kwargs) + self.service_specification = kwargs.get('service_specification', None) + + +class PersistentDisk(Model): + """Persistent disk payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param size_in_gb: Size of the persistent disk in GB + :type size_in_gb: int + :ivar used_in_gb: Size of the used persistent disk in GB + :vartype used_in_gb: int + :param mount_path: Mount path of the persistent disk + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 50, 'minimum': 0}, + 'used_in_gb': {'readonly': True, 'maximum': 50, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'used_in_gb': {'key': 'usedInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PersistentDisk, self).__init__(**kwargs) + self.size_in_gb = kwargs.get('size_in_gb', None) + self.used_in_gb = None + self.mount_path = kwargs.get('mount_path', None) + + +class RegenerateTestKeyRequestPayload(Model): + """Regenerate test key request payload. + + All required parameters must be populated in order to send to Azure. + + :param key_type: Required. Type of the test key. Possible values include: + 'Primary', 'Secondary' + :type key_type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.TestKeyType + """ + + _validation = { + 'key_type': {'required': True}, + } + + _attribute_map = { + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RegenerateTestKeyRequestPayload, self).__init__(**kwargs) + self.key_type = kwargs.get('key_type', None) + + +class RequiredTraffic(Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar protocol: The protocol of required traffic + :vartype protocol: str + :ivar port: The port of required traffic + :vartype port: int + :ivar ips: The ip list of required traffic + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values + include: 'Inbound', 'Outbound' + :vartype direction: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + +class ResourceRequests(Model): + """Deployment resource request payload. + + :param cpu: Required CPU. 1 core can be represented by 1 or 1000m. This + should be 500m or 1 for Basic tier, and {500m, 1, 2, 3, 4} for Standard + tier. + :type cpu: str + :param memory: Required memory. 1 GB can be represented by 1Gi or 1024Mi. + This should be {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, + ..., 8Gi} for Standard tier. + :type memory: str + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceRequests, self).__init__(**kwargs) + self.cpu = kwargs.get('cpu', None) + self.memory = kwargs.get('memory', 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.v2021_06_01_preview.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.v2021_06_01_preview.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.v2021_06_01_preview.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): + """Locations and availability zones where the SKU is available. + + :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.v2021_06_01_preview.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): + """Information about the restriction where the SKU cannot be used. + + :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): + """Restrictions where the SKU cannot be used. + + :param type: Gets the type of restrictions. Possible values include: + 'Location', 'Zone' + :type type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.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.v2021_06_01_preview.models.ResourceSkuRestrictionInfo + :param reason_code: Gets the reason for restriction. Possible values + include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.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): + """Details of capabilities available to a SKU in specific zones. + + :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.v2021_06_01_preview.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. + + :param relative_path: Source relative path + :type relative_path: str + :param upload_url: Upload URL + :type upload_url: str + """ + + _attribute_map = { + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'upload_url': {'key': 'uploadUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceUploadDefinition, self).__init__(**kwargs) + self.relative_path = kwargs.get('relative_path', None) + self.upload_url = kwargs.get('upload_url', 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. + + :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 location: The GEO location of the resource. + :type location: str + :param tags: Tags of the service which is a list of key value pairs that + describe 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 ServiceResource(TrackedResource): + """Service 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 location: The GEO location of the resource. + :type location: str + :param tags: Tags of the service which is a list of key value pairs that + describe the resource. + :type tags: dict[str, str] + :param properties: Properties of the Service resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ClusterResourceProperties + :param sku: Sku of the Service resource + :type sku: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Sku + """ + + _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': '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): + """Service specification payload. + + :param log_specifications: Specifications of the Log for Azure Monitoring + :type log_specifications: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.LogSpecification] + :param metric_specifications: Specifications of the Metrics for Azure + Monitoring + :type metric_specifications: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.MetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, **kwargs): + super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = kwargs.get('log_specifications', None) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class Sku(Model): + """Sku of Azure Spring Cloud. + + :param name: Name of the Sku. Default value: "S0" . + :type name: str + :param tier: Tier of the Sku. Default value: "Standard" . + :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', "S0") + self.tier = kwargs.get('tier', "Standard") + 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.v2021_06_01_preview.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 SupportedRuntimeVersion(Model): + """Supported deployment runtime version descriptor. + + :param value: The raw value which could be passed to deployment CRUD + operations. Possible values include: 'Java_8', 'Java_11', 'NetCore_31' + :type value: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.SupportedRuntimeValue + :param platform: The platform of this runtime version (possible values: + "Java" or ".NET"). Possible values include: 'Java', '.NET Core' + :type platform: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.SupportedRuntimePlatform + :param version: The detailed version (major.minor) of the platform. + :type version: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'platform': {'key': 'platform', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SupportedRuntimeVersion, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.platform = kwargs.get('platform', None) + self.version = kwargs.get('version', None) + + +class TemporaryDisk(Model): + """Temporary disk payload. + + :param size_in_gb: Size of the temporary disk in GB + :type size_in_gb: int + :param mount_path: Mount path of the temporary disk + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 5, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TemporaryDisk, self).__init__(**kwargs) + self.size_in_gb = kwargs.get('size_in_gb', None) + self.mount_path = kwargs.get('mount_path', None) + + +class TestKeys(Model): + """Test keys payload. + + :param primary_key: Primary key + :type primary_key: str + :param secondary_key: Secondary key + :type secondary_key: str + :param primary_test_endpoint: Primary test endpoint + :type primary_test_endpoint: str + :param secondary_test_endpoint: Secondary test endpoint + :type secondary_test_endpoint: str + :param enabled: Indicates whether the test endpoint feature enabled or not + :type enabled: bool + """ + + _attribute_map = { + 'primary_key': {'key': 'primaryKey', 'type': 'str'}, + 'secondary_key': {'key': 'secondaryKey', 'type': 'str'}, + 'primary_test_endpoint': {'key': 'primaryTestEndpoint', 'type': 'str'}, + 'secondary_test_endpoint': {'key': 'secondaryTestEndpoint', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(TestKeys, self).__init__(**kwargs) + self.primary_key = kwargs.get('primary_key', None) + self.secondary_key = kwargs.get('secondary_key', None) + self.primary_test_endpoint = kwargs.get('primary_test_endpoint', None) + self.secondary_test_endpoint = kwargs.get('secondary_test_endpoint', None) + self.enabled = kwargs.get('enabled', None) + + +class UserSourceInfo(Model): + """Source information for a deployment. + + :param type: Type of the source uploaded. Possible values include: 'Jar', + 'NetCoreZip', 'Source' + :type type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.UserSourceType + :param relative_path: Relative path of the storage which stores the source + :type relative_path: str + :param version: Version of the source + :type version: str + :param artifact_selector: Selector for the artifact to be used for the + deployment for multi-module projects. This should be + the relative path to the target module/project. + :type artifact_selector: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'artifact_selector': {'key': 'artifactSelector', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UserSourceInfo, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.relative_path = kwargs.get('relative_path', None) + self.version = kwargs.get('version', None) + self.artifact_selector = kwargs.get('artifact_selector', None) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..5efc5bf4c4b --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py @@ -0,0 +1,2160 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 ApplicationInsightsAgentVersions(Model): + """Application Insights agent versions properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar java: Indicates the version of application insight java agent + :vartype java: str + """ + + _validation = { + 'java': {'readonly': True}, + } + + _attribute_map = { + 'java': {'key': 'java', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ApplicationInsightsAgentVersions, self).__init__(**kwargs) + self.java = None + + +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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the 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) -> None: + 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the 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) -> None: + super(ProxyResource, self).__init__(**kwargs) + + +class AppResource(ProxyResource): + """App 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 App resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResourceProperties + :param identity: The Managed Identity type of the app resource + :type identity: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ManagedIdentityProperties + :param location: The GEO location of the application, always the same with + its parent resource + :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'}, + 'properties': {'key': 'properties', 'type': 'AppResourceProperties'}, + 'identity': {'key': 'identity', 'type': 'ManagedIdentityProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + 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): + """App resource properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param public: Indicates whether the App exposes public endpoint + :type public: bool + :ivar url: URL of the App + :vartype url: str + :ivar provisioning_state: Provisioning state of the App. Possible values + include: 'Succeeded', 'Failed', 'Creating', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.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 + :type temporary_disk: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.TemporaryDisk + :param persistent_disk: Persistent disk settings + :type persistent_disk: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.PersistentDisk + :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. + :type enable_end_to_end_tls: bool + """ + + _validation = { + 'url': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'created_time': {'readonly': True}, + } + + _attribute_map = { + 'public': {'key': 'public', 'type': 'bool'}, + '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'}, + 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, + } + + def __init__(self, *, public: bool=None, active_deployment_name: str=None, fqdn: str=None, https_only: bool=None, temporary_disk=None, persistent_disk=None, enable_end_to_end_tls: bool=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 + self.enable_end_to_end_tls = enable_end_to_end_tls + + +class AvailableRuntimeVersions(Model): + """AvailableRuntimeVersions. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: A list of all supported runtime versions. + :vartype value: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.SupportedRuntimeVersion] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedRuntimeVersion]'}, + } + + def __init__(self, **kwargs) -> None: + super(AvailableRuntimeVersions, self).__init__(**kwargs) + self.value = None + + +class BindingResource(ProxyResource): + """Binding 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 Binding resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResourceProperties + """ + + _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': 'BindingResourceProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(BindingResource, self).__init__(**kwargs) + self.properties = properties + + +class BindingResourceProperties(Model): + """Binding resource properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar resource_name: The name of the bound resource + :vartype resource_name: str + :ivar resource_type: The standard Azure resource type of the bound + resource + :vartype resource_type: str + :param resource_id: The Azure resource id of the bound resource + :type resource_id: str + :param key: The key of the bound resource + :type key: str + :param binding_parameters: Binding parameters of the Binding resource + :type binding_parameters: dict[str, object] + :ivar generated_properties: The generated Spring Boot property file for + this binding. The secret will be deducted. + :vartype generated_properties: str + :ivar created_at: Creation time of the Binding resource + :vartype created_at: str + :ivar updated_at: Update time of the Binding resource + :vartype updated_at: str + """ + + _validation = { + 'resource_name': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'generated_properties': {'readonly': True}, + 'created_at': {'readonly': True}, + 'updated_at': {'readonly': True}, + } + + _attribute_map = { + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'str'}, + 'binding_parameters': {'key': 'bindingParameters', 'type': '{object}'}, + 'generated_properties': {'key': 'generatedProperties', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'updated_at': {'key': 'updatedAt', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, key: str=None, binding_parameters=None, **kwargs) -> None: + super(BindingResourceProperties, self).__init__(**kwargs) + self.resource_name = None + self.resource_type = None + self.resource_id = resource_id + self.key = key + self.binding_parameters = binding_parameters + self.generated_properties = None + self.created_at = None + 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.v2021_06_01_preview.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. + + :param error: An error response from the service. + :type error: + ~azure.mgmt.appplatform.v2021_06_01_preview.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.appplatform.v2021_06_01_preview.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 ClusterResourceProperties(Model): + """Service properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: Provisioning state of the Service. Possible + values include: 'Creating', 'Updating', 'Deleting', 'Deleted', + 'Succeeded', 'Failed', 'Moving', 'Moved', 'MoveFailed' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ProvisioningState + :param network_profile: Network profile of the Service + :type network_profile: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.NetworkProfile + :ivar version: Version of the Service + :vartype version: int + :ivar service_id: ServiceInstanceEntity GUID which uniquely identifies a + created resource + :vartype service_id: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'version': {'readonly': True}, + 'service_id': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'network_profile': {'key': 'networkProfile', 'type': 'NetworkProfile'}, + 'version': {'key': 'version', 'type': 'int'}, + 'service_id': {'key': 'serviceId', 'type': 'str'}, + } + + def __init__(self, *, network_profile=None, **kwargs) -> None: + super(ClusterResourceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.network_profile = network_profile + self.version = None + self.service_id = None + + +class ConfigServerGitProperty(Model): + """Property of git. + + All required parameters must be populated in order to send to Azure. + + :param repositories: Repositories of git. + :type repositories: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.GitPatternRepository] + :param uri: Required. URI of the repository + :type uri: str + :param label: Label of the repository + :type label: str + :param search_paths: Searching path of the repository + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'repositories': {'key': 'repositories', 'type': '[GitPatternRepository]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__(self, *, uri: str, repositories=None, label: str=None, search_paths=None, username: str=None, password: str=None, host_key: str=None, host_key_algorithm: str=None, private_key: str=None, strict_host_key_checking: bool=None, **kwargs) -> None: + super(ConfigServerGitProperty, self).__init__(**kwargs) + self.repositories = repositories + self.uri = uri + self.label = label + self.search_paths = search_paths + self.username = username + self.password = password + self.host_key = host_key + self.host_key_algorithm = host_key_algorithm + self.private_key = private_key + self.strict_host_key_checking = strict_host_key_checking + + +class ConfigServerProperties(Model): + """Config server git properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: State of the config server. Possible values + include: 'NotAvailable', 'Deleted', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerState + :param error: Error when apply config server settings. + :type error: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Error + :param config_server: Settings of config server. + :type config_server: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerSettings + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'config_server': {'key': 'configServer', 'type': 'ConfigServerSettings'}, + } + + def __init__(self, *, error=None, config_server=None, **kwargs) -> None: + super(ConfigServerProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = error + self.config_server = config_server + + +class ConfigServerResource(ProxyResource): + """Config 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. + :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 Config Server resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerProperties + """ + + _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': 'ConfigServerProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(ConfigServerResource, self).__init__(**kwargs) + self.properties = properties + + +class ConfigServerSettings(Model): + """The settings of config server. + + :param git_property: Property of git environment. + :type git_property: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerGitProperty + """ + + _attribute_map = { + 'git_property': {'key': 'gitProperty', 'type': 'ConfigServerGitProperty'}, + } + + def __init__(self, *, git_property=None, **kwargs) -> None: + super(ConfigServerSettings, self).__init__(**kwargs) + self.git_property = git_property + + +class ConfigServerSettingsErrorRecord(Model): + """Error record of the config server settings. + + :param name: The name of the config server settings error record + :type name: str + :param uri: The uri of the config server settings error record + :type uri: str + :param messages: The detail error messages of the record + :type messages: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'messages': {'key': 'messages', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, uri: str=None, messages=None, **kwargs) -> None: + super(ConfigServerSettingsErrorRecord, self).__init__(**kwargs) + self.name = name + self.uri = uri + self.messages = messages + + +class ConfigServerSettingsValidateResult(Model): + """Validation result for config server settings. + + :param is_valid: Indicate if the config server settings are valid + :type is_valid: bool + :param details: The detail validation results + :type details: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerSettingsErrorRecord] + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'details': {'key': 'details', 'type': '[ConfigServerSettingsErrorRecord]'}, + } + + def __init__(self, *, is_valid: bool=None, details=None, **kwargs) -> None: + super(ConfigServerSettingsValidateResult, self).__init__(**kwargs) + self.is_valid = is_valid + self.details = details + + +class CustomDomainProperties(Model): + """Custom domain of app resource payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + :ivar app_name: The app name of domain. + :vartype app_name: str + :param cert_name: The bound certificate name of domain. + :type cert_name: str + """ + + _validation = { + 'app_name': {'readonly': True}, + } + + _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, cert_name: str=None, **kwargs) -> None: + super(CustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = thumbprint + self.app_name = None + 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.v2021_06_01_preview.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. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the deployment instance + :vartype name: str + :ivar status: Status of the deployment instance + :vartype status: str + :ivar reason: Failed reason of the deployment instance + :vartype reason: str + :ivar discovery_status: Discovery status of the deployment instance + :vartype discovery_status: str + :ivar start_time: Start time of the deployment instance + :vartype start_time: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'discovery_status': {'readonly': True}, + 'start_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'discovery_status': {'key': 'discoveryStatus', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DeploymentInstance, self).__init__(**kwargs) + self.name = None + self.status = None + self.reason = None + self.discovery_status = None + self.start_time = None + + +class DeploymentResource(ProxyResource): + """Deployment 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 Deployment resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourceProperties + :param sku: Sku of the Deployment resource + :type sku: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Sku + """ + + _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': 'DeploymentResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__(self, *, properties=None, sku=None, **kwargs) -> None: + super(DeploymentResource, self).__init__(**kwargs) + self.properties = properties + self.sku = sku + + +class DeploymentResourceProperties(Model): + """Deployment resource properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param source: Uploaded source information of the deployment. + :type source: + ~azure.mgmt.appplatform.v2021_06_01_preview.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.v2021_06_01_preview.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.v2021_06_01_preview.models.DeploymentResourceProvisioningState + :ivar status: Status of the Deployment. Possible values include: + 'Unknown', 'Stopped', 'Running', 'Failed', 'Allocating', 'Upgrading', + 'Compiling' + :vartype status: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourceStatus + :ivar active: Indicates whether the Deployment is active + :vartype active: bool + :ivar created_time: Date time when the resource is created + :vartype created_time: datetime + :ivar instances: Collection of instances belong to the Deployment + :vartype instances: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentInstance] + """ + + _validation = { + 'app_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'active': {'readonly': True}, + 'created_time': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'UserSourceInfo'}, + 'app_name': {'key': 'appName', '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'}, + 'instances': {'key': 'instances', 'type': '[DeploymentInstance]'}, + } + + def __init__(self, *, source=None, deployment_settings=None, **kwargs) -> None: + super(DeploymentResourceProperties, self).__init__(**kwargs) + self.source = source + self.app_name = None + self.deployment_settings = deployment_settings + self.provisioning_state = None + self.status = None + self.active = None + self.created_time = None + self.instances = None + + +class DeploymentSettings(Model): + """Deployment settings payload. + + :param cpu: Required CPU. This should be 1 for Basic tier, and in range + [1, 4] for Standard tier. This is deprecated starting from API version + 2021-06-01-preview. Please use the resourceRequests field to set the CPU + size. Default value: 1 . + :type cpu: int + :param memory_in_gb: Required Memory size in GB. This should be in range + [1, 2] for Basic tier, and in range [1, 8] for Standard tier. This is + deprecated starting from API version 2021-06-01-preview. Please use the + resourceRequests field to set the the memory size. Default value: 1 . + :type memory_in_gb: int + :param resource_requests: The requested resource quantity for required CPU + and Memory. It is recommended that using this field to represent the + required CPU and Memory, the old field cpu and memoryInGB will be + deprecated later. + :type resource_requests: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ResourceRequests + :param jvm_options: JVM parameter + :type jvm_options: str + :param net_core_main_entry_path: The path to the .NET executable relative + to zip root + :type net_core_main_entry_path: str + :param environment_variables: Collection of environment variables + :type environment_variables: dict[str, str] + :param runtime_version: Runtime version. Possible values include: + 'Java_8', 'Java_11', 'NetCore_31' + :type runtime_version: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.RuntimeVersion + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'int'}, + 'memory_in_gb': {'key': 'memoryInGB', 'type': 'int'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ResourceRequests'}, + 'jvm_options': {'key': 'jvmOptions', 'type': 'str'}, + 'net_core_main_entry_path': {'key': 'netCoreMainEntryPath', 'type': 'str'}, + 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + } + + def __init__(self, *, cpu: int=1, memory_in_gb: int=1, resource_requests=None, jvm_options: str=None, net_core_main_entry_path: str=None, environment_variables=None, runtime_version=None, **kwargs) -> None: + super(DeploymentSettings, self).__init__(**kwargs) + self.cpu = cpu + self.memory_in_gb = memory_in_gb + self.resource_requests = resource_requests + self.jvm_options = jvm_options + self.net_core_main_entry_path = net_core_main_entry_path + self.environment_variables = environment_variables + self.runtime_version = runtime_version + + +class Error(Model): + """The error code compose of code and message. + + :param code: The code of error. + :type code: str + :param message: The message of error. + :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(Error, self).__init__(**kwargs) + self.code = code + self.message = message + + +class GitPatternRepository(Model): + """Git repository property payload. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the repository + :type name: str + :param pattern: Collection of pattern of the repository + :type pattern: list[str] + :param uri: Required. URI of the repository + :type uri: str + :param label: Label of the repository + :type label: str + :param search_paths: Searching path of the repository + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'name': {'required': True}, + 'uri': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': '[str]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__(self, *, name: str, uri: str, pattern=None, label: str=None, search_paths=None, username: str=None, password: str=None, host_key: str=None, host_key_algorithm: str=None, private_key: str=None, strict_host_key_checking: bool=None, **kwargs) -> None: + super(GitPatternRepository, self).__init__(**kwargs) + self.name = name + self.pattern = pattern + self.uri = uri + self.label = label + self.search_paths = search_paths + self.username = username + self.password = password + self.host_key = host_key + self.host_key_algorithm = host_key_algorithm + self.private_key = private_key + self.strict_host_key_checking = strict_host_key_checking + + +class LogFileUrlResponse(Model): + """Log file URL payload. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. URL of the log file + :type url: str + """ + + _validation = { + 'url': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str, **kwargs) -> None: + super(LogFileUrlResponse, self).__init__(**kwargs) + self.url = url + + +class LogSpecification(Model): + """Specifications of the Log for Azure Monitoring. + + :param name: Name of the log + :type name: str + :param display_name: Localized friendly display name of the log + :type display_name: str + :param blob_duration: Blob duration of the log + :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 ManagedIdentityProperties(Model): + """Managed identity properties retrieved from ARM request headers. + + :param type: Type of the managed identity. Possible values include: + 'None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned' + :type type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ManagedIdentityType + :param principal_id: Principal Id + :type principal_id: str + :param tenant_id: 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. + + :param name: Name of the dimension + :type name: str + :param display_name: Localized friendly display name of the 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(MetricDimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + + +class MetricSpecification(Model): + """Specifications of the Metrics for Azure Monitoring. + + :param name: Name of the metric + :type name: str + :param display_name: Localized friendly display name of the metric + :type display_name: str + :param display_description: Localized friendly description of the metric + :type display_description: str + :param unit: Unit that makes sense for the metric + :type unit: str + :param category: Name of the metric category that the metric belongs to. A + metric can only belong to a single category. + :type category: str + :param aggregation_type: Only provide one value for this field. Valid + values: Average, Minimum, Maximum, Total, Count. + :type aggregation_type: 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 fill_gap_with_zero: Optional. If set to true, then zero will be + returned for time duration where no metric is emitted/published. + :type fill_gap_with_zero: bool + :param dimensions: Dimensions of the metric + :type dimensions: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.MetricDimension] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, category: str=None, aggregation_type: str=None, supported_aggregation_types=None, supported_time_grain_types=None, fill_gap_with_zero: bool=None, dimensions=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.category = category + self.aggregation_type = aggregation_type + self.supported_aggregation_types = supported_aggregation_types + self.supported_time_grain_types = supported_time_grain_types + self.fill_gap_with_zero = fill_gap_with_zero + self.dimensions = dimensions + + +class MonitoringSettingProperties(Model): + """Monitoring Setting properties payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: State of the Monitoring Setting. Possible values + include: 'NotAvailable', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingState + :param error: Error when apply Monitoring Setting changes. + :type error: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Error + :param trace_enabled: Indicates whether enable the trace functionality, + which will be deprecated since api version 2020-11-01-preview. Please + leverage appInsightsInstrumentationKey to indicate if monitoringSettings + enabled or not + :type trace_enabled: bool + :param app_insights_instrumentation_key: Target application insight + instrumentation key, null or whitespace include empty will disable + monitoringSettings + :type app_insights_instrumentation_key: str + :param app_insights_sampling_rate: Indicates the sampling rate of + application insight agent, should be in range [0.0, 100.0] + :type app_insights_sampling_rate: float + :param app_insights_agent_versions: Indicates the versions of application + insight agent + :type app_insights_agent_versions: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ApplicationInsightsAgentVersions + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'app_insights_sampling_rate': {'maximum': 100, 'minimum': 0}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'trace_enabled': {'key': 'traceEnabled', 'type': 'bool'}, + 'app_insights_instrumentation_key': {'key': 'appInsightsInstrumentationKey', 'type': 'str'}, + 'app_insights_sampling_rate': {'key': 'appInsightsSamplingRate', 'type': 'float'}, + 'app_insights_agent_versions': {'key': 'appInsightsAgentVersions', 'type': 'ApplicationInsightsAgentVersions'}, + } + + def __init__(self, *, error=None, trace_enabled: bool=None, app_insights_instrumentation_key: str=None, app_insights_sampling_rate: float=None, app_insights_agent_versions=None, **kwargs) -> None: + super(MonitoringSettingProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = error + self.trace_enabled = trace_enabled + self.app_insights_instrumentation_key = app_insights_instrumentation_key + self.app_insights_sampling_rate = app_insights_sampling_rate + self.app_insights_agent_versions = app_insights_agent_versions + + +class MonitoringSettingResource(ProxyResource): + """Monitoring Setting 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 properties: Properties of the Monitoring Setting resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingProperties + """ + + _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': 'MonitoringSettingProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(MonitoringSettingResource, self).__init__(**kwargs) + self.properties = properties + + +class NameAvailability(Model): + """Name availability result payload. + + :param name_available: Indicates whether the name is available + :type name_available: bool + :param reason: Reason why the name is not available + :type reason: str + :param message: Message why the name is not available + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, name_available: bool=None, reason: str=None, message: str=None, **kwargs) -> None: + super(NameAvailability, self).__init__(**kwargs) + self.name_available = name_available + self.reason = reason + self.message = message + + +class NameAvailabilityParameters(Model): + """Name availability parameters payload. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the resource to check name availability + :type type: str + :param name: Required. Name to be checked + :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: str, name: str, **kwargs) -> None: + super(NameAvailabilityParameters, self).__init__(**kwargs) + self.type = type + self.name = name + + +class NetworkProfile(Model): + """Service network profile payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param service_runtime_subnet_id: Fully qualified resource Id of the + subnet to host Azure Spring Cloud Service Runtime + :type service_runtime_subnet_id: str + :param app_subnet_id: Fully qualified resource Id of the subnet to host + Azure Spring Cloud Apps + :type app_subnet_id: str + :param service_cidr: Azure Spring Cloud service reserved CIDR + :type service_cidr: str + :param service_runtime_network_resource_group: Name of the resource group + containing network resources of Azure Spring Cloud Service Runtime + :type service_runtime_network_resource_group: str + :param app_network_resource_group: Name of the resource group containing + network resources of Azure Spring Cloud Apps + :type app_network_resource_group: str + :ivar outbound_ips: Desired outbound IP resources for Azure Spring Cloud + instance. + :vartype outbound_ips: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure + Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.RequiredTraffic] + """ + + _validation = { + 'outbound_ips': {'readonly': True}, + 'required_traffics': {'readonly': True}, + } + + _attribute_map = { + 'service_runtime_subnet_id': {'key': 'serviceRuntimeSubnetId', 'type': 'str'}, + 'app_subnet_id': {'key': 'appSubnetId', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, + 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, + 'outbound_ips': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, + } + + def __init__(self, *, service_runtime_subnet_id: str=None, app_subnet_id: str=None, service_cidr: str=None, service_runtime_network_resource_group: str=None, app_network_resource_group: str=None, **kwargs) -> None: + super(NetworkProfile, self).__init__(**kwargs) + self.service_runtime_subnet_id = service_runtime_subnet_id + self.app_subnet_id = app_subnet_id + self.service_cidr = service_cidr + self.service_runtime_network_resource_group = service_runtime_network_resource_group + self.app_network_resource_group = app_network_resource_group + self.outbound_ips = None + self.required_traffics = None + + +class NetworkProfileOutboundIPs(Model): + """Desired outbound IP resources for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar public_ips: A list of public IP addresses. + :vartype public_ips: list[str] + """ + + _validation = { + 'public_ips': {'readonly': True}, + } + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkProfileOutboundIPs, self).__init__(**kwargs) + self.public_ips = None + + +class OperationDetail(Model): + """Operation detail payload. + + :param name: Name of the operation + :type name: str + :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.v2021_06_01_preview.models.OperationDisplay + :param origin: Origin of the operation + :type origin: str + :param properties: Properties of the operation + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.OperationProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + '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, is_data_action: bool=None, display=None, origin: str=None, properties=None, **kwargs) -> None: + super(OperationDetail, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display + self.origin = origin + self.properties = properties + + +class OperationDisplay(Model): + """Operation display payload. + + :param provider: Resource provider of the operation + :type provider: str + :param resource: Resource of the operation + :type resource: str + :param operation: Localized friendly name for the operation + :type operation: str + :param description: Localized friendly description for 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 OperationProperties(Model): + """Extra Operation properties. + + :param service_specification: Service specifications of the operation + :type service_specification: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, *, service_specification=None, **kwargs) -> None: + super(OperationProperties, self).__init__(**kwargs) + self.service_specification = service_specification + + +class PersistentDisk(Model): + """Persistent disk payload. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param size_in_gb: Size of the persistent disk in GB + :type size_in_gb: int + :ivar used_in_gb: Size of the used persistent disk in GB + :vartype used_in_gb: int + :param mount_path: Mount path of the persistent disk + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 50, 'minimum': 0}, + 'used_in_gb': {'readonly': True, 'maximum': 50, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'used_in_gb': {'key': 'usedInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__(self, *, size_in_gb: int=None, mount_path: str=None, **kwargs) -> None: + super(PersistentDisk, self).__init__(**kwargs) + self.size_in_gb = size_in_gb + self.used_in_gb = None + self.mount_path = mount_path + + +class RegenerateTestKeyRequestPayload(Model): + """Regenerate test key request payload. + + All required parameters must be populated in order to send to Azure. + + :param key_type: Required. Type of the test key. Possible values include: + 'Primary', 'Secondary' + :type key_type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.TestKeyType + """ + + _validation = { + 'key_type': {'required': True}, + } + + _attribute_map = { + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__(self, *, key_type, **kwargs) -> None: + super(RegenerateTestKeyRequestPayload, self).__init__(**kwargs) + self.key_type = key_type + + +class RequiredTraffic(Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar protocol: The protocol of required traffic + :vartype protocol: str + :ivar port: The port of required traffic + :vartype port: int + :ivar ips: The ip list of required traffic + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values + include: 'Inbound', 'Outbound' + :vartype direction: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + +class ResourceRequests(Model): + """Deployment resource request payload. + + :param cpu: Required CPU. 1 core can be represented by 1 or 1000m. This + should be 500m or 1 for Basic tier, and {500m, 1, 2, 3, 4} for Standard + tier. + :type cpu: str + :param memory: Required memory. 1 GB can be represented by 1Gi or 1024Mi. + This should be {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, + ..., 8Gi} for Standard tier. + :type memory: str + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__(self, *, cpu: str=None, memory: str=None, **kwargs) -> None: + super(ResourceRequests, self).__init__(**kwargs) + self.cpu = cpu + self.memory = memory + + +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.v2021_06_01_preview.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.v2021_06_01_preview.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.v2021_06_01_preview.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): + """Locations and availability zones where the SKU is available. + + :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.v2021_06_01_preview.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): + """Information about the restriction where the SKU cannot be used. + + :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): + """Restrictions where the SKU cannot be used. + + :param type: Gets the type of restrictions. Possible values include: + 'Location', 'Zone' + :type type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.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.v2021_06_01_preview.models.ResourceSkuRestrictionInfo + :param reason_code: Gets the reason for restriction. Possible values + include: 'QuotaId', 'NotAvailableForSubscription' + :type reason_code: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.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): + """Details of capabilities available to a SKU in specific zones. + + :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.v2021_06_01_preview.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. + + :param relative_path: Source relative path + :type relative_path: str + :param upload_url: Upload URL + :type upload_url: str + """ + + _attribute_map = { + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'upload_url': {'key': 'uploadUrl', 'type': 'str'}, + } + + def __init__(self, *, relative_path: str=None, upload_url: str=None, **kwargs) -> None: + super(ResourceUploadDefinition, self).__init__(**kwargs) + self.relative_path = relative_path + self.upload_url = upload_url + + +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. + + :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 location: The GEO location of the resource. + :type location: str + :param tags: Tags of the service which is a list of key value pairs that + describe 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: str=None, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.location = location + self.tags = tags + + +class ServiceResource(TrackedResource): + """Service 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 location: The GEO location of the resource. + :type location: str + :param tags: Tags of the service which is a list of key value pairs that + describe the resource. + :type tags: dict[str, str] + :param properties: Properties of the Service resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ClusterResourceProperties + :param sku: Sku of the Service resource + :type sku: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Sku + """ + + _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': 'ClusterResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + 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): + """Service specification payload. + + :param log_specifications: Specifications of the Log for Azure Monitoring + :type log_specifications: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.LogSpecification] + :param metric_specifications: Specifications of the Metrics for Azure + Monitoring + :type metric_specifications: + list[~azure.mgmt.appplatform.v2021_06_01_preview.models.MetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, *, log_specifications=None, metric_specifications=None, **kwargs) -> None: + super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = log_specifications + self.metric_specifications = metric_specifications + + +class Sku(Model): + """Sku of Azure Spring Cloud. + + :param name: Name of the Sku. Default value: "S0" . + :type name: str + :param tier: Tier of the Sku. Default value: "Standard" . + :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="S0", tier: str="Standard", 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.v2021_06_01_preview.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 SupportedRuntimeVersion(Model): + """Supported deployment runtime version descriptor. + + :param value: The raw value which could be passed to deployment CRUD + operations. Possible values include: 'Java_8', 'Java_11', 'NetCore_31' + :type value: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.SupportedRuntimeValue + :param platform: The platform of this runtime version (possible values: + "Java" or ".NET"). Possible values include: 'Java', '.NET Core' + :type platform: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.SupportedRuntimePlatform + :param version: The detailed version (major.minor) of the platform. + :type version: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'platform': {'key': 'platform', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, *, value=None, platform=None, version: str=None, **kwargs) -> None: + super(SupportedRuntimeVersion, self).__init__(**kwargs) + self.value = value + self.platform = platform + self.version = version + + +class TemporaryDisk(Model): + """Temporary disk payload. + + :param size_in_gb: Size of the temporary disk in GB + :type size_in_gb: int + :param mount_path: Mount path of the temporary disk + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 5, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__(self, *, size_in_gb: int=None, mount_path: str=None, **kwargs) -> None: + super(TemporaryDisk, self).__init__(**kwargs) + self.size_in_gb = size_in_gb + self.mount_path = mount_path + + +class TestKeys(Model): + """Test keys payload. + + :param primary_key: Primary key + :type primary_key: str + :param secondary_key: Secondary key + :type secondary_key: str + :param primary_test_endpoint: Primary test endpoint + :type primary_test_endpoint: str + :param secondary_test_endpoint: Secondary test endpoint + :type secondary_test_endpoint: str + :param enabled: Indicates whether the test endpoint feature enabled or not + :type enabled: bool + """ + + _attribute_map = { + 'primary_key': {'key': 'primaryKey', 'type': 'str'}, + 'secondary_key': {'key': 'secondaryKey', 'type': 'str'}, + 'primary_test_endpoint': {'key': 'primaryTestEndpoint', 'type': 'str'}, + 'secondary_test_endpoint': {'key': 'secondaryTestEndpoint', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, primary_key: str=None, secondary_key: str=None, primary_test_endpoint: str=None, secondary_test_endpoint: str=None, enabled: bool=None, **kwargs) -> None: + super(TestKeys, self).__init__(**kwargs) + self.primary_key = primary_key + self.secondary_key = secondary_key + self.primary_test_endpoint = primary_test_endpoint + self.secondary_test_endpoint = secondary_test_endpoint + self.enabled = enabled + + +class UserSourceInfo(Model): + """Source information for a deployment. + + :param type: Type of the source uploaded. Possible values include: 'Jar', + 'NetCoreZip', 'Source' + :type type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.UserSourceType + :param relative_path: Relative path of the storage which stores the source + :type relative_path: str + :param version: Version of the source + :type version: str + :param artifact_selector: Selector for the artifact to be used for the + deployment for multi-module projects. This should be + the relative path to the target module/project. + :type artifact_selector: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'artifact_selector': {'key': 'artifactSelector', 'type': 'str'}, + } + + def __init__(self, *, type=None, relative_path: str=None, version: str=None, artifact_selector: str=None, **kwargs) -> None: + super(UserSourceInfo, self).__init__(**kwargs) + self.type = type + self.relative_path = relative_path + self.version = version + self.artifact_selector = artifact_selector diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_paged_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_paged_models.py new file mode 100644 index 00000000000..a7f5e8da6ab --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/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 ServiceResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`ServiceResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ServiceResource]'} + } + + def __init__(self, *args, **kwargs): + + super(ServiceResourcePaged, self).__init__(*args, **kwargs) +class AppResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`AppResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppResource]'} + } + + def __init__(self, *args, **kwargs): + + super(AppResourcePaged, self).__init__(*args, **kwargs) +class BindingResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`BindingResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BindingResource]'} + } + + 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 + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentResource]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentResourcePaged, self).__init__(*args, **kwargs) +class OperationDetailPaged(Paged): + """ + A paging container for iterating over a list of :class:`OperationDetail ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OperationDetail]'} + } + + 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/v2021_06_01_preview/operations/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/__init__.py new file mode 100644 index 00000000000..0a24a9df9f9 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/__init__.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 ._services_operations import ServicesOperations +from ._config_servers_operations import ConfigServersOperations +from ._monitoring_settings_operations import MonitoringSettingsOperations +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 ._runtime_versions_operations import RuntimeVersionsOperations +from ._skus_operations import SkusOperations + +__all__ = [ + 'ServicesOperations', + 'ConfigServersOperations', + 'MonitoringSettingsOperations', + 'AppsOperations', + 'BindingsOperations', + 'CertificatesOperations', + 'CustomDomainsOperations', + 'DeploymentsOperations', + 'Operations', + 'RuntimeVersionsOperations', + 'SkusOperations', +] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_apps_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_apps_operations.py new file mode 100644 index 00000000000..bf31ff9bec7 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_apps_operations.py @@ -0,0 +1,634 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AppsOperations(object): + """AppsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client 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: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, app_name, sync_status=None, custom_headers=None, raw=False, **operation_config): + """Get an App and its properties. + + :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 sync_status: Indicates whether sync status + :type sync_status: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AppResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResource + 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') + } + url = self._client.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 sync_status is not None: + query_parameters['syncStatus'] = self._serialize.query("sync_status", sync_status, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AppResource', 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}'} + + + def _create_or_update_initial( + 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 = { + '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', 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(app_resource, 'AppResource') + + # Construct and send request + request = self._client.put(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('AppResource', response) + if response.status_code == 201: + deserialized = self._deserialize('AppResource', response) + if response.status_code == 202: + deserialized = self._deserialize('AppResource', 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, 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 + 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 app_resource: Parameters for the create or update operation + :type app_resource: + ~azure.mgmt.appplatform.v2021_06_01_preview.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 + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AppResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + app_resource=app_resource, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AppResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} + + + def _delete_initial( + self, resource_group_name, service_name, app_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'), + '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', 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]: + exp = CloudError(response) + exp.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_name, app_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Operation to delete an App. + + :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: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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_name=service_name, + app_name=app_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} + + + def _update_initial( + 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 = { + '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', 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(app_resource, 'AppResource') + + # 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('AppResource', response) + if response.status_code == 202: + deserialized = self._deserialize('AppResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + 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 + 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 app_resource: Parameters for the update operation + :type app_resource: + ~azure.mgmt.appplatform.v2021_06_01_preview.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 + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AppResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + app_resource=app_resource, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AppResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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.AppPlatform/Spring/{serviceName}/apps/{appName}'} + + def list( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Handles requests to list all resources in a Service. + + :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 AppResource + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.models.AppResource] + :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', 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.AppResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps'} + + def get_resource_upload_url( + self, resource_group_name, service_name, app_name, custom_headers=None, raw=False, **operation_config): + """Get an resource upload URL for an App, which may be artifacts or source + archive. + + :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: ResourceUploadDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ResourceUploadDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_resource_upload_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'), + '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', 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('ResourceUploadDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_resource_upload_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl'} + + def validate_domain( + 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.v2021_06_01_preview.models.CustomDomainValidateResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + validate_payload = models.CustomDomainValidatePayload(name=name) + + # Construct URL + url = self.validate_domain.metadata['url'] + path_format_arguments = { + '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', 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(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_domain.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/validateDomain'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_bindings_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_bindings_operations.py new file mode 100644 index 00000000000..e174262aabf --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_bindings_operations.py @@ -0,0 +1,510 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class BindingsOperations(object): + """BindingsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client 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: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, app_name, binding_name, custom_headers=None, raw=False, **operation_config): + """Get a Binding and its properties. + + :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 binding_name: The name of the Binding resource. + :type binding_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BindingResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResource 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'), + 'bindingName': self._serialize.url("binding_name", binding_name, 'str') + } + url = self._client.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('BindingResource', 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}/bindings/{bindingName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_name, app_name, binding_name, properties=None, custom_headers=None, raw=False, **operation_config): + binding_resource = models.BindingResource(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'), + 'bindingName': self._serialize.url("binding_name", binding_name, 'str') + } + url = self._client.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(binding_resource, 'BindingResource') + + # Construct and send request + request = self._client.put(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('BindingResource', response) + if response.status_code == 201: + deserialized = self._deserialize('BindingResource', response) + if response.status_code == 202: + deserialized = self._deserialize('BindingResource', 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, app_name, binding_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a new Binding or update an exiting Binding. + + :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 binding_name: The name of the Binding resource. + :type binding_name: str + :param properties: Properties of the Binding resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResourceProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BindingResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + binding_name=binding_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BindingResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} + + + def _delete_initial( + self, resource_group_name, service_name, app_name, binding_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_name, 'str') + } + url = self._client.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]: + exp = CloudError(response) + exp.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_name, app_name, binding_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Operation to delete a Binding. + + :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 binding_name: The name of the Binding resource. + :type binding_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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_name=service_name, + app_name=app_name, + binding_name=binding_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} + + + def _update_initial( + self, resource_group_name, service_name, app_name, binding_name, properties=None, custom_headers=None, raw=False, **operation_config): + binding_resource = models.BindingResource(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'), + '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'), + 'bindingName': self._serialize.url("binding_name", binding_name, 'str') + } + url = self._client.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(binding_resource, 'BindingResource') + + # 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('BindingResource', response) + if response.status_code == 202: + deserialized = self._deserialize('BindingResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, service_name, app_name, binding_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Operation to update an exiting Binding. + + :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 binding_name: The name of the Binding resource. + :type binding_name: str + :param properties: Properties of the Binding resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResourceProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BindingResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + binding_name=binding_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BindingResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} + + def list( + self, resource_group_name, service_name, app_name, custom_headers=None, raw=False, **operation_config): + """Handles requests to list all resources in an App. + + :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 BindingResource + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.models.BindingResource] + :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', 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.BindingResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_certificates_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_certificates_operations.py new file mode 100644 index 00000000000..bc4a01feace --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_certificates_operations.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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +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: The API version to use for this operation. Constant value: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-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.v2021_06_01_preview.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', 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('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_initial( + self, resource_group_name, service_name, certificate_name, properties=None, custom_headers=None, raw=False, **operation_config): + 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', 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(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, 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('CertificateResource', response) + if response.status_code == 201: + deserialized = self._deserialize('CertificateResource', response) + if response.status_code == 202: + deserialized = self._deserialize('CertificateResource', 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, certificate_name, properties=None, custom_headers=None, raw=False, polling=True, **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.v2021_06_01_preview.models.CertificateProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns CertificateResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.CertificateResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.CertificateResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + certificate_name=certificate_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('CertificateResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} + + + def _delete_initial( + self, resource_group_name, service_name, certificate_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'), + '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', 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]: + exp = CloudError(response) + exp.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_name, certificate_name, custom_headers=None, raw=False, polling=True, **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: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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_name=service_name, + certificate_name=certificate_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + 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.v2021_06_01_preview.models.CertificateResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.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', 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.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/v2021_06_01_preview/operations/_config_servers_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_config_servers_operations.py new file mode 100644 index 00000000000..d7d77ccf976 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_config_servers_operations.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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ConfigServersOperations(object): + """ConfigServersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client 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: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Get the config server and its properties. + + :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: ConfigServerResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerResource + 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') + } + url = self._client.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('ConfigServerResource', 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}/configServers/default'} + + + def _update_put_initial( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, **operation_config): + config_server_resource = models.ConfigServerResource(properties=properties) + + # Construct URL + url = self.update_put.metadata['url'] + path_format_arguments = { + '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', 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(config_server_resource, 'ConfigServerResource') + + # Construct and send request + request = self._client.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('ConfigServerResource', response) + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_put( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the config server. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param properties: Properties of the Config Server resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConfigServerResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConfigServerResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} + + + def _update_patch_initial( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, **operation_config): + config_server_resource = models.ConfigServerResource(properties=properties) + + # Construct URL + url = self.update_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') + } + url = self._client.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(config_server_resource, 'ConfigServerResource') + + # 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('ConfigServerResource', response) + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_patch( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the config server. + + :param resource_group_name: The name of the resource group that + contains the resource. You can obtain this value from the Azure + Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param properties: Properties of the Config Server resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConfigServerResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_patch_initial( + resource_group_name=resource_group_name, + service_name=service_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConfigServerResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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_patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} + + + def _validate_initial( + self, resource_group_name, service_name, git_property=None, custom_headers=None, raw=False, **operation_config): + config_server_settings = models.ConfigServerSettings(git_property=git_property) + + # 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') + } + url = self._client.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(config_server_settings, 'ConfigServerSettings') + + # 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('ConfigServerSettingsValidateResult', response) + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerSettingsValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def validate( + self, resource_group_name, service_name, git_property=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Check if the config server settings are valid. + + :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 git_property: Property of git environment. + :type git_property: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerGitProperty + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConfigServerSettingsValidateResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerSettingsValidateResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.ConfigServerSettingsValidateResult]] + :raises: :class:`CloudError` + """ + raw_result = self._validate_initial( + resource_group_name=resource_group_name, + service_name=service_name, + git_property=git_property, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConfigServerSettingsValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + 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) + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/validate'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_custom_domains_operations.py new file mode 100644 index 00000000000..ea9c40362bf --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_custom_domains_operations.py @@ -0,0 +1,510 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +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: The API version to use for this operation. Constant value: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-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.v2021_06_01_preview.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', 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('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_initial( + self, resource_group_name, service_name, app_name, domain_name, properties=None, custom_headers=None, raw=False, **operation_config): + 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', 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(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, 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('CustomDomainResource', response) + if response.status_code == 201: + deserialized = self._deserialize('CustomDomainResource', response) + if response.status_code == 202: + deserialized = self._deserialize('CustomDomainResource', 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, app_name, domain_name, properties=None, custom_headers=None, raw=False, polling=True, **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.v2021_06_01_preview.models.CustomDomainProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns CustomDomainResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.CustomDomainResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.CustomDomainResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + domain_name=domain_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('CustomDomainResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} + + + def _delete_initial( + self, resource_group_name, service_name, app_name, domain_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'), + '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', 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]: + exp = CloudError(response) + exp.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_name, app_name, domain_name, custom_headers=None, raw=False, polling=True, **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: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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_name=service_name, + app_name=app_name, + domain_name=domain_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} + + + def _update_initial( + self, resource_group_name, service_name, app_name, domain_name, properties=None, custom_headers=None, raw=False, **operation_config): + domain_resource = models.CustomDomainResource(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'), + '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', 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(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, 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('CustomDomainResource', response) + if response.status_code == 202: + deserialized = self._deserialize('CustomDomainResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, service_name, app_name, domain_name, properties=None, custom_headers=None, raw=False, polling=True, **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.v2021_06_01_preview.models.CustomDomainProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns CustomDomainResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.CustomDomainResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.CustomDomainResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + domain_name=domain_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('CustomDomainResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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.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.v2021_06_01_preview.models.CustomDomainResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.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', 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.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'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_deployments_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_deployments_operations.py new file mode 100644 index 00000000000..1ff5f294302 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_deployments_operations.py @@ -0,0 +1,935 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DeploymentsOperations(object): + """DeploymentsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client 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: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Get a Deployment and its properties. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResource + 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'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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('DeploymentResource', 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}/deployments/{deploymentName}'} + + + def _create_or_update_initial( + self, resource_group_name, service_name, app_name, deployment_name, properties=None, sku=None, custom_headers=None, raw=False, **operation_config): + deployment_resource = models.DeploymentResource(properties=properties, sku=sku) + + # 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'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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(deployment_resource, 'DeploymentResource') + + # Construct and send request + request = self._client.put(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('DeploymentResource', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentResource', response) + if response.status_code == 202: + deserialized = self._deserialize('DeploymentResource', 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, app_name, deployment_name, properties=None, sku=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a new Deployment or update an exiting Deployment. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param properties: Properties of the Deployment resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourceProperties + :param sku: Sku of the Deployment resource + :type sku: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Sku + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + properties=properties, + sku=sku, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} + + + def _delete_initial( + self, resource_group_name, service_name, app_name, deployment_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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]: + exp = CloudError(response) + exp.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_name, app_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Operation to delete a Deployment. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} + + + def _update_initial( + self, resource_group_name, service_name, app_name, deployment_name, properties=None, sku=None, custom_headers=None, raw=False, **operation_config): + deployment_resource = models.DeploymentResource(properties=properties, 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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(deployment_resource, 'DeploymentResource') + + # 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('DeploymentResource', response) + if response.status_code == 202: + deserialized = self._deserialize('DeploymentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, service_name, app_name, deployment_name, properties=None, sku=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Operation to update an exiting Deployment. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param properties: Properties of the Deployment resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourceProperties + :param sku: Sku of the Deployment resource + :type sku: ~azure.mgmt.appplatform.v2021_06_01_preview.models.Sku + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + properties=properties, + sku=sku, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} + + def list( + self, resource_group_name, service_name, app_name, version=None, custom_headers=None, raw=False, **operation_config): + """Handles requests to list all resources in an App. + + :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 version: Version of the deployments to be listed + :type version: 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 DeploymentResource + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResource] + :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', min_length=1) + if version is not None: + query_parameters['version'] = self._serialize.query("version", version, '[str]', div=',') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.DeploymentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments'} + + def list_for_cluster( + self, resource_group_name, service_name, version=None, custom_headers=None, raw=False, **operation_config): + """List deployments for a certain service. + + :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 version: Version of the deployments to be listed + :type version: 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 DeploymentResource + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.models.DeploymentResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_for_cluster.metadata['url'] + path_format_arguments = { + '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', min_length=1) + if version is not None: + query_parameters['version'] = self._serialize.query("version", version, '[str]', div=',') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.DeploymentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_for_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments'} + + + def _start_initial( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + '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'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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 start( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Start the deployment. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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': 'azure-async-operation'}, **operation_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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start'} + + + def _stop_initial( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + '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'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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 stop( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stop the deployment. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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': 'azure-async-operation'}, **operation_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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop'} + + + def _restart_initial( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.restart.metadata['url'] + path_format_arguments = { + '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'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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 restart( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Restart the deployment. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._restart_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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': 'azure-async-operation'}, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart'} + + def get_log_file_url( + self, resource_group_name, service_name, app_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Get deployment log file URL. + + :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 deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: LogFileUrlResponse or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.LogFileUrlResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_log_file_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str') + } + url = self._client.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, 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('LogFileUrlResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_log_file_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_monitoring_settings_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_monitoring_settings_operations.py new file mode 100644 index 00000000000..0bf89fa82af --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_monitoring_settings_operations.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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class MonitoringSettingsOperations(object): + """MonitoringSettingsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client 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: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Get the Monitoring Setting and its properties. + + :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: MonitoringSettingResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingResource + 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') + } + url = self._client.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('MonitoringSettingResource', 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}/monitoringSettings/default'} + + + def _update_put_initial( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, **operation_config): + monitoring_setting_resource = models.MonitoringSettingResource(properties=properties) + + # Construct URL + url = self.update_put.metadata['url'] + path_format_arguments = { + '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', 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(monitoring_setting_resource, 'MonitoringSettingResource') + + # Construct and send request + request = self._client.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('MonitoringSettingResource', response) + if response.status_code == 202: + deserialized = self._deserialize('MonitoringSettingResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_put( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the Monitoring Setting. + + :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 properties: Properties of the Monitoring Setting resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + MonitoringSettingResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('MonitoringSettingResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} + + + def _update_patch_initial( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, **operation_config): + monitoring_setting_resource = models.MonitoringSettingResource(properties=properties) + + # Construct URL + url = self.update_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') + } + url = self._client.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(monitoring_setting_resource, 'MonitoringSettingResource') + + # 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('MonitoringSettingResource', response) + if response.status_code == 202: + deserialized = self._deserialize('MonitoringSettingResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_patch( + self, resource_group_name, service_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the Monitoring Setting. + + :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 properties: Properties of the Monitoring Setting resource + :type properties: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + MonitoringSettingResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.MonitoringSettingResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_patch_initial( + resource_group_name=resource_group_name, + service_name=service_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('MonitoringSettingResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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_patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_operations.py new file mode 100644 index 00000000000..d4951ff128c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/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 use for this operation. Constant value: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available REST API operations of the + Microsoft.AppPlatform provider. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of OperationDetail + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.OperationDetailPaged[~azure.mgmt.appplatform.v2021_06_01_preview.models.OperationDetail] + :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.OperationDetailPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.AppPlatform/operations'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_runtime_versions_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_runtime_versions_operations.py new file mode 100644 index 00000000000..ff859f927be --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_runtime_versions_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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class RuntimeVersionsOperations(object): + """RuntimeVersionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client 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: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def list_runtime_versions( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available runtime versions supported by + Microsoft.AppPlatform provider. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AvailableRuntimeVersions or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.AvailableRuntimeVersions + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_runtime_versions.metadata['url'] + + # 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('AvailableRuntimeVersions', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_runtime_versions.metadata = {'url': '/providers/Microsoft.AppPlatform/runtimeVersions'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_services_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_services_operations.py new file mode 100644 index 00000000000..8372978d908 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_services_operations.py @@ -0,0 +1,859 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +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: The API version to use for this operation. Constant value: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def get( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Get a Service and its properties. + + :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: ServiceResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource 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') + } + url = self._client.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('ServiceResource', 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}'} + + + def _create_or_update_initial( + 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 = { + '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', 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(resource, 'ServiceResource') + + # Construct and send request + request = self._client.put(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('ServiceResource', response) + if response.status_code == 201: + deserialized = self._deserialize('ServiceResource', response) + if response.status_code == 202: + deserialized = self._deserialize('ServiceResource', 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, 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 + 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 resource: Parameters for the create or update operation + :type resource: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServiceResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + resource=resource, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ServiceResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} + + + 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 = { + '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', 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 [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_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Operation to delete a Service. + + :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: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse 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_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.AppPlatform/Spring/{serviceName}'} + + + def _update_initial( + self, resource_group_name, service_name, resource, 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'), + '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', 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(resource, 'ServiceResource') + + # 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('ServiceResource', response) + if response.status_code == 202: + deserialized = self._deserialize('ServiceResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + 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 + 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 resource: Parameters for the update operation + :type resource: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ServiceResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + service_name=service_name, + resource=resource, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ServiceResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_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.AppPlatform/Spring/{serviceName}'} + + def list_test_keys( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """List test keys for a Service. + + :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: TestKeys or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.v2021_06_01_preview.models.TestKeys or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_test_keys.metadata['url'] + path_format_arguments = { + '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', 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('TestKeys', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_test_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys'} + + def regenerate_test_key( + self, resource_group_name, service_name, key_type, custom_headers=None, raw=False, **operation_config): + """Regenerate a test key for a Service. + + :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 key_type: Type of the test key. Possible values include: + 'Primary', 'Secondary' + :type key_type: str or + ~azure.mgmt.appplatform.v2021_06_01_preview.models.TestKeyType + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TestKeys or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.v2021_06_01_preview.models.TestKeys or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + regenerate_test_key_request = models.RegenerateTestKeyRequestPayload(key_type=key_type) + + # Construct URL + url = self.regenerate_test_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'), + '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', 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_test_key_request, 'RegenerateTestKeyRequestPayload') + + # 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('TestKeys', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + regenerate_test_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey'} + + def disable_test_endpoint( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Disable test endpoint functionality for a Service. + + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.disable_test_endpoint.metadata['url'] + path_format_arguments = { + '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', 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 + disable_test_endpoint.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint'} + + def enable_test_endpoint( + self, resource_group_name, service_name, custom_headers=None, raw=False, **operation_config): + """Enable test endpoint functionality for a Service. + + :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: TestKeys or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.appplatform.v2021_06_01_preview.models.TestKeys or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.enable_test_endpoint.metadata['url'] + path_format_arguments = { + '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', 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('TestKeys', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + enable_test_endpoint.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint'} + + def check_name_availability( + self, location, type, name, custom_headers=None, raw=False, **operation_config): + """Checks that the resource name is valid and is not already in use. + + :param location: the region + :type location: str + :param type: Type of the resource to check name availability + :type type: str + :param name: Name to be checked + :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: NameAvailability or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.NameAvailability or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + availability_parameters = models.NameAvailabilityParameters(type=type, 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'), + '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) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(availability_parameters, 'NameAvailabilityParameters') + + # 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('NameAvailability', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Handles requests to list all resources 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 ServiceResource + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource] + :raises: :class:`CloudError` + """ + 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', 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.ServiceResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Handles requests to list all resources in 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 + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ServiceResource + :rtype: + ~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResourcePaged[~azure.mgmt.appplatform.v2021_06_01_preview.models.ServiceResource] + :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') + } + url = self._client.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.ServiceResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring'} diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_skus_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/operations/_skus_operations.py new file mode 100644 index 00000000000..43af9938c8b --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/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: The API version to use for this operation. Constant value: "2021-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-06-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available skus of the Microsoft.AppPlatform provider. + + :param dict custom_headers: headers that will be added to the request + :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.v2021_06_01_preview.models.ResourceSkuPaged[~azure.mgmt.appplatform.v2021_06_01_preview.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', 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.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/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/version.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/version.py new file mode 100644 index 00000000000..a0ac0f4d505 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_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 = "2021-06-01-preview" + diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/version.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/version.py index a39916c162c..9c644827672 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/version.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0" +VERSION = "1.2.0" diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index f503c7a5a88..bec7367dc21 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 = '2.5.1' +VERSION = '2.6.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 8e293b78eb3d2458caa78fd53b2ddea43dc270b5 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 28 Jun 2021 14:38:51 +0800 Subject: [PATCH 21/85] [Release] Update index.json for extension [ confluent ] (#3533) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=959433 Last commit: https://github.com/Azure/azure-cli-extensions/commit/1e9d1344d31cd922d6878004c3a9c1e292c947bb --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 58779d6aefe..36bb6d07bee 100644 --- a/src/index.json +++ b/src/index.json @@ -6205,6 +6205,49 @@ "version": "0.1.0" }, "sha256Digest": "4a6ffd3d10898183b66b0933064bc6d9bbade0e9af32be3348412b75310e07cb" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.2.0-py3-none-any.whl", + "filename": "confluent-0.2.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.17.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/tree/master/src/confluent" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "confluent", + "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", + "version": "0.2.0" + }, + "sha256Digest": "edf3b0d4afc36a3aaa9f68723f1db8b26bedcb5a5abcb053556146e4604cf31a" } ], "connectedk8s": [ From 87e9cfaf15dd3f73f2ddcb09d8146700195b0713 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 28 Jun 2021 15:00:42 +0800 Subject: [PATCH 22/85] [Release] Update index.json for extension [ spring-cloud ] (#3554) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=969084 Last commit: https://github.com/Azure/azure-cli-extensions/commit/e4a423ac775bd42aa061841f9045b7a3ed95b016 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 36bb6d07bee..70279110d8d 100644 --- a/src/index.json +++ b/src/index.json @@ -17179,6 +17179,49 @@ "version": "2.5.1" }, "sha256Digest": "a0a28e6eea330f55f5dce630a4ddbbcc9f6f4d800a3e0fc3eeaf1bf2bb7db095" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.6.0-py3-none-any.whl", + "filename": "spring_cloud-2.6.0-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 :: 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/spring-cloud" + } + } + }, + "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": "2.6.0" + }, + "sha256Digest": "a3f685cd0166cabb4e289aba399045399fb2fdc3d691f05cd5d8e9000031b434" } ], "ssh": [ From 33d8835dba2e892aed9a1413491ea3a22b7697e0 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Tue, 29 Jun 2021 10:18:37 +0800 Subject: [PATCH 23/85] [AKS] Migrate aks-preview module to track 2 SDK (#3543) --- src/aks-preview/azext_aks_preview/__init__.py | 8 +- .../azext_aks_preview/_client_factory.py | 2 - .../azext_aks_preview/_loadbalancer.py | 14 +- src/aks-preview/azext_aks_preview/commands.py | 6 +- src/aks-preview/azext_aks_preview/custom.py | 62 +- .../tests/latest/test_aks_commands.py | 13 +- .../tests/latest/test_loadbalancer.py | 12 +- .../container_service_client.py | 96 - .../azure_mgmt_aks/models/__init__.py | 126 - .../models/container_service.py | 107 - .../container_service_agent_pool_profile.py | 141 - ...ontainer_service_agent_pool_profile_py3.py | 141 - .../models/container_service_client_enums.py | 222 -- .../container_service_custom_profile.py | 34 - .../container_service_custom_profile_py3.py | 34 - .../container_service_diagnostics_profile.py | 36 - ...ntainer_service_diagnostics_profile_py3.py | 36 - .../models/container_service_linux_profile.py | 42 - .../container_service_linux_profile_py3.py | 42 - .../container_service_master_profile.py | 128 - .../container_service_master_profile_py3.py | 128 - .../container_service_network_profile.py | 67 - .../container_service_network_profile_py3.py | 67 - .../container_service_orchestrator_profile.py | 44 - ...tainer_service_orchestrator_profile_py3.py | 44 - .../models/container_service_paged.py | 27 - .../models/container_service_py3.py | 107 - ...ainer_service_service_principal_profile.py | 47 - ...r_service_service_principal_profile_py3.py | 47 - .../container_service_ssh_configuration.py | 36 - ...container_service_ssh_configuration_py3.py | 36 - .../container_service_ssh_public_key.py | 36 - .../container_service_ssh_public_key_py3.py | 36 - .../container_service_vm_diagnostics.py | 44 - .../container_service_vm_diagnostics_py3.py | 44 - .../container_service_windows_profile.py | 40 - .../container_service_windows_profile_py3.py | 40 - .../models/credential_result.py | 40 - .../models/credential_result_py3.py | 40 - .../models/credential_results.py | 36 - .../models/credential_results_py3.py | 36 - .../models/key_vault_secret_ref.py | 43 - .../models/key_vault_secret_ref_py3.py | 43 - .../azure_mgmt_aks/models/managed_cluster.py | 114 - .../models/managed_cluster_aad_profile.py | 49 - .../models/managed_cluster_aad_profile_py3.py | 49 - .../models/managed_cluster_access_profile.py | 55 - .../managed_cluster_access_profile_py3.py | 55 - .../models/managed_cluster_addon_profile.py | 38 - .../managed_cluster_addon_profile_py3.py | 38 - .../managed_cluster_agent_pool_profile.py | 130 - .../managed_cluster_agent_pool_profile_py3.py | 130 - .../models/managed_cluster_paged.py | 27 - .../managed_cluster_pool_upgrade_profile.py | 51 - ...anaged_cluster_pool_upgrade_profile_py3.py | 51 - .../models/managed_cluster_py3.py | 114 - ...naged_cluster_service_principal_profile.py | 40 - ...d_cluster_service_principal_profile_py3.py | 40 - .../models/managed_cluster_upgrade_profile.py | 61 - .../managed_cluster_upgrade_profile_py3.py | 61 - .../azure_mgmt_aks/models/operation_value.py | 60 - .../models/operation_value_paged.py | 27 - .../models/operation_value_py3.py | 60 - .../models/orchestrator_profile.py | 40 - .../models/orchestrator_profile_py3.py | 40 - .../models/orchestrator_version_profile.py | 52 - ...rchestrator_version_profile_list_result.py | 53 - ...strator_version_profile_list_result_py3.py | 53 - .../orchestrator_version_profile_py3.py | 52 - .../azure_mgmt_aks/models/resource.py | 56 - .../azure_mgmt_aks/models/resource_py3.py | 56 - .../azure_mgmt_aks/models/tags_object.py | 28 - .../azure_mgmt_aks/models/tags_object_py3.py | 28 - .../azure_mgmt_aks/operations/__init__.py | 20 - .../container_services_operations.py | 525 --- .../operations/managed_clusters_operations.py | 800 ---- .../azure_mgmt_aks/operations/operations.py | 98 - .../azure_mgmt_preview_aks/__init__.py | 18 +- .../azure_mgmt_preview_aks/_configuration.py | 71 + ...client.py => _container_service_client.py} | 399 +- .../{version.py => _version.py} | 2 +- .../azure_mgmt_preview_aks/models.py | 25 +- .../v2017_07_01}/__init__.py | 18 +- .../v2017_07_01/_configuration.py | 69 + .../v2017_07_01/_container_service_client.py | 89 + .../aio/__init__.py} | 11 +- .../v2017_07_01/aio/_configuration.py | 65 + .../aio/_container_service_client.py | 82 + .../v2017_07_01/aio/operations/__init__.py | 13 + .../_container_services_operations.py | 561 +++ .../v2017_07_01/models/__init__.py | 80 + .../models/_container_service_client_enums.py | 241 ++ .../v2017_07_01/models/_models.py | 804 +++++ .../v2017_07_01/models/_models_py3.py | 881 +++++ .../v2017_07_01/operations/__init__.py | 13 + .../_container_services_operations.py | 573 +++ .../v2018_08_01_preview/__init__.py | 18 - .../container_service_client.py | 90 - .../v2018_08_01_preview/models/__init__.py | 100 - .../models/container_service_client_enums.py | 219 -- .../container_service_diagnostics_profile.py | 36 - ...ntainer_service_diagnostics_profile_py3.py | 36 - .../models/container_service_linux_profile.py | 42 - .../container_service_linux_profile_py3.py | 42 - .../container_service_master_profile.py | 128 - .../container_service_master_profile_py3.py | 128 - .../container_service_network_profile.py | 67 - .../container_service_network_profile_py3.py | 67 - .../container_service_ssh_configuration.py | 36 - ...container_service_ssh_configuration_py3.py | 36 - .../container_service_ssh_public_key.py | 36 - .../container_service_ssh_public_key_py3.py | 36 - .../container_service_vm_diagnostics.py | 44 - .../container_service_vm_diagnostics_py3.py | 44 - .../container_service_windows_profile.py | 41 - .../container_service_windows_profile_py3.py | 41 - .../models/credential_result.py | 40 - .../models/credential_result_py3.py | 40 - .../models/credential_results.py | 36 - .../models/credential_results_py3.py | 36 - .../models/managed_cluster.py | 119 - .../models/managed_cluster_aad_profile.py | 48 - .../models/managed_cluster_aad_profile_py3.py | 48 - .../models/managed_cluster_access_profile.py | 55 - .../managed_cluster_access_profile_py3.py | 55 - .../models/managed_cluster_addon_profile.py | 38 - .../managed_cluster_addon_profile_py3.py | 38 - .../managed_cluster_agent_pool_profile.py | 138 - .../managed_cluster_agent_pool_profile_py3.py | 138 - .../models/managed_cluster_paged.py | 27 - .../managed_cluster_pool_upgrade_profile.py | 52 - ...anaged_cluster_pool_upgrade_profile_py3.py | 52 - .../models/managed_cluster_py3.py | 119 - ...naged_cluster_service_principal_profile.py | 40 - ...d_cluster_service_principal_profile_py3.py | 40 - .../models/managed_cluster_upgrade_profile.py | 61 - .../managed_cluster_upgrade_profile_py3.py | 61 - .../models/operation_value.py | 60 - .../models/operation_value_paged.py | 27 - .../models/operation_value_py3.py | 60 - .../models/orchestrator_profile.py | 40 - .../models/orchestrator_profile_py3.py | 40 - .../v2018_08_01_preview/models/resource.py | 56 - .../models/resource_py3.py | 56 - .../v2018_08_01_preview/models/tags_object.py | 28 - .../models/tags_object_py3.py | 28 - .../operations/__init__.py | 18 - .../operations/managed_clusters_operations.py | 988 ----- .../operations/operations.py | 98 - .../v2019_02_01/__init__.py | 18 - .../v2019_02_01/container_service_client.py | 95 - .../v2019_02_01/models/__init__.py | 111 - .../v2019_02_01/models/agent_pool.py | 164 - .../v2019_02_01/models/agent_pool_paged.py | 27 - .../v2019_02_01/models/agent_pool_py3.py | 164 - .../models/container_service_client_enums.py | 220 -- .../container_service_diagnostics_profile.py | 36 - ...ntainer_service_diagnostics_profile_py3.py | 36 - .../models/container_service_linux_profile.py | 42 - .../container_service_linux_profile_py3.py | 42 - .../container_service_master_profile.py | 128 - .../container_service_master_profile_py3.py | 128 - .../container_service_network_profile.py | 67 - .../container_service_network_profile_py3.py | 67 - .../container_service_ssh_configuration.py | 36 - ...container_service_ssh_configuration_py3.py | 36 - .../container_service_ssh_public_key.py | 36 - .../container_service_ssh_public_key_py3.py | 36 - .../container_service_vm_diagnostics.py | 44 - .../container_service_vm_diagnostics_py3.py | 44 - .../container_service_windows_profile.py | 41 - .../container_service_windows_profile_py3.py | 41 - .../v2019_02_01/models/credential_result.py | 40 - .../models/credential_result_py3.py | 40 - .../v2019_02_01/models/credential_results.py | 36 - .../models/credential_results_py3.py | 36 - .../v2019_02_01/models/managed_cluster.py | 124 - .../models/managed_cluster_aad_profile.py | 48 - .../models/managed_cluster_aad_profile_py3.py | 48 - .../models/managed_cluster_access_profile.py | 55 - .../managed_cluster_access_profile_py3.py | 55 - .../models/managed_cluster_addon_profile.py | 38 - .../managed_cluster_addon_profile_py3.py | 38 - .../managed_cluster_agent_pool_profile.py | 144 - ...d_cluster_agent_pool_profile_properties.py | 151 - ...uster_agent_pool_profile_properties_py3.py | 151 - .../managed_cluster_agent_pool_profile_py3.py | 144 - .../models/managed_cluster_paged.py | 27 - .../managed_cluster_pool_upgrade_profile.py | 52 - ...anaged_cluster_pool_upgrade_profile_py3.py | 52 - .../v2019_02_01/models/managed_cluster_py3.py | 124 - ...naged_cluster_service_principal_profile.py | 40 - ...d_cluster_service_principal_profile_py3.py | 40 - .../models/managed_cluster_upgrade_profile.py | 61 - .../managed_cluster_upgrade_profile_py3.py | 61 - .../v2019_02_01/models/operation_value.py | 60 - .../models/operation_value_paged.py | 27 - .../v2019_02_01/models/operation_value_py3.py | 60 - .../models/orchestrator_profile.py | 40 - .../models/orchestrator_profile_py3.py | 40 - .../v2019_02_01/models/resource.py | 56 - .../v2019_02_01/models/resource_py3.py | 56 - .../v2019_02_01/models/sub_resource.py | 46 - .../v2019_02_01/models/sub_resource_py3.py | 46 - .../v2019_02_01/models/tags_object.py | 28 - .../v2019_02_01/models/tags_object_py3.py | 28 - .../v2019_02_01/operations/__init__.py | 20 - .../operations/agent_pools_operations.py | 376 -- .../operations/managed_clusters_operations.py | 987 ----- .../v2019_02_01/operations/operations.py | 98 - .../v2019_04_01/__init__.py | 18 +- .../v2019_04_01/_configuration.py | 70 + .../v2019_04_01/_container_service_client.py | 99 + .../{version.py => aio/__init__.py} | 11 +- .../v2019_04_01/aio/_configuration.py | 66 + .../aio/_container_service_client.py | 92 + .../aio}/operations/__init__.py | 7 +- .../aio/operations/_agent_pools_operations.py | 439 +++ .../_managed_clusters_operations.py | 1101 ++++++ .../v2019_04_01/aio/operations/_operations.py | 104 + .../v2019_04_01/container_service_client.py | 100 - .../v2019_04_01/models/__init__.py | 191 +- .../models/_container_service_client_enums.py | 269 ++ .../v2019_04_01/models/_models.py | 1466 ++++++++ .../v2019_04_01/models/_models_py3.py | 1599 ++++++++ .../v2019_04_01/models/agent_pool.py | 164 - .../v2019_04_01/models/agent_pool_paged.py | 27 - .../v2019_04_01/models/agent_pool_py3.py | 164 - .../models/container_service_client_enums.py | 232 -- .../container_service_diagnostics_profile.py | 36 - ...ntainer_service_diagnostics_profile_py3.py | 36 - .../models/container_service_linux_profile.py | 42 - .../container_service_linux_profile_py3.py | 42 - .../container_service_master_profile.py | 128 - .../container_service_master_profile_py3.py | 128 - .../container_service_network_profile.py | 73 - .../container_service_network_profile_py3.py | 73 - .../container_service_ssh_configuration.py | 36 - ...container_service_ssh_configuration_py3.py | 36 - .../container_service_ssh_public_key.py | 36 - .../container_service_ssh_public_key_py3.py | 36 - .../container_service_vm_diagnostics.py | 44 - .../container_service_vm_diagnostics_py3.py | 44 - .../v2019_04_01/models/credential_result.py | 40 - .../models/credential_result_py3.py | 40 - .../v2019_04_01/models/credential_results.py | 36 - .../models/credential_results_py3.py | 36 - .../v2019_04_01/models/managed_cluster.py | 140 - .../models/managed_cluster_aad_profile.py | 48 - .../models/managed_cluster_aad_profile_py3.py | 48 - .../models/managed_cluster_access_profile.py | 55 - .../managed_cluster_access_profile_py3.py | 55 - .../models/managed_cluster_addon_profile.py | 38 - .../managed_cluster_addon_profile_py3.py | 38 - .../managed_cluster_agent_pool_profile.py | 144 - ...d_cluster_agent_pool_profile_properties.py | 151 - ...uster_agent_pool_profile_properties_py3.py | 151 - .../managed_cluster_agent_pool_profile_py3.py | 144 - .../models/managed_cluster_identity.py | 52 - .../models/managed_cluster_identity_py3.py | 52 - .../models/managed_cluster_paged.py | 27 - .../managed_cluster_pool_upgrade_profile.py | 53 - ...anaged_cluster_pool_upgrade_profile_py3.py | 53 - ...ster_pool_upgrade_profile_upgrades_item.py | 32 - ..._pool_upgrade_profile_upgrades_item_py3.py | 32 - .../v2019_04_01/models/managed_cluster_py3.py | 140 - ...naged_cluster_service_principal_profile.py | 40 - ...d_cluster_service_principal_profile_py3.py | 40 - .../models/managed_cluster_upgrade_profile.py | 61 - .../managed_cluster_upgrade_profile_py3.py | 61 - .../models/managed_cluster_windows_profile.py | 39 - .../managed_cluster_windows_profile_py3.py | 39 - .../v2019_04_01/models/operation_value.py | 60 - .../models/operation_value_paged.py | 27 - .../v2019_04_01/models/operation_value_py3.py | 60 - .../models/orchestrator_profile.py | 43 - .../models/orchestrator_profile_py3.py | 43 - .../models/orchestrator_version_profile.py | 53 - ...rchestrator_version_profile_list_result.py | 53 - ...strator_version_profile_list_result_py3.py | 53 - .../orchestrator_version_profile_py3.py | 53 - .../v2019_04_01/models/resource.py | 56 - .../v2019_04_01/models/resource_py3.py | 56 - .../v2019_04_01/models/sub_resource.py | 46 - .../v2019_04_01/models/sub_resource_py3.py | 46 - .../v2019_04_01/models/tags_object.py | 28 - .../v2019_04_01/models/tags_object_py3.py | 28 - .../v2019_04_01/operations/__init__.py | 15 +- .../operations/_agent_pools_operations.py | 449 +++ .../_managed_clusters_operations.py | 1122 ++++++ .../v2019_04_01/operations/_operations.py | 109 + .../operations/agent_pools_operations.py | 376 -- .../container_services_operations.py | 109 - .../operations/managed_clusters_operations.py | 987 ----- .../v2019_04_01/operations/operations.py | 98 - .../v2019_08_01/__init__.py | 19 - .../v2019_08_01/_configuration.py | 50 - .../v2019_08_01/_container_service_client.py | 61 - .../v2019_08_01/models/__init__.py | 152 - .../models/_container_service_client_enums.py | 244 -- .../v2019_08_01/models/_models.py | 1781 --------- .../v2019_08_01/models/_models_py3.py | 1781 --------- .../v2019_08_01/models/_paged_models.py | 53 - .../v2019_08_01/operations/__init__.py | 20 - .../operations/_agent_pools_operations.py | 514 --- .../_managed_clusters_operations.py | 988 ----- .../v2019_08_01/operations/_operations.py | 102 - .../v2019_08_01/version.py | 13 - .../v2019_10_01/__init__.py | 19 - .../v2019_10_01/_configuration.py | 50 - .../v2019_10_01/_container_service_client.py | 61 - .../v2019_10_01/models/__init__.py | 152 - .../models/_container_service_client_enums.py | 244 -- .../v2019_10_01/models/_models.py | 1786 --------- .../v2019_10_01/models/_models_py3.py | 1786 --------- .../v2019_10_01/models/_paged_models.py | 53 - .../v2019_10_01/operations/__init__.py | 20 - .../operations/_agent_pools_operations.py | 511 --- .../_managed_clusters_operations.py | 1134 ------ .../v2019_10_01/operations/_operations.py | 102 - .../v2019_10_01/version.py | 13 - .../v2020_01_01/__init__.py | 19 - .../v2020_01_01/_configuration.py | 50 - .../v2020_01_01/_container_service_client.py | 61 - .../v2020_01_01/models/__init__.py | 163 - .../models/_container_service_client_enums.py | 250 -- .../v2020_01_01/models/_models.py | 1924 ---------- .../v2020_01_01/models/_models_py3.py | 1924 ---------- .../v2020_01_01/models/_paged_models.py | 53 - .../v2020_01_01/operations/__init__.py | 20 - .../operations/_agent_pools_operations.py | 511 --- .../_managed_clusters_operations.py | 1134 ------ .../v2020_01_01/operations/_operations.py | 102 - .../v2020_01_01/version.py | 13 - .../v2020_02_01/__init__.py | 19 - .../v2020_02_01/_configuration.py | 50 - .../v2020_02_01/_container_service_client.py | 61 - .../v2020_02_01/models/__init__.py | 168 - .../models/_container_service_client_enums.py | 257 -- .../v2020_02_01/models/_models.py | 2000 ---------- .../v2020_02_01/models/_models_py3.py | 2000 ---------- .../v2020_02_01/models/_paged_models.py | 53 - .../operations/_agent_pools_operations.py | 511 --- .../_managed_clusters_operations.py | 1134 ------ .../v2020_02_01/operations/_operations.py | 102 - .../v2020_02_01/version.py | 13 - .../v2020_03_01/__init__.py | 19 - .../v2020_03_01/_configuration.py | 50 - .../v2020_03_01/_container_service_client.py | 61 - .../v2020_03_01/models/__init__.py | 177 - .../models/_container_service_client_enums.py | 274 -- .../v2020_03_01/models/_models.py | 2052 ----------- .../v2020_03_01/models/_models_py3.py | 2052 ----------- .../v2020_03_01/models/_paged_models.py | 53 - .../v2020_03_01/operations/__init__.py | 20 - .../operations/_agent_pools_operations.py | 511 --- .../_managed_clusters_operations.py | 1134 ------ .../v2020_03_01/operations/_operations.py | 102 - .../v2020_03_01/version.py | 13 - .../v2020_04_01/__init__.py | 19 - .../v2020_04_01/_configuration.py | 50 - .../v2020_04_01/_container_service_client.py | 61 - .../v2020_04_01/models/__init__.py | 180 - .../models/_container_service_client_enums.py | 273 -- .../v2020_04_01/models/_models.py | 2099 ----------- .../v2020_04_01/models/_models_py3.py | 2099 ----------- .../v2020_04_01/models/_paged_models.py | 53 - .../v2020_04_01/operations/__init__.py | 20 - .../operations/_agent_pools_operations.py | 511 --- .../_managed_clusters_operations.py | 1139 ------ .../v2020_04_01/operations/_operations.py | 102 - .../v2020_04_01/version.py | 13 - .../v2020_06_01/__init__.py | 19 - .../v2020_06_01/_configuration.py | 50 - .../v2020_06_01/_container_service_client.py | 66 - .../v2020_06_01/models/__init__.py | 199 - .../models/_container_service_client_enums.py | 290 -- .../v2020_06_01/models/_models.py | 2255 ------------ .../v2020_06_01/models/_models_py3.py | 2255 ------------ .../v2020_06_01/models/_paged_models.py | 53 - .../v2020_06_01/operations/__init__.py | 22 - .../operations/_agent_pools_operations.py | 511 --- .../_managed_clusters_operations.py | 1139 ------ .../v2020_06_01/operations/_operations.py | 102 - ...private_endpoint_connections_operations.py | 348 -- .../v2020_06_01/version.py | 13 - .../v2020_09_01/__init__.py | 19 - .../v2020_09_01/_configuration.py | 50 - .../v2020_09_01/_container_service_client.py | 76 - .../v2020_09_01/models/__init__.py | 216 -- .../models/_container_service_client_enums.py | 315 -- .../v2020_09_01/models/_models.py | 2420 ------------- .../v2020_09_01/models/_models_py3.py | 2420 ------------- .../v2020_09_01/models/_paged_models.py | 53 - .../v2020_09_01/operations/__init__.py | 26 - .../operations/_agent_pools_operations.py | 511 --- .../_managed_clusters_operations.py | 1400 ------- .../v2020_09_01/operations/_operations.py | 102 - ...private_endpoint_connections_operations.py | 348 -- .../_private_link_resources_operations.py | 106 - ...olve_private_link_service_id_operations.py | 112 - .../v2020_09_01/version.py | 13 - .../v2020_11_01/__init__.py | 19 - .../v2020_11_01/_configuration.py | 50 - .../v2020_11_01/_container_service_client.py | 76 - .../v2020_11_01/models/__init__.py | 244 -- .../models/_container_service_client_enums.py | 331 -- .../v2020_11_01/models/_models.py | 2856 --------------- .../v2020_11_01/models/_models_py3.py | 2856 --------------- .../v2020_11_01/models/_paged_models.py | 53 - .../v2020_11_01/operations/__init__.py | 26 - .../operations/_agent_pools_operations.py | 610 ---- .../_managed_clusters_operations.py | 1301 ------- .../v2020_11_01/operations/_operations.py | 102 - ...private_endpoint_connections_operations.py | 348 -- .../_private_link_resources_operations.py | 106 - ...olve_private_link_service_id_operations.py | 112 - .../v2020_11_01/version.py | 13 - .../v2020_12_01/__init__.py | 19 +- .../v2020_12_01/_configuration.py | 82 +- .../v2020_12_01/_container_service_client.py | 110 +- .../v2020_12_01/aio/__init__.py} | 11 +- .../v2020_12_01/aio/_configuration.py | 66 + .../aio/_container_service_client.py | 112 + .../aio}/operations/__init__.py | 7 +- .../aio/operations/_agent_pools_operations.py | 689 ++++ .../_maintenance_configurations_operations.py | 317 ++ .../_managed_clusters_operations.py | 1496 ++++++++ .../v2020_12_01/aio/operations/_operations.py | 104 + ...private_endpoint_connections_operations.py | 357 ++ .../_private_link_resources_operations.py | 102 + ...olve_private_link_service_id_operations.py | 110 + .../v2020_12_01/models/__init__.py | 247 +- .../models/_container_service_client_enums.py | 724 ++-- .../v2020_12_01/models/_models.py | 2393 ++++++------ .../v2020_12_01/models/_models_py3.py | 2729 ++++++++------ .../v2020_12_01/models/_paged_models.py | 66 - .../v2020_12_01/operations/__init__.py | 7 +- .../operations/_agent_pools_operations.py | 827 +++-- .../_maintenance_configurations_operations.py | 458 +-- .../_managed_clusters_operations.py | 1877 +++++----- .../v2020_12_01/operations/_operations.py | 123 +- ...private_endpoint_connections_operations.py | 442 +-- .../_private_link_resources_operations.py | 113 +- ...olve_private_link_service_id_operations.py | 125 +- .../v2020_12_01/version.py | 13 - .../v2021_02_01/__init__.py | 19 - .../v2021_02_01/_configuration.py | 50 - .../v2021_02_01/_container_service_client.py | 81 - .../v2021_02_01/models/__init__.py | 270 -- .../models/_container_service_client_enums.py | 357 -- .../v2021_02_01/models/_models.py | 3137 ---------------- .../v2021_02_01/models/_models_py3.py | 3137 ---------------- .../v2021_02_01/models/_paged_models.py | 66 - .../operations/_agent_pools_operations.py | 610 ---- .../_maintenance_configurations_operations.py | 387 -- .../_managed_clusters_operations.py | 1473 -------- .../v2021_02_01/operations/_operations.py | 102 - ...private_endpoint_connections_operations.py | 348 -- .../_private_link_resources_operations.py | 106 - ...olve_private_link_service_id_operations.py | 112 - .../v2021_02_01/version.py | 13 - .../v2021_03_01/__init__.py | 19 - .../v2021_03_01/_configuration.py | 50 - .../v2021_03_01/_container_service_client.py | 81 - .../v2021_03_01/models/__init__.py | 288 -- .../models/_container_service_client_enums.py | 378 -- .../v2021_03_01/models/_models.py | 3212 ----------------- .../v2021_03_01/models/_models_py3.py | 3212 ----------------- .../v2021_03_01/models/_paged_models.py | 66 - .../operations/_agent_pools_operations.py | 610 ---- .../_maintenance_configurations_operations.py | 387 -- .../_managed_clusters_operations.py | 1539 -------- .../v2021_03_01/operations/_operations.py | 102 - ...private_endpoint_connections_operations.py | 348 -- .../_private_link_resources_operations.py | 106 - ...olve_private_link_service_id_operations.py | 112 - .../v2021_03_01/version.py | 13 - .../v2021_05_01/__init__.py | 19 +- .../v2021_05_01/_configuration.py | 82 +- .../v2021_05_01/_container_service_client.py | 110 +- .../aio/__init__.py} | 11 +- .../v2021_05_01/aio/_configuration.py | 66 + .../aio/_container_service_client.py | 112 + .../aio}/operations/__init__.py | 7 +- .../aio/operations/_agent_pools_operations.py | 689 ++++ .../_maintenance_configurations_operations.py | 317 ++ .../_managed_clusters_operations.py | 1844 ++++++++++ .../v2021_05_01/aio/operations/_operations.py | 104 + ...private_endpoint_connections_operations.py | 357 ++ .../_private_link_resources_operations.py | 102 + ...olve_private_link_service_id_operations.py | 110 + .../v2021_05_01/models/__init__.py | 286 +- .../models/_container_service_client_enums.py | 772 ++-- .../v2021_05_01/models/_models.py | 2404 ++++++------ .../v2021_05_01/models/_models_py3.py | 2790 ++++++++------ .../v2021_05_01/models/_paged_models.py | 79 - .../v2021_05_01/operations/__init__.py | 7 +- .../operations/_agent_pools_operations.py | 827 +++-- .../_maintenance_configurations_operations.py | 458 +-- .../_managed_clusters_operations.py | 2299 ++++++------ .../v2021_05_01/operations/_operations.py | 123 +- ...private_endpoint_connections_operations.py | 442 +-- .../_private_link_resources_operations.py | 113 +- ...olve_private_link_service_id_operations.py | 125 +- .../v2021_05_01/version.py | 13 - 506 files changed, 29966 insertions(+), 113028 deletions(-) delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_configuration_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_result.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_result_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_result.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_result_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/tags_object.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/tags_object_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/container_services_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{container_service_client.py => _container_service_client.py} (52%) mode change 100644 => 100755 rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{version.py => _version.py} (96%) mode change 100644 => 100755 mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py rename src/aks-preview/azext_aks_preview/vendored_sdks/{azure_mgmt_aks => azure_mgmt_preview_aks/v2017_07_01}/__init__.py (68%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_configuration.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_container_service_client.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2019_02_01/version.py => v2017_07_01/aio/__init__.py} (73%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_configuration.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_container_service_client.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/operations/__init__.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/operations/_container_services_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/__init__.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_container_service_client_enums.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models_py3.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/operations/__init__.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/operations/_container_services_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_configuration_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_result.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_result_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/tags_object.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/tags_object_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_configuration_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_result.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_result_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/tags_object.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/tags_object_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/__init__.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_configuration.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_container_service_client.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/{version.py => aio/__init__.py} (73%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_configuration.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_container_service_client.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2020_02_01 => v2019_04_01/aio}/operations/__init__.py (92%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_agent_pools_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_managed_clusters_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/container_service_client.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/__init__.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_container_service_client_enums.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_models.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_configuration_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_result.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_result_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_paged.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_result.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_result_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/tags_object.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/tags_object_py3.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/__init__.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_agent_pools_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_managed_clusters_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/container_services_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_private_endpoint_connections_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_private_endpoint_connections_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_private_link_resources_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_resolve_private_link_service_id_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_private_endpoint_connections_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_private_link_resources_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_resolve_private_link_service_id_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/version.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py rename src/aks-preview/azext_aks_preview/vendored_sdks/{azure_mgmt_aks/version.py => azure_mgmt_preview_aks/v2020_12_01/aio/__init__.py} (73%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_configuration.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_03_01 => v2020_12_01/aio}/operations/__init__.py (95%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_paged_models.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_maintenance_configurations_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_private_endpoint_connections_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_private_link_resources_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_resolve_private_link_service_id_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/version.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/_configuration.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/_container_service_client.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/__init__.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_container_service_client_enums.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_paged_models.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_agent_pools_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_maintenance_configurations_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_managed_clusters_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_private_endpoint_connections_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_private_link_resources_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_resolve_private_link_service_id_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/version.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2018_08_01_preview/version.py => v2021_05_01/aio/__init__.py} (73%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_configuration.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_container_service_client.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_02_01 => v2021_05_01/aio}/operations/__init__.py (95%) mode change 100644 => 100755 create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_agent_pools_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_maintenance_configurations_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_managed_clusters_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_endpoint_connections_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_link_resources_operations.py create mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_resolve_private_link_service_id_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py mode change 100644 => 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py delete mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/version.py diff --git a/src/aks-preview/azext_aks_preview/__init__.py b/src/aks-preview/azext_aks_preview/__init__.py index 1f8e4dffc7a..589f29c61d8 100644 --- a/src/aks-preview/azext_aks_preview/__init__.py +++ b/src/aks-preview/azext_aks_preview/__init__.py @@ -5,7 +5,7 @@ from azure.cli.core import AzCommandsLoader -from azure.cli.core.profiles import register_resource_type +from azure.cli.core.profiles import register_resource_type, SDKProfile # pylint: disable=unused-import import azext_aks_preview._help @@ -16,7 +16,11 @@ class ContainerServiceCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - register_resource_type('latest', CUSTOM_MGMT_AKS_PREVIEW, '2021-05-01') + register_resource_type( + "latest", + CUSTOM_MGMT_AKS_PREVIEW, + SDKProfile("2021-05-01", {"container_services": "2017-07-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/_client_factory.py b/src/aks-preview/azext_aks_preview/_client_factory.py index 9444d72256c..4cce88ec7c6 100644 --- a/src/aks-preview/azext_aks_preview/_client_factory.py +++ b/src/aks-preview/azext_aks_preview/_client_factory.py @@ -12,8 +12,6 @@ CUSTOM_MGMT_AKS_PREVIEW = CustomResourceType('azext_aks_preview.vendored_sdks.azure_mgmt_preview_aks', 'ContainerServiceClient') -CUSTOM_MGMT_AKS = CustomResourceType('azext_aks_preview.vendored_sdks.azure_mgmt_aks', - 'ContainerServiceClient') def cf_storage(cli_ctx, subscription_id=None): diff --git a/src/aks-preview/azext_aks_preview/_loadbalancer.py b/src/aks-preview/azext_aks_preview/_loadbalancer.py index 51fd014e6f2..1bcdde48e72 100644 --- a/src/aks-preview/azext_aks_preview/_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/_loadbalancer.py @@ -58,16 +58,20 @@ def configure_load_balancer_profile(managed_outbound_ip_count, outbound_ips, out outbound_ip_prefix_resources = _get_load_balancer_outbound_ip_prefixes(outbound_ip_prefixes) if managed_outbound_ip_count or outbound_ip_resources or outbound_ip_prefix_resources: - profile.managed_outbound_ips = None - profile.outbound_ips = None + # ips -> i_ps due to track 2 naming issue + profile.managed_outbound_i_ps = None + # ips -> i_ps due to track 2 naming issue + profile.outbound_i_ps = None profile.outbound_ip_prefixes = None if managed_outbound_ip_count: - profile.managed_outbound_ips = ManagedClusterLoadBalancerProfileManagedOutboundIPs( + # ips -> i_ps due to track 2 naming issue + profile.managed_outbound_i_ps = ManagedClusterLoadBalancerProfileManagedOutboundIPs( count=managed_outbound_ip_count ) if outbound_ip_resources: - profile.outbound_ips = ManagedClusterLoadBalancerProfileOutboundIPs( - public_ips=outbound_ip_resources + # ips -> i_ps due to track 2 naming issue + profile.outbound_i_ps = ManagedClusterLoadBalancerProfileOutboundIPs( + public_i_ps=outbound_ip_resources ) if outbound_ip_prefix_resources: profile.outbound_ip_prefixes = ManagedClusterLoadBalancerProfileOutboundIPPrefixes( diff --git a/src/aks-preview/azext_aks_preview/commands.py b/src/aks-preview/azext_aks_preview/commands.py index 03ab1069e77..a8e31f01ce2 100644 --- a/src/aks-preview/azext_aks_preview/commands.py +++ b/src/aks-preview/azext_aks_preview/commands.py @@ -24,12 +24,14 @@ def load_command_table(self, _): managed_clusters_sdk = CliCommandType( operations_tmpl='azext_aks_preview.vendored_sdks.azure_mgmt_preview_aks.' 'operations._managed_clusters_operations#ManagedClustersOperations.{}', + operation_group='managed_clusters', client_factory=cf_managed_clusters ) container_services_sdk = CliCommandType( operations_tmpl='azext_aks_preview.vendored_sdks.azure_mgmt_preview_aks.' 'operations.container_service_operations#ContainerServicesOperations.{}', + operation_group='container_services', client_factory=cf_container_services ) @@ -67,8 +69,8 @@ def load_command_table(self, _): confirmation='Kubernetes will be unavailable during certificate rotation process.\n' + 'Are you sure you want to perform this operation?') g.wait_command('wait') - g.command('stop', 'stop', supports_no_wait=True) - g.command('start', 'start', supports_no_wait=True) + g.command('stop', 'begin_stop', supports_no_wait=True) + g.command('start', 'begin_start', supports_no_wait=True) g.custom_command('get-os-options', 'aks_get_os_options') # AKS container service commands diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 6b2b27d7621..54cb66218f3 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -73,7 +73,7 @@ ManagedClusterIdentity, ManagedClusterAPIServerAccessProfile, ManagedClusterSKU, - ManagedClusterIdentityUserAssignedIdentitiesValue, + Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, ManagedClusterAutoUpgradeProfile, KubeletConfig, LinuxOSConfig, @@ -83,7 +83,7 @@ ManagedClusterPodIdentityException, UserAssignedIdentity, RunCommandRequest, - ManagedClusterPropertiesIdentityProfileValue) + ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties) from ._client_factory import cf_resource_groups from ._client_factory import get_auth_management_client from ._client_factory import get_graph_rbac_management_client @@ -1293,7 +1293,8 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to aad_profile = ManagedClusterAADProfile( managed=True, enable_azure_rbac=enable_azure_rbac, - admin_group_object_ids=_parse_comma_separated_list( + # ids -> i_ds due to track 2 naming issue + admin_group_object_i_ds=_parse_comma_separated_list( aad_admin_group_object_ids), tenant_id=aad_tenant_id ) @@ -1334,7 +1335,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to ) elif enable_managed_identity and assign_identity: user_assigned_identity = { - assign_identity: ManagedClusterIdentityUserAssignedIdentitiesValue() + assign_identity: Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties() } identity = ManagedClusterIdentity( type="UserAssigned", @@ -1347,7 +1348,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to raise CLIError('--assign-kubelet-identity can only be specified when --assign-identity is specified') kubelet_identity = _get_user_assigned_identity(cmd.cli_ctx, assign_kubelet_identity) identity_profile = { - 'kubeletidentity': ManagedClusterPropertiesIdentityProfileValue( + 'kubeletidentity': ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties( resource_id=assign_kubelet_identity, client_id=kubelet_identity.client_id, object_id=kubelet_identity.principal_id @@ -1733,7 +1734,8 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, if aad_tenant_id is not None: instance.aad_profile.tenant_id = aad_tenant_id if aad_admin_group_object_ids is not None: - instance.aad_profile.admin_group_object_ids = _parse_comma_separated_list( + # ids -> i_ds due to track 2 naming issue + instance.aad_profile.admin_group_object_i_ds = _parse_comma_separated_list( aad_admin_group_object_ids) if enable_azure_rbac and disable_azure_rbac: raise CLIError( @@ -1807,7 +1809,7 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, ) elif goal_identity_type == "userassigned": user_assigned_identity = { - assign_identity: ManagedClusterIdentityUserAssignedIdentitiesValue() + assign_identity: Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties() } instance.identity = ManagedClusterIdentity( type="UserAssigned", @@ -2171,7 +2173,7 @@ def aks_scale(cmd, # pylint: disable=unused-argument # null out the SP and AAD profile because otherwise validation complains instance.service_principal_profile = None instance.aad_profile = None - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, name, instance) raise CLIError('The nodepool "{}" was not found.'.format(nodepool_name)) @@ -2263,7 +2265,7 @@ def aks_upgrade(cmd, # pylint: disable=unused-argument, too-many-return-state 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) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, name, instance, headers=headers) def aks_runcommand(cmd, client, resource_group_name, name, command_string="", command_files=None): @@ -2280,8 +2282,8 @@ def aks_runcommand(cmd, client, resource_group_name, name, command_string="", co request_payload.cluster_token = _get_dataplane_aad_token( cmd.cli_ctx, "6dae42f8-4368-4678-94ff-3960e28e3630") - commandResultFuture = client.run_command( - resource_group_name, name, request_payload, long_running_operation_timeout=5, retry_total=0) + commandResultFuture = client.begin_run_command( + resource_group_name, name, request_payload, polling_interval=5, retry_total=0) return _print_command_result(cmd.cli_ctx, commandResultFuture.result(300)) @@ -2376,7 +2378,7 @@ def _get_dataplane_aad_token(cli_ctx, serverAppId): def _upgrade_single_nodepool_image_version(no_wait, client, resource_group_name, cluster_name, nodepool_name): - return sdk_no_wait(no_wait, client.upgrade_node_image_version, resource_group_name, cluster_name, nodepool_name) + return sdk_no_wait(no_wait, client.begin_upgrade_node_image_version, resource_group_name, cluster_name, nodepool_name) def _handle_addons_args(cmd, # pylint: disable=too-many-statements @@ -3098,7 +3100,7 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local agent_pool.linux_os_config = _get_linux_os_config(linux_os_config) 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) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, nodepool_name, agent_pool, headers=headers) def aks_agentpool_scale(cmd, # pylint: disable=unused-argument @@ -3116,7 +3118,7 @@ def aks_agentpool_scale(cmd, # pylint: disable=unused-argument raise CLIError( "The new node count is the same as the current node count.") instance.count = new_node_count # pylint: disable=no-member - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, nodepool_name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, nodepool_name, instance) def aks_agentpool_upgrade(cmd, # pylint: disable=unused-argument @@ -3148,7 +3150,7 @@ def aks_agentpool_upgrade(cmd, # pylint: disable=unused-argument 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) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, nodepool_name, instance) def aks_agentpool_get_upgrade_profile(cmd, # pylint: disable=unused-argument @@ -3230,7 +3232,7 @@ def aks_agentpool_update(cmd, # pylint: disable=unused-argument if mode is not None: instance.mode = mode - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, nodepool_name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, nodepool_name, instance) def aks_agentpool_delete(cmd, # pylint: disable=unused-argument @@ -3250,7 +3252,7 @@ def aks_agentpool_delete(cmd, # pylint: disable=unused-argument raise CLIError("Node pool {} doesnt exist, " "use 'aks nodepool list' to get current node pool list".format(nodepool_name)) - return sdk_no_wait(no_wait, client.delete, resource_group_name, cluster_name, nodepool_name) + return sdk_no_wait(no_wait, client.begin_delete, resource_group_name, cluster_name, nodepool_name) def aks_disable_addons(cmd, client, resource_group_name, name, addons, no_wait=False): @@ -3269,7 +3271,7 @@ def aks_disable_addons(cmd, client, resource_group_name, name, addons, no_wait=F ) # send the managed cluster representation to update the addon profiles - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, name, instance) def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_resource_id=None, @@ -3300,7 +3302,7 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_ 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)) + client.begin_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 monitoring and cloud_name.lower() == 'azurecloud': @@ -3325,13 +3327,13 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_ # we don't need to handle it in client side in this case. else: - result = sdk_no_wait(no_wait, client.create_or_update, + result = sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, name, instance) return result def aks_rotate_certs(cmd, client, resource_group_name, name, no_wait=True): # pylint: disable=unused-argument - return sdk_no_wait(no_wait, client.rotate_cluster_certificates, resource_group_name, name) + return sdk_no_wait(no_wait, client.begin_rotate_cluster_certificates, resource_group_name, name) def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements @@ -3797,11 +3799,11 @@ def _put_managed_cluster_ensuring_permission( need_grant_vnet_permission_to_cluster_identity) if need_post_creation_role_assignment: # adding a wait here since we rely on the result for role assignment - cluster = LongRunningOperation(cmd.cli_ctx)(client.create_or_update( + cluster = LongRunningOperation(cmd.cli_ctx)(client.begin_create_or_update( resource_group_name=resource_group_name, resource_name=name, parameters=managed_cluster, - custom_headers=headers)) + headers=headers)) 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 @@ -3840,11 +3842,11 @@ def _put_managed_cluster_ensuring_permission( acr_name_or_id=attach_acr, subscription_id=subscription_id) else: - cluster = sdk_no_wait(no_wait, client.create_or_update, + cluster = sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name=resource_group_name, resource_name=name, parameters=managed_cluster, - custom_headers=headers) + headers=headers) return cluster @@ -4083,7 +4085,7 @@ def aks_pod_identity_add(cmd, client, resource_group_name, cluster_name, ) # send the managed cluster represeentation to update the pod identity addon - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, instance) def aks_pod_identity_delete(cmd, client, resource_group_name, cluster_name, @@ -4107,7 +4109,7 @@ def aks_pod_identity_delete(cmd, client, resource_group_name, cluster_name, ) # send the managed cluster represeentation to update the pod identity addon - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, instance) def aks_pod_identity_list(cmd, client, resource_group_name, cluster_name): # pylint: disable=unused-argument @@ -4134,7 +4136,7 @@ def aks_pod_identity_exception_add(cmd, client, resource_group_name, cluster_nam ) # send the managed cluster represeentation to update the pod identity addon - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, instance) def aks_pod_identity_exception_delete(cmd, client, resource_group_name, cluster_name, @@ -4157,7 +4159,7 @@ def aks_pod_identity_exception_delete(cmd, client, resource_group_name, cluster_ ) # send the managed cluster represeentation to update the pod identity addon - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, instance) def aks_pod_identity_exception_update(cmd, client, resource_group_name, cluster_name, @@ -4188,7 +4190,7 @@ def aks_pod_identity_exception_update(cmd, client, resource_group_name, cluster_ ) # send the managed cluster represeentation to update the pod identity addon - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, cluster_name, instance) + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, instance) def aks_pod_identity_exception_list(cmd, client, resource_group_name, cluster_name): 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 6ad219a811a..cfb7db0831d 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 @@ -62,7 +62,7 @@ def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_g self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), self.check( - 'aadProfile.adminGroupObjectIds[0]', '00000000-0000-0000-0000-000000000001') + 'aadProfile.adminGroupObjectIDs[0]', '00000000-0000-0000-0000-000000000001') ]) update_cmd = 'aks update --resource-group={resource_group} --name={name} ' \ @@ -72,7 +72,7 @@ def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_g self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), self.check( - 'aadProfile.adminGroupObjectIds[0]', '00000000-0000-0000-0000-000000000002'), + 'aadProfile.adminGroupObjectIDs[0]', '00000000-0000-0000-0000-000000000002'), self.check('aadProfile.tenantId', '00000000-0000-0000-0000-000000000003') ]) @@ -114,7 +114,7 @@ def test_aks_create_aadv1_and_update_with_managed_aad(self, resource_group, reso self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), self.check( - 'aadProfile.adminGroupObjectIds[0]', '00000000-0000-0000-0000-000000000003'), + 'aadProfile.adminGroupObjectIDs[0]', '00000000-0000-0000-0000-000000000003'), self.check('aadProfile.tenantId', '00000000-0000-0000-0000-000000000004') ]) @@ -146,7 +146,7 @@ def test_aks_create_nonaad_and_update_with_managed_aad(self, resource_group, res self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), self.check( - 'aadProfile.adminGroupObjectIds[0]', '00000000-0000-0000-0000-000000000001'), + 'aadProfile.adminGroupObjectIDs[0]', '00000000-0000-0000-0000-000000000001'), self.check('aadProfile.tenantId', '00000000-0000-0000-0000-000000000002') ]) @@ -169,7 +169,7 @@ def test_aks_create_and_update_with_managed_aad_enable_azure_rbac(self, resource self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), self.check( - 'aadProfile.adminGroupObjectIds[0]', '00000000-0000-0000-0000-000000000001') + 'aadProfile.adminGroupObjectIDs[0]', '00000000-0000-0000-0000-000000000001') ]) update_cmd = 'aks update --resource-group={resource_group} --name={name} ' \ @@ -1286,10 +1286,11 @@ def test_aks_create_fqdn_subdomain(self, resource_group, resource_group_location 'name': aks_name, 'identity_name': identity_name, 'subdomain_name': subdomain_name, + 'location': resource_group_location }) # create private dns zone - create_private_dns_zone = 'network private-dns zone create --resource-group={resource_group} --name="privatelink.westus2.azmk8s.io"' + create_private_dns_zone = 'network private-dns zone create --resource-group={resource_group} --name="privatelink.{location}.azmk8s.io"' zone = self.cmd(create_private_dns_zone, checks=[ self.check('provisioningState', 'Succeeded') ]).get_output_in_json() diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py index 8c5932cf8ca..9850a3923e0 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py @@ -21,10 +21,12 @@ def test_configure_load_balancer_profile(self): idle_timeout = 3600 profile = ManagedClusterLoadBalancerProfile() - profile.managed_outbound_ips = ManagedClusterLoadBalancerProfileManagedOutboundIPs( + # ips -> i_ps due to track 2 naming issue + profile.managed_outbound_i_ps = ManagedClusterLoadBalancerProfileManagedOutboundIPs( count=2 ) - profile.outbound_ips = ManagedClusterLoadBalancerProfileOutboundIPs( + # ips -> i_ps due to track 2 naming issue + profile.outbound_i_ps = ManagedClusterLoadBalancerProfileOutboundIPs( public_ips="public_ips" ) profile.outbound_ip_prefixes = ManagedClusterLoadBalancerProfileOutboundIPPrefixes( @@ -33,8 +35,10 @@ def test_configure_load_balancer_profile(self): p = loadbalancer.configure_load_balancer_profile(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, outbound_ports, idle_timeout, profile) - self.assertIsNotNone(p.managed_outbound_ips) - self.assertIsNone(p.outbound_ips) + # ips -> i_ps due to track 2 naming issue + self.assertIsNotNone(p.managed_outbound_i_ps) + # ips -> i_ps due to track 2 naming issue + self.assertIsNone(p.outbound_i_ps) self.assertIsNone(p.outbound_ip_prefixes) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/container_service_client.py deleted file mode 100644 index 5ff9597bf7a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/container_service_client.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. -# -------------------------------------------------------------------------- - -# from azext_aks_preview.vendored_sdks.msrest.service_client import SDKClient -# from azext_aks_preview.vendored_sdks.msrest import Serializer, Deserializer -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer -from msrestazure import AzureConfiguration -from .version import VERSION -from .operations.container_services_operations import ContainerServicesOperations -from .operations.operations import Operations -from .operations.managed_clusters_operations import ManagedClustersOperations -from . import models - - -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) - - 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 - - -class ContainerServiceClient(SDKClient): - """The Container Service Client. - - :ivar config: Configuration for client. - :vartype config: ContainerServiceClientConfiguration - - :ivar container_services: ContainerServices operations - :vartype container_services: azure.mgmt.containerservice.operations.ContainerServicesOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.operations.ManagedClustersOperations - - :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._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.container_services = ContainerServicesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.managed_clusters = ManagedClustersOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/__init__.py deleted file mode 100644 index f188b0d88cf..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/__init__.py +++ /dev/null @@ -1,126 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 .resource_py3 import Resource - from .container_service_custom_profile_py3 import ContainerServiceCustomProfile - from .key_vault_secret_ref_py3 import KeyVaultSecretRef - from .container_service_service_principal_profile_py3 import ContainerServiceServicePrincipalProfile - from .container_service_orchestrator_profile_py3 import ContainerServiceOrchestratorProfile - from .container_service_master_profile_py3 import ContainerServiceMasterProfile - from .container_service_agent_pool_profile_py3 import ContainerServiceAgentPoolProfile - from .container_service_windows_profile_py3 import ContainerServiceWindowsProfile - from .container_service_ssh_public_key_py3 import ContainerServiceSshPublicKey - from .container_service_ssh_configuration_py3 import ContainerServiceSshConfiguration - from .container_service_linux_profile_py3 import ContainerServiceLinuxProfile - from .container_service_vm_diagnostics_py3 import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile_py3 import ContainerServiceDiagnosticsProfile - from .container_service_py3 import ContainerService - from .operation_value_py3 import OperationValue - from .tags_object_py3 import TagsObject - from .managed_cluster_service_principal_profile_py3 import ManagedClusterServicePrincipalProfile - from .managed_cluster_agent_pool_profile_py3 import ManagedClusterAgentPoolProfile - from .container_service_network_profile_py3 import ContainerServiceNetworkProfile - from .managed_cluster_addon_profile_py3 import ManagedClusterAddonProfile - from .managed_cluster_aad_profile_py3 import ManagedClusterAADProfile - from .managed_cluster_py3 import ManagedCluster - from .orchestrator_profile_py3 import OrchestratorProfile - from .managed_cluster_access_profile_py3 import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile_py3 import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile_py3 import ManagedClusterUpgradeProfile - from .credential_result_py3 import CredentialResult - from .credential_results_py3 import CredentialResults - from .orchestrator_version_profile_py3 import OrchestratorVersionProfile - from .orchestrator_version_profile_list_result_py3 import OrchestratorVersionProfileListResult -except (SyntaxError, ImportError): - from .resource import Resource - from .container_service_custom_profile import ContainerServiceCustomProfile - from .key_vault_secret_ref import KeyVaultSecretRef - from .container_service_service_principal_profile import ContainerServiceServicePrincipalProfile - from .container_service_orchestrator_profile import ContainerServiceOrchestratorProfile - from .container_service_master_profile import ContainerServiceMasterProfile - from .container_service_agent_pool_profile import ContainerServiceAgentPoolProfile - from .container_service_windows_profile import ContainerServiceWindowsProfile - from .container_service_ssh_public_key import ContainerServiceSshPublicKey - from .container_service_ssh_configuration import ContainerServiceSshConfiguration - from .container_service_linux_profile import ContainerServiceLinuxProfile - from .container_service_vm_diagnostics import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile import ContainerServiceDiagnosticsProfile - from .container_service import ContainerService - from .operation_value import OperationValue - from .tags_object import TagsObject - from .managed_cluster_service_principal_profile import ManagedClusterServicePrincipalProfile - from .managed_cluster_agent_pool_profile import ManagedClusterAgentPoolProfile - from .container_service_network_profile import ContainerServiceNetworkProfile - from .managed_cluster_addon_profile import ManagedClusterAddonProfile - from .managed_cluster_aad_profile import ManagedClusterAADProfile - from .managed_cluster import ManagedCluster - from .orchestrator_profile import OrchestratorProfile - from .managed_cluster_access_profile import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile import ManagedClusterUpgradeProfile - from .credential_result import CredentialResult - from .credential_results import CredentialResults - from .orchestrator_version_profile import OrchestratorVersionProfile - from .orchestrator_version_profile_list_result import OrchestratorVersionProfileListResult -from .container_service_paged import ContainerServicePaged -from .operation_value_paged import OperationValuePaged -from .managed_cluster_paged import ManagedClusterPaged -from .container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - ContainerServiceOrchestratorTypes, - OSType, - NetworkPlugin, - NetworkPolicy, -) - -__all__ = [ - 'Resource', - 'ContainerServiceCustomProfile', - 'KeyVaultSecretRef', - 'ContainerServiceServicePrincipalProfile', - 'ContainerServiceOrchestratorProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceAgentPoolProfile', - 'ContainerServiceWindowsProfile', - 'ContainerServiceSshPublicKey', - 'ContainerServiceSshConfiguration', - 'ContainerServiceLinuxProfile', - 'ContainerServiceVMDiagnostics', - 'ContainerServiceDiagnosticsProfile', - 'ContainerService', - 'OperationValue', - 'TagsObject', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterAgentPoolProfile', - 'ContainerServiceNetworkProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAADProfile', - 'ManagedCluster', - 'OrchestratorProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterUpgradeProfile', - 'CredentialResult', - 'CredentialResults', - 'OrchestratorVersionProfile', - 'OrchestratorVersionProfileListResult', - 'ContainerServicePaged', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'ContainerServiceOrchestratorTypes', - 'OSType', - 'NetworkPlugin', - 'NetworkPolicy', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service.py deleted file mode 100644 index ffc12f82ffb..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service.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. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class ContainerService(Resource): - """Container service. - - Variables are only populated 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 - :param orchestrator_profile: Required. Profile for the container service - orchestrator. - :type orchestrator_profile: - ~azure.mgmt.containerservice.models.ContainerServiceOrchestratorProfile - :param custom_profile: Properties to configure a custom container service - cluster. - :type custom_profile: - ~azure.mgmt.containerservice.models.ContainerServiceCustomProfile - :param service_principal_profile: Information about a service principal - identity for the cluster to use for manipulating Azure APIs. Exact one of - secret or keyVaultSecretRef need to be specified. - :type service_principal_profile: - ~azure.mgmt.containerservice.models.ContainerServiceServicePrincipalProfile - :param master_profile: Required. Profile for the container service master. - :type master_profile: - ~azure.mgmt.containerservice.models.ContainerServiceMasterProfile - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.models.ContainerServiceAgentPoolProfile] - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.models.ContainerServiceWindowsProfile - :param linux_profile: Required. Profile for Linux VMs in the container - service cluster. - :type linux_profile: - ~azure.mgmt.containerservice.models.ContainerServiceLinuxProfile - :param diagnostics_profile: Profile for diagnostics in the container - service cluster. - :type diagnostics_profile: - ~azure.mgmt.containerservice.models.ContainerServiceDiagnosticsProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'orchestrator_profile': {'required': True}, - 'master_profile': {'required': True}, - 'linux_profile': {'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'}, - 'orchestrator_profile': {'key': 'properties.orchestratorProfile', 'type': 'ContainerServiceOrchestratorProfile'}, - 'custom_profile': {'key': 'properties.customProfile', 'type': 'ContainerServiceCustomProfile'}, - 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ContainerServiceServicePrincipalProfile'}, - 'master_profile': {'key': 'properties.masterProfile', 'type': 'ContainerServiceMasterProfile'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ContainerServiceAgentPoolProfile]'}, - 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ContainerServiceWindowsProfile'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'ContainerServiceDiagnosticsProfile'}, - } - - def __init__(self, **kwargs): - super(ContainerService, self).__init__(**kwargs) - self.provisioning_state = None - self.orchestrator_profile = kwargs.get('orchestrator_profile', None) - self.custom_profile = kwargs.get('custom_profile', None) - self.service_principal_profile = kwargs.get('service_principal_profile', None) - self.master_profile = kwargs.get('master_profile', None) - self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) - self.windows_profile = kwargs.get('windows_profile', None) - self.linux_profile = kwargs.get('linux_profile', None) - self.diagnostics_profile = kwargs.get('diagnostics_profile', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile.py deleted file mode 100644 index e0d5dd777aa..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile.py +++ /dev/null @@ -1,141 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerServiceAgentPoolProfile(Model): - """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 name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 1 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.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 dns_prefix: DNS prefix to be used to create the FQDN for the agent - pool. - :type dns_prefix: str - :ivar fqdn: FDQN for the agent pool. - :vartype fqdn: str - :param ports: Ports number array used to expose on this agent pool. The - default opened ports are different based on your choice of orchestrator. - :type ports: list[int] - :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.models.ContainerServiceStorageProfileTypes - :param vnet_subnet_id: VNet SubnetID specifies the vnet's subnet - identifier. - :type vnet_subnet_id: str - :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.models.OSType - """ - - _validation = { - 'name': {'required': True}, - 'count': {'maximum': 100, 'minimum': 1}, - 'vm_size': {'required': True}, - 'fqdn': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ports': {'key': 'ports', 'type': '[int]'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerServiceAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - 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.dns_prefix = kwargs.get('dns_prefix', None) - self.fqdn = None - self.ports = kwargs.get('ports', None) - self.storage_profile = kwargs.get('storage_profile', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.os_type = kwargs.get('os_type', "Linux") diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile_py3.py deleted file mode 100644 index dcb5bd830a9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_agent_pool_profile_py3.py +++ /dev/null @@ -1,141 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ContainerServiceAgentPoolProfile(Model): - """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 name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 1 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.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 dns_prefix: DNS prefix to be used to create the FQDN for the agent - pool. - :type dns_prefix: str - :ivar fqdn: FDQN for the agent pool. - :vartype fqdn: str - :param ports: Ports number array used to expose on this agent pool. The - default opened ports are different based on your choice of orchestrator. - :type ports: list[int] - :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.models.ContainerServiceStorageProfileTypes - :param vnet_subnet_id: VNet SubnetID specifies the vnet's subnet - identifier. - :type vnet_subnet_id: str - :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.models.OSType - """ - - _validation = { - 'name': {'required': True}, - 'count': {'maximum': 100, 'minimum': 1}, - 'vm_size': {'required': True}, - 'fqdn': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'fqdn', 'type': 'str'}, - 'ports': {'key': 'ports', 'type': '[int]'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - } - - def __init__(self, *, name: str, vm_size, count: int=1, os_disk_size_gb: int=None, dns_prefix: str=None, ports=None, storage_profile=None, vnet_subnet_id: str=None, os_type="Linux", **kwargs) -> None: - super(ContainerServiceAgentPoolProfile, self).__init__(**kwargs) - self.name = name - self.count = count - self.vm_size = vm_size - self.os_disk_size_gb = os_disk_size_gb - self.dns_prefix = dns_prefix - self.fqdn = None - self.ports = ports - self.storage_profile = storage_profile - self.vnet_subnet_id = vnet_subnet_id - self.os_type = os_type diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_client_enums.py deleted file mode 100644 index 4fe56768c57..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_client_enums.py +++ /dev/null @@ -1,222 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ContainerServiceOrchestratorTypes(str, Enum): - - kubernetes = "Kubernetes" - swarm = "Swarm" - dcos = "DCOS" - docker_ce = "DockerCE" - custom = "Custom" - - -class OSType(str, Enum): - - linux = "Linux" - windows = "Windows" - - -class NetworkPlugin(str, Enum): - - azure = "azure" - kubenet = "kubenet" - - -class NetworkPolicy(str, Enum): - - calico = "calico" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile.py deleted file mode 100644 index 99a65ee2505..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile.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 ContainerServiceCustomProfile(Model): - """Properties to configure a custom container service cluster. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator: Required. The name of the custom orchestrator to use. - :type orchestrator: str - """ - - _validation = { - 'orchestrator': {'required': True}, - } - - _attribute_map = { - 'orchestrator': {'key': 'orchestrator', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerServiceCustomProfile, self).__init__(**kwargs) - self.orchestrator = kwargs.get('orchestrator', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile_py3.py deleted file mode 100644 index de010d977de..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_custom_profile_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 ContainerServiceCustomProfile(Model): - """Properties to configure a custom container service cluster. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator: Required. The name of the custom orchestrator to use. - :type orchestrator: str - """ - - _validation = { - 'orchestrator': {'required': True}, - } - - _attribute_map = { - 'orchestrator': {'key': 'orchestrator', 'type': 'str'}, - } - - def __init__(self, *, orchestrator: str, **kwargs) -> None: - super(ContainerServiceCustomProfile, self).__init__(**kwargs) - self.orchestrator = orchestrator diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile.py deleted file mode 100644 index 8cee39284dc..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile.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 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.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile_py3.py deleted file mode 100644 index e444694e8a9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_diagnostics_profile_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 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.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile.py deleted file mode 100644 index 4ae1aa042b5..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile.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 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.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile_py3.py deleted file mode 100644 index 9756107e1c7..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_linux_profile_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 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.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile.py deleted file mode 100644 index 07a8ce1266e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.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.models.ContainerServiceStorageProfileTypes - :ivar fqdn: FDQN 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile_py3.py deleted file mode 100644 index 15457f5e44d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_master_profile_py3.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.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.models.ContainerServiceStorageProfileTypes - :ivar fqdn: FDQN 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile.py deleted file mode 100644 index 45d3bb48aec..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile.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 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.models.NetworkPlugin - :param network_policy: Network policy used for building Kubernetes - network. Possible values include: 'calico' - :type network_policy: str or - ~azure.mgmt.containerservice.models.NetworkPolicy - :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 - """ - - _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'}, - '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'}, - } - - 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.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") diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile_py3.py deleted file mode 100644 index ec728075a04..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_network_profile_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 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.models.NetworkPlugin - :param network_policy: Network policy used for building Kubernetes - network. Possible values include: 'calico' - :type network_policy: str or - ~azure.mgmt.containerservice.models.NetworkPolicy - :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 - """ - - _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'}, - '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'}, - } - - def __init__(self, *, network_plugin="kubenet", network_policy=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", **kwargs) -> None: - super(ContainerServiceNetworkProfile, self).__init__(**kwargs) - self.network_plugin = network_plugin - self.network_policy = network_policy - self.pod_cidr = pod_cidr - self.service_cidr = service_cidr - self.dns_service_ip = dns_service_ip - self.docker_bridge_cidr = docker_bridge_cidr diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile.py deleted file mode 100644 index 8f1edad11b9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile.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 ContainerServiceOrchestratorProfile(Model): - """Profile for the container service orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. The orchestrator to use to manage - container service cluster resources. Valid values are Kubernetes, Swarm, - DCOS, DockerCE and Custom. Possible values include: 'Kubernetes', 'Swarm', - 'DCOS', 'DockerCE', 'Custom' - :type orchestrator_type: str or - ~azure.mgmt.containerservice.models.ContainerServiceOrchestratorTypes - :param orchestrator_version: The version of the orchestrator to use. You - can specify the major.minor.patch part of the actual version.For example, - you can specify version as "1.6.11". - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerServiceOrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = kwargs.get('orchestrator_type', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile_py3.py deleted file mode 100644 index 54d8bc6aa86..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_orchestrator_profile_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 ContainerServiceOrchestratorProfile(Model): - """Profile for the container service orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. The orchestrator to use to manage - container service cluster resources. Valid values are Kubernetes, Swarm, - DCOS, DockerCE and Custom. Possible values include: 'Kubernetes', 'Swarm', - 'DCOS', 'DockerCE', 'Custom' - :type orchestrator_type: str or - ~azure.mgmt.containerservice.models.ContainerServiceOrchestratorTypes - :param orchestrator_version: The version of the orchestrator to use. You - can specify the major.minor.patch part of the actual version.For example, - you can specify version as "1.6.11". - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, *, orchestrator_type, orchestrator_version: str=None, **kwargs) -> None: - super(ContainerServiceOrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = orchestrator_type - self.orchestrator_version = orchestrator_version diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_paged.py deleted file mode 100644 index 10e9c757927..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_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 ContainerServicePaged(Paged): - """ - A paging container for iterating over a list of :class:`ContainerService ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ContainerService]'} - } - - def __init__(self, *args, **kwargs): - - super(ContainerServicePaged, self).__init__(*args, **kwargs) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_py3.py deleted file mode 100644 index ddec4057c76..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_py3.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. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class ContainerService(Resource): - """Container service. - - Variables are only populated 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 - :param orchestrator_profile: Required. Profile for the container service - orchestrator. - :type orchestrator_profile: - ~azure.mgmt.containerservice.models.ContainerServiceOrchestratorProfile - :param custom_profile: Properties to configure a custom container service - cluster. - :type custom_profile: - ~azure.mgmt.containerservice.models.ContainerServiceCustomProfile - :param service_principal_profile: Information about a service principal - identity for the cluster to use for manipulating Azure APIs. Exact one of - secret or keyVaultSecretRef need to be specified. - :type service_principal_profile: - ~azure.mgmt.containerservice.models.ContainerServiceServicePrincipalProfile - :param master_profile: Required. Profile for the container service master. - :type master_profile: - ~azure.mgmt.containerservice.models.ContainerServiceMasterProfile - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.models.ContainerServiceAgentPoolProfile] - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.models.ContainerServiceWindowsProfile - :param linux_profile: Required. Profile for Linux VMs in the container - service cluster. - :type linux_profile: - ~azure.mgmt.containerservice.models.ContainerServiceLinuxProfile - :param diagnostics_profile: Profile for diagnostics in the container - service cluster. - :type diagnostics_profile: - ~azure.mgmt.containerservice.models.ContainerServiceDiagnosticsProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'orchestrator_profile': {'required': True}, - 'master_profile': {'required': True}, - 'linux_profile': {'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'}, - 'orchestrator_profile': {'key': 'properties.orchestratorProfile', 'type': 'ContainerServiceOrchestratorProfile'}, - 'custom_profile': {'key': 'properties.customProfile', 'type': 'ContainerServiceCustomProfile'}, - 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ContainerServiceServicePrincipalProfile'}, - 'master_profile': {'key': 'properties.masterProfile', 'type': 'ContainerServiceMasterProfile'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ContainerServiceAgentPoolProfile]'}, - 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ContainerServiceWindowsProfile'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'ContainerServiceDiagnosticsProfile'}, - } - - def __init__(self, *, location: str, orchestrator_profile, master_profile, linux_profile, tags=None, custom_profile=None, service_principal_profile=None, agent_pool_profiles=None, windows_profile=None, diagnostics_profile=None, **kwargs) -> None: - super(ContainerService, self).__init__(location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.orchestrator_profile = orchestrator_profile - self.custom_profile = custom_profile - self.service_principal_profile = service_principal_profile - self.master_profile = master_profile - self.agent_pool_profiles = agent_pool_profiles - self.windows_profile = windows_profile - self.linux_profile = linux_profile - self.diagnostics_profile = diagnostics_profile diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile.py deleted file mode 100644 index acef0ac89b5..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile.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 ContainerServiceServicePrincipalProfile(Model): - """Information about a service principal identity for the cluster to use for - manipulating Azure APIs. Either secret or keyVaultSecretRef must be - specified. - - 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 - :param key_vault_secret_ref: Reference to a secret stored in Azure Key - Vault. - :type key_vault_secret_ref: - ~azure.mgmt.containerservice.models.KeyVaultSecretRef - """ - - _validation = { - 'client_id': {'required': True}, - } - - _attribute_map = { - 'client_id': {'key': 'clientId', 'type': 'str'}, - 'secret': {'key': 'secret', 'type': 'str'}, - 'key_vault_secret_ref': {'key': 'keyVaultSecretRef', 'type': 'KeyVaultSecretRef'}, - } - - def __init__(self, **kwargs): - super(ContainerServiceServicePrincipalProfile, self).__init__(**kwargs) - self.client_id = kwargs.get('client_id', None) - self.secret = kwargs.get('secret', None) - self.key_vault_secret_ref = kwargs.get('key_vault_secret_ref', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile_py3.py deleted file mode 100644 index f08ef052ac1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_service_principal_profile_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 ContainerServiceServicePrincipalProfile(Model): - """Information about a service principal identity for the cluster to use for - manipulating Azure APIs. Either secret or keyVaultSecretRef must be - specified. - - 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 - :param key_vault_secret_ref: Reference to a secret stored in Azure Key - Vault. - :type key_vault_secret_ref: - ~azure.mgmt.containerservice.models.KeyVaultSecretRef - """ - - _validation = { - 'client_id': {'required': True}, - } - - _attribute_map = { - 'client_id': {'key': 'clientId', 'type': 'str'}, - 'secret': {'key': 'secret', 'type': 'str'}, - 'key_vault_secret_ref': {'key': 'keyVaultSecretRef', 'type': 'KeyVaultSecretRef'}, - } - - def __init__(self, *, client_id: str, secret: str=None, key_vault_secret_ref=None, **kwargs) -> None: - super(ContainerServiceServicePrincipalProfile, self).__init__(**kwargs) - self.client_id = client_id - self.secret = secret - self.key_vault_secret_ref = key_vault_secret_ref diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_configuration.py deleted file mode 100644 index cce2acd8790..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_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 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.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_configuration_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_configuration_py3.py deleted file mode 100644 index f11d2b896ab..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_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 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.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key.py deleted file mode 100644 index da7609ba222..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key_py3.py deleted file mode 100644 index 8e8c10544ef..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_ssh_public_key_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics.py deleted file mode 100644 index f1804c66b68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics_py3.py deleted file mode 100644 index a716fc26954..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_vm_diagnostics_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile.py deleted file mode 100644 index 11acd234331..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile.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 ContainerServiceWindowsProfile(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: Required. The administrator password to use for - Windows VMs. - :type admin_password: str - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ContainerServiceWindowsProfile, self).__init__(**kwargs) - self.admin_username = kwargs.get('admin_username', None) - self.admin_password = kwargs.get('admin_password', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile_py3.py deleted file mode 100644 index 3db1f89de79..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/container_service_windows_profile_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 ContainerServiceWindowsProfile(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: Required. The administrator password to use for - Windows VMs. - :type admin_password: str - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - } - - def __init__(self, *, admin_username: str, admin_password: str, **kwargs) -> None: - super(ContainerServiceWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_result.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_result.py deleted file mode 100644 index 89e748b481b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_result_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_result_py3.py deleted file mode 100644 index 6f387834bf0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results.py deleted file mode 100644 index 6360ae308c4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results.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 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: - :vartype kubeconfigs: - list[~azure.mgmt.containerservice.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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results_py3.py deleted file mode 100644 index ac5e843261f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/credential_results_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 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: - :vartype kubeconfigs: - list[~azure.mgmt.containerservice.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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref.py deleted file mode 100644 index 5e3c44cac59..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref.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 KeyVaultSecretRef(Model): - """Reference to a secret stored in Azure Key Vault. - - All required parameters must be populated in order to send to Azure. - - :param vault_id: Required. Key vault identifier. - :type vault_id: str - :param secret_name: Required. The secret name. - :type secret_name: str - :param version: The secret version. - :type version: str - """ - - _validation = { - 'vault_id': {'required': True}, - 'secret_name': {'required': True}, - } - - _attribute_map = { - 'vault_id': {'key': 'vaultID', 'type': 'str'}, - 'secret_name': {'key': 'secretName', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(KeyVaultSecretRef, self).__init__(**kwargs) - self.vault_id = kwargs.get('vault_id', None) - self.secret_name = kwargs.get('secret_name', None) - self.version = kwargs.get('version', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref_py3.py deleted file mode 100644 index be0824abfa9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/key_vault_secret_ref_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 KeyVaultSecretRef(Model): - """Reference to a secret stored in Azure Key Vault. - - All required parameters must be populated in order to send to Azure. - - :param vault_id: Required. Key vault identifier. - :type vault_id: str - :param secret_name: Required. The secret name. - :type secret_name: str - :param version: The secret version. - :type version: str - """ - - _validation = { - 'vault_id': {'required': True}, - 'secret_name': {'required': True}, - } - - _attribute_map = { - 'vault_id': {'key': 'vaultID', 'type': 'str'}, - 'secret_name': {'key': 'secretName', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'str'}, - } - - def __init__(self, *, vault_id: str, secret_name: str, version: str=None, **kwargs) -> None: - super(KeyVaultSecretRef, self).__init__(**kwargs) - self.vault_id = vault_id - self.secret_name = secret_name - self.version = version diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster.py deleted file mode 100644 index f7c50b26a58..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster.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 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 - :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: FDQN for the master pool. - :vartype fqdn: str - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.models.ContainerServiceLinuxProfile - :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.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.models.ManagedClusterAddonProfile] - :ivar node_resource_group: Name of the resource group containing agent - pool nodes. - :vartype node_resource_group: str - :param enable_rbac: Whether to enable Kubernetes Role-Based Access - Control. - :type enable_rbac: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.models.ManagedClusterAADProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'node_resource_group': {'readonly': True}, - } - - _attribute_map = { - 'id': {'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'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - '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'}, - 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, - 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, - } - - def __init__(self, **kwargs): - super(ManagedCluster, self).__init__(**kwargs) - self.provisioning_state = None - self.kubernetes_version = kwargs.get('kubernetes_version', None) - self.dns_prefix = kwargs.get('dns_prefix', None) - self.fqdn = None - self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) - self.linux_profile = kwargs.get('linux_profile', None) - self.service_principal_profile = kwargs.get('service_principal_profile', None) - self.addon_profiles = kwargs.get('addon_profiles', None) - self.node_resource_group = None - self.enable_rbac = kwargs.get('enable_rbac', None) - self.network_profile = kwargs.get('network_profile', None) - self.aad_profile = kwargs.get('aad_profile', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile.py deleted file mode 100644 index 50e3acd14b6..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile.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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. The server AAD application ID. - :type server_app_id: str - :param server_app_secret: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - 'server_app_secret': {'required': True}, - } - - _attribute_map = { - '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.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile_py3.py deleted file mode 100644 index 6db15c1dd6c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_aad_profile_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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. The server AAD application ID. - :type server_app_id: str - :param server_app_secret: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - 'server_app_secret': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile.py deleted file mode 100644 index 6dc2a4ec23b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile.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 .resource import Resource - - -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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile_py3.py deleted file mode 100644 index 0d3fb998e97..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_access_profile_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 .resource_py3 import Resource - - -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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile.py deleted file mode 100644 index 796f9246a68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile.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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.config = kwargs.get('config', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile_py3.py deleted file mode 100644 index 71e05cd14c0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_addon_profile_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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile.py deleted file mode 100644 index b3213bf8b32..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile.py +++ /dev/null @@ -1,130 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedClusterAgentPoolProfile(Model): - """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 name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 1 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.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 - :ivar storage_profile: Storage profile specifies what kind of storage - used. Defaults to ManagedDisks. Possible values include: 'StorageAccount', - 'ManagedDisks' - :vartype storage_profile: str or - ~azure.mgmt.containerservice.models.ContainerServiceStorageProfileTypes - :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.models.OSType - """ - - _validation = { - 'name': {'required': True}, - 'count': {'maximum': 100, 'minimum': 1}, - 'vm_size': {'required': True}, - 'storage_profile': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'maxPods', 'type': 'int'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - 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.storage_profile = 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") diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile_py3.py deleted file mode 100644 index c545cccfeac..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_agent_pool_profile_py3.py +++ /dev/null @@ -1,130 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedClusterAgentPoolProfile(Model): - """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 name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 1 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.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 - :ivar storage_profile: Storage profile specifies what kind of storage - used. Defaults to ManagedDisks. Possible values include: 'StorageAccount', - 'ManagedDisks' - :vartype storage_profile: str or - ~azure.mgmt.containerservice.models.ContainerServiceStorageProfileTypes - :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.models.OSType - """ - - _validation = { - 'name': {'required': True}, - 'count': {'maximum': 100, 'minimum': 1}, - 'vm_size': {'required': True}, - 'storage_profile': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'maxPods', 'type': 'int'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - } - - def __init__(self, *, name: str, vm_size, count: int=1, os_disk_size_gb: int=None, vnet_subnet_id: str=None, max_pods: int=None, os_type="Linux", **kwargs) -> None: - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = name - self.count = count - self.vm_size = vm_size - self.os_disk_size_gb = os_disk_size_gb - self.storage_profile = None - self.vnet_subnet_id = vnet_subnet_id - self.max_pods = max_pods - self.os_type = os_type diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_paged.py deleted file mode 100644 index 0d1fa204a9f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile.py deleted file mode 100644 index b6967a4a13e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile.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 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.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: list[str] - """ - - _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': '[str]'}, - } - - 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile_py3.py deleted file mode 100644 index a7bc407e58e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_pool_upgrade_profile_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 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.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: list[str] - """ - - _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': '[str]'}, - } - - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_py3.py deleted file mode 100644 index 3f1534d09ae..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_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 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 - :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: FDQN for the master pool. - :vartype fqdn: str - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.models.ContainerServiceLinuxProfile - :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.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.models.ManagedClusterAddonProfile] - :ivar node_resource_group: Name of the resource group containing agent - pool nodes. - :vartype node_resource_group: str - :param enable_rbac: Whether to enable Kubernetes Role-Based Access - Control. - :type enable_rbac: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.models.ManagedClusterAADProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'node_resource_group': {'readonly': True}, - } - - _attribute_map = { - 'id': {'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'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - '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'}, - 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, - 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, - } - - def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dns_prefix: str=None, agent_pool_profiles=None, linux_profile=None, service_principal_profile=None, addon_profiles=None, enable_rbac: bool=None, network_profile=None, aad_profile=None, **kwargs) -> None: - super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.kubernetes_version = kubernetes_version - self.dns_prefix = dns_prefix - self.fqdn = None - self.agent_pool_profiles = agent_pool_profiles - self.linux_profile = linux_profile - self.service_principal_profile = service_principal_profile - self.addon_profiles = addon_profiles - self.node_resource_group = None - self.enable_rbac = enable_rbac - self.network_profile = network_profile - self.aad_profile = aad_profile diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile.py deleted file mode 100644 index 4610cedac54..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile_py3.py deleted file mode 100644 index 6ea9e92dc40..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_service_principal_profile_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile.py deleted file mode 100644 index 11825a0b739..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile.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 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.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile_py3.py deleted file mode 100644 index ff69e11fb1b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/managed_cluster_upgrade_profile_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 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.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value.py deleted file mode 100644 index 911f9fc8088..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_paged.py deleted file mode 100644 index ac39a71819a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_py3.py deleted file mode 100644 index 55bceaa7543..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/operation_value_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile.py deleted file mode 100644 index d5560a1f879..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile.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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = kwargs.get('orchestrator_type', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile_py3.py deleted file mode 100644 index f16e84a1fe3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_profile_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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, *, orchestrator_type: str, orchestrator_version: str, **kwargs) -> None: - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = orchestrator_type - self.orchestrator_version = orchestrator_version diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile.py deleted file mode 100644 index a906f913f69..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile.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 OrchestratorVersionProfile(Model): - """The profile of an orchestrator and its available versions. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - :param default: Required. Installed by default if version is not - specified. - :type default: bool - :param upgrades: Required. The list of available upgrade versions. - :type upgrades: - list[~azure.mgmt.containerservice.models.OrchestratorProfile] - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - 'default': {'required': True}, - 'upgrades': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'default': {'key': 'default', 'type': 'bool'}, - 'upgrades': {'key': 'upgrades', 'type': '[OrchestratorProfile]'}, - } - - def __init__(self, **kwargs): - super(OrchestratorVersionProfile, self).__init__(**kwargs) - self.orchestrator_type = kwargs.get('orchestrator_type', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) - self.default = kwargs.get('default', None) - self.upgrades = kwargs.get('upgrades', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_result.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_result.py deleted file mode 100644 index 27c2a65798a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_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 OrchestratorVersionProfileListResult(Model): - """The list of versions for supported orchestrators. - - Variables are only populated 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 orchestrator version profile list result. - :vartype id: str - :ivar name: Name of the orchestrator version profile list result. - :vartype name: str - :ivar type: Type of the orchestrator version profile list result. - :vartype type: str - :param orchestrators: Required. List of orchestrator version profiles. - :type orchestrators: - list[~azure.mgmt.containerservice.models.OrchestratorVersionProfile] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'orchestrators': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'orchestrators': {'key': 'properties.orchestrators', 'type': '[OrchestratorVersionProfile]'}, - } - - def __init__(self, **kwargs): - super(OrchestratorVersionProfileListResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.orchestrators = kwargs.get('orchestrators', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_result_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_result_py3.py deleted file mode 100644 index b5bd30a5f54..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_list_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 OrchestratorVersionProfileListResult(Model): - """The list of versions for supported orchestrators. - - Variables are only populated 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 orchestrator version profile list result. - :vartype id: str - :ivar name: Name of the orchestrator version profile list result. - :vartype name: str - :ivar type: Type of the orchestrator version profile list result. - :vartype type: str - :param orchestrators: Required. List of orchestrator version profiles. - :type orchestrators: - list[~azure.mgmt.containerservice.models.OrchestratorVersionProfile] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'orchestrators': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'orchestrators': {'key': 'properties.orchestrators', 'type': '[OrchestratorVersionProfile]'}, - } - - def __init__(self, *, orchestrators, **kwargs) -> None: - super(OrchestratorVersionProfileListResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.orchestrators = orchestrators diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_py3.py deleted file mode 100644 index c7bf212170a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/orchestrator_version_profile_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 OrchestratorVersionProfile(Model): - """The profile of an orchestrator and its available versions. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - :param default: Required. Installed by default if version is not - specified. - :type default: bool - :param upgrades: Required. The list of available upgrade versions. - :type upgrades: - list[~azure.mgmt.containerservice.models.OrchestratorProfile] - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - 'default': {'required': True}, - 'upgrades': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'default': {'key': 'default', 'type': 'bool'}, - 'upgrades': {'key': 'upgrades', 'type': '[OrchestratorProfile]'}, - } - - def __init__(self, *, orchestrator_type: str, orchestrator_version: str, default: bool, upgrades, **kwargs) -> None: - super(OrchestratorVersionProfile, self).__init__(**kwargs) - self.orchestrator_type = orchestrator_type - self.orchestrator_version = orchestrator_version - self.default = default - self.upgrades = upgrades diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource.py deleted file mode 100644 index 5dd7d481c68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource_py3.py deleted file mode 100644 index 2f3702caf60..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/resource_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/tags_object.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/tags_object.py deleted file mode 100644 index 2966ec220f9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/tags_object_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/models/tags_object_py3.py deleted file mode 100644 index 8be0bb4a15d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/__init__.py deleted file mode 100644 index 551547c5317..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_services_operations import ContainerServicesOperations -from .operations import Operations -from .managed_clusters_operations import ManagedClustersOperations - -__all__ = [ - 'ContainerServicesOperations', - 'Operations', - 'ManagedClustersOperations', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/container_services_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/container_services_operations.py deleted file mode 100644 index 887569a8a13..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/container_services_operations.py +++ /dev/null @@ -1,525 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class ContainerServicesOperations(object): - """ContainerServicesOperations 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 list( - self, custom_headers=None, raw=False, **operation_config): - """Gets a list of container services in the specified subscription. - - Gets a list of container services in the specified subscription. The - operation returns properties of each container service including state, - orchestrator, number of masters and agents, and FQDNs of masters and - agents. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ContainerService - :rtype: - ~azure.mgmt.containerservice.models.ContainerServicePaged[~azure.mgmt.containerservice.models.ContainerService] - :raises: :class:`CloudError` - """ - api_version = "2017-07-01" - - 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("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.ContainerServicePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ContainerServicePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices'} - - - def _create_or_update_initial( - self, resource_group_name, container_service_name, parameters, custom_headers=None, raw=False, **operation_config): - api_version = "2017-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'), - 'containerServiceName': self._serialize.url("container_service_name", container_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("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, 'ContainerService') - - # Construct and send request - request = self._client.put(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('ContainerService', response) - if response.status_code == 201: - deserialized = self._deserialize('ContainerService', response) - if response.status_code == 202: - deserialized = self._deserialize('ContainerService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, container_service_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a container service. - - Creates or updates a container service with the specified configuration - of orchestrator, masters, and agents. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param container_service_name: The name of the container service in - the specified subscription and resource group. - :type container_service_name: str - :param parameters: Parameters supplied to the Create or Update a - Container Service operation. - :type parameters: ~azure.mgmt.containerservice.models.ContainerService - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns ContainerService or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.models.ContainerService] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.models.ContainerService]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - container_service_name=container_service_name, - parameters=parameters, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('ContainerService', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = 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/containerServices/{containerServiceName}'} - - def get( - self, resource_group_name, container_service_name, custom_headers=None, raw=False, **operation_config): - """Gets the properties of the specified container service. - - Gets the properties of the specified container service in the specified - subscription and resource group. The operation returns the properties - including state, orchestrator, number of masters and agents, and FQDNs - of masters and agents. . - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param container_service_name: The name of the container service in - the specified subscription and resource group. - :type container_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: ContainerService or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.containerservice.models.ContainerService or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2017-07-01" - - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'containerServiceName': self._serialize.url("container_service_name", container_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("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('ContainerService', 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/containerServices/{containerServiceName}'} - - - def _delete_initial( - self, resource_group_name, container_service_name, custom_headers=None, raw=False, **operation_config): - api_version = "2017-07-01" - - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'containerServiceName': self._serialize.url("container_service_name", container_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("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 [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, container_service_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes the specified container service. - - Deletes the specified container service in the specified subscription - and resource group. The operation does not delete other resources - created as part of creating a container service, including storage - accounts, VMs, and availability sets. All the other resources created - with the container service are part of the same resource group and can - be deleted individually. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param container_service_name: The name of the container service in - the specified subscription and resource group. - :type container_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._delete_initial( - resource_group_name=resource_group_name, - container_service_name=container_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.ContainerService/containerServices/{containerServiceName}'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of container services in the specified resource group. - - Gets a list of container services in the specified subscription and - resource group. The operation returns properties of each container - service including state, orchestrator, number of masters and agents, - and FQDNs of masters and agents. - - :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 ContainerService - :rtype: - ~azure.mgmt.containerservice.models.ContainerServicePaged[~azure.mgmt.containerservice.models.ContainerService] - :raises: :class:`CloudError` - """ - api_version = "2017-07-01" - - 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("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.ContainerServicePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ContainerServicePaged(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.ContainerService/containerServices'} - - def list_orchestrators( - self, location, resource_type=None, custom_headers=None, raw=False, **operation_config): - """Gets a list of supported orchestrators in the specified subscription. - - Gets a list of supported orchestrators in the specified subscription. - The operation returns properties of each orchestrator including verison - and available upgrades. - - :param location: The name of a supported Azure region. - :type location: str - :param resource_type: resource type for which the list of - orchestrators needs to be returned - :type resource_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: OrchestratorVersionProfileListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.models.OrchestratorVersionProfileListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - api_version = "2017-09-30" - - # Construct URL - url = self.list_orchestrators.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("api_version", api_version, 'str') - if resource_type is not None: - query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('OrchestratorVersionProfileListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_orchestrators.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/managed_clusters_operations.py deleted file mode 100644 index ee38a71b40e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/managed_clusters_operations.py +++ /dev/null @@ -1,800 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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. - - :param client: Client for service requests. - :param config: 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-03-31". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-03-31" - - 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.models.ManagedClusterPaged[~azure.mgmt.containerservice.models.ManagedCluster] - :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.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - 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.models.ManagedClusterPaged[~azure.mgmt.containerservice.models.ManagedCluster] - :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 = { - '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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(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.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.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'), - '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]: - exp = 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. - - :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.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'), - 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), - '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 clusteradmin credential of a managed cluster. - - Gets clusteradmin 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.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'), - '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.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 clusteruser credential of a managed cluster. - - Gets clusteruser 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.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'), - '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.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 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.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'), - '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]: - exp = 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'), - '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(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.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.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.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'), - '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(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.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.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'), - '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 [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}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/operations/operations.py deleted file mode 100644 index a43ead3a313..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/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-03-31". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-03-31" - - 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.models.OperationValuePaged[~azure.mgmt.containerservice.models.OperationValue] - :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.OperationValuePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py old mode 100644 new mode 100755 index 9854e4f7645..eb3d7ba7a26 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py @@ -1,18 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .container_service_client import ContainerServiceClient -from .version import VERSION - +from ._container_service_client import ContainerServiceClient __all__ = ['ContainerServiceClient'] -__version__ = VERSION - +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py new file mode 100755 index 00000000000..86c0c85d090 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.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 typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. + + 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'azure-mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/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 old mode 100644 new mode 100755 similarity index 52% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_container_service_client.py index 938e16974b7..e869970cf5d --- 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 @@ -9,93 +9,82 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer -from msrestazure import AzureConfiguration +from typing import TYPE_CHECKING +from azure.mgmt.core import ARMPipelineClient from azure.profiles import KnownProfiles, ProfileDefinition from azure.profiles.multiapiclient import MultiApiClientMixin -from .version import VERSION +from msrest import Deserializer, Serializer +from ._configuration import ContainerServiceClientConfiguration -class ContainerServiceClientConfiguration(AzureConfiguration): - """Configuration for ContainerServiceClient - Note that all parameters used to create this instance are saved as instance - attributes. +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional - :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) - - 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 + from azure.core.credentials import TokenCredential + from azure.core.pipeline.transport import HttpRequest, HttpResponse +class _SDKClient(object): + def __init__(self, *args, **kwargs): + """This is a fake class to support current implemetation of MultiApiClientMixin." + Will be removed in final version of multiapi azure-core based client + """ + pass -class ContainerServiceClient(MultiApiClientMixin, SDKClient): +class ContainerServiceClient(MultiApiClientMixin, _SDKClient): """The Container Service Client. - :ivar config: Configuration for client. - :vartype config: ContainerServiceClientConfiguration - - :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. + This ready contains multiple API versions, to help you deal with all of the Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, it uses the latest API version available on public Azure. + For production, you should stick to a particular api-version and/or profile. + The profile sets a mapping between an operation group and its API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :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 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 dict using operation group name to API version. - :type profile: dict[str, str] + :param api_version: API version to use if no profile is provided, or if missing in profile. + :type api_version: str + :param base_url: Service URL + :type base_url: str + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ - DEFAULT_API_VERSION = '2018-09-01' + DEFAULT_API_VERSION = '2021-05-01' _PROFILE_TAG = "azure.mgmt.containerservice.ContainerServiceClient" LATEST_PROFILE = ProfileDefinition({ _PROFILE_TAG: { - 'open_shift_managed_clusters': '2018-09-30-preview', + None: DEFAULT_API_VERSION, 'container_services': '2017-07-01', - 'managed_clusters': '2020-01-01', - 'operations': '2018-03-31', - None: DEFAULT_API_VERSION + 'open_shift_managed_clusters': '2019-04-30', }}, _PROFILE_TAG + " latest" ) - def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): - self.config = ContainerServiceClientConfiguration(credentials, subscription_id, base_url) + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + api_version=None, # type: Optional[str] + base_url=None, # type: Optional[str] + profile=KnownProfiles.default, # type: KnownProfiles + **kwargs # type: Any + ): + if not base_url: + base_url = 'https://management.azure.com' + self._config = ContainerServiceClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) super(ContainerServiceClient, self).__init__( - credentials, - self.config, api_version=api_version, profile=profile ) -############ 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)} @@ -108,20 +97,27 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2018-03-31: :mod:`v2018_03_31.models` * 2018-08-01-preview: :mod:`v2018_08_01_preview.models` * 2018-09-30-preview: :mod:`v2018_09_30_preview.models` - * 2019-02-01: :mod:`v2019_02_01_.models` - * 2019-04-01: :mod:`v2019_04_01_.models` - * 2019-08-01: :mod:`v2019_08_01_.models` - * 2019-10-01: :mod:`v2019_10_01_.models` - * 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` - * 2020-06-01: :mod:`v2020_06_01_.models` - * 2020-11-01: :mod:`v2020_11_01_.models` - * 2020-12-01: :mod:`v2020_12_01_.models` - * 2021-02-01: :mod:`v2021_02_01_.models` - * 2021-03-01: :mod:`v2021_03_01_.models` - * 2021-05-01: :mod:`v2021_05_01_.models` + * 2019-02-01: :mod:`v2019_02_01.models` + * 2019-04-01: :mod:`v2019_04_01.models` + * 2019-04-30: :mod:`v2019_04_30.models` + * 2019-06-01: :mod:`v2019_06_01.models` + * 2019-08-01: :mod:`v2019_08_01.models` + * 2019-09-30-preview: :mod:`v2019_09_30_preview.models` + * 2019-10-01: :mod:`v2019_10_01.models` + * 2019-10-27-preview: :mod:`v2019_10_27_preview.models` + * 2019-11-01: :mod:`v2019_11_01.models` + * 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` + * 2020-06-01: :mod:`v2020_06_01.models` + * 2020-07-01: :mod:`v2020_07_01.models` + * 2020-09-01: :mod:`v2020_09_01.models` + * 2020-11-01: :mod:`v2020_11_01.models` + * 2020-12-01: :mod:`v2020_12_01.models` + * 2021-02-01: :mod:`v2021_02_01.models` + * 2021-03-01: :mod:`v2021_03_01.models` + * 2021-05-01: :mod:`v2021_05_01.models` """ if api_version == '2017-07-01': from .v2017_07_01 import models @@ -141,12 +137,27 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2019-04-01': from .v2019_04_01 import models return models + elif api_version == '2019-04-30': + from .v2019_04_30 import models + return models + elif api_version == '2019-06-01': + from .v2019_06_01 import models + return models elif api_version == '2019-08-01': from .v2019_08_01 import models return models + elif api_version == '2019-09-30-preview': + from .v2019_09_30_preview import models + return models elif api_version == '2019-10-01': from .v2019_10_01 import models return models + elif api_version == '2019-10-27-preview': + from .v2019_10_27_preview import models + return models + elif api_version == '2019-11-01': + from .v2019_11_01 import models + return models elif api_version == '2020-01-01': from .v2020_01_01 import models return models @@ -162,6 +173,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2020-06-01': from .v2020_06_01 import models return models + elif api_version == '2020-07-01': + from .v2020_07_01 import models + return models elif api_version == '2020-09-01': from .v2020_09_01 import models return models @@ -180,29 +194,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2021-05-01': from .v2021_05_01 import models return models - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - - @property - def maintenance_configurations(self): - """Instance depends on the API version: - - * 2020-12-01: :class:`MaintenanceConfigurationsOperations` - * 2021-02-01: :class:`MaintenanceConfigurationsOperations` - * 2021-03-01: :class:`MaintenanceConfigurationsOperations` - * 2021-05-01: :class:`MaintenanceConfigurationsOperations` - """ - api_version = self._get_api_version('maintenance_configurations') - if api_version == '2020-12-01': - from .v2020_12_01.operations import MaintenanceConfigurationsOperations as OperationClass - elif api_version == '2021-02-01': - from .v2021_02_01.operations import MaintenanceConfigurationsOperations as OperationClass - elif api_version == '2021-03-01': - from .v2021_03_01.operations import MaintenanceConfigurationsOperations as OperationClass - elif api_version == '2021-05-01': - from .v2021_05_01.operations import MaintenanceConfigurationsOperations as OperationClass - else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + raise ValueError("API version {} is not available".format(api_version)) @property def agent_pools(self): @@ -210,13 +202,16 @@ def agent_pools(self): * 2019-02-01: :class:`AgentPoolsOperations` * 2019-04-01: :class:`AgentPoolsOperations` + * 2019-06-01: :class:`AgentPoolsOperations` * 2019-08-01: :class:`AgentPoolsOperations` * 2019-10-01: :class:`AgentPoolsOperations` + * 2019-11-01: :class:`AgentPoolsOperations` * 2020-01-01: :class:`AgentPoolsOperations` * 2020-02-01: :class:`AgentPoolsOperations` * 2020-03-01: :class:`AgentPoolsOperations` * 2020-04-01: :class:`AgentPoolsOperations` * 2020-06-01: :class:`AgentPoolsOperations` + * 2020-07-01: :class:`AgentPoolsOperations` * 2020-09-01: :class:`AgentPoolsOperations` * 2020-11-01: :class:`AgentPoolsOperations` * 2020-12-01: :class:`AgentPoolsOperations` @@ -229,10 +224,14 @@ def agent_pools(self): from .v2019_02_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2019-04-01': from .v2019_04_01.operations import AgentPoolsOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2019-08-01': from .v2019_08_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2019-10-01': from .v2019_10_01.operations import AgentPoolsOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2020-01-01': from .v2020_01_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2020-02-01': @@ -243,6 +242,8 @@ def agent_pools(self): from .v2020_04_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2020-06-01': from .v2020_06_01.operations import AgentPoolsOperations as OperationClass + elif api_version == '2020-07-01': + from .v2020_07_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2020-09-01': from .v2020_09_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2020-11-01': @@ -256,8 +257,8 @@ def agent_pools(self): elif api_version == '2021-05-01': from .v2021_05_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))) + raise ValueError("API version {} does not have operation group 'agent_pools'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @property def container_services(self): @@ -268,50 +269,31 @@ def container_services(self): api_version = self._get_api_version('container_services') if api_version == '2017-07-01': from .v2017_07_01.operations import ContainerServicesOperations as OperationClass - elif api_version == "2019-04-01": - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - elif api_version == '2019-08-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2019-08-01 generated Python SDK contains no list_orchestrator op - elif api_version == '2019-10-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2019-10-01 generated Python SDK contains no list_orchestrator op - elif api_version == '2020-01-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2020-01-01 generated Python SDK contains no list_orchestrator op - elif api_version == '2020-02-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2020-02-01 generated Python SDK contains no list_orchestrator op - 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 - elif api_version == '2020-06-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2020-06-01 generated Python SDK contains no list_orchestrator op - elif api_version == '2020-09-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2020-09-01 generated Python SDK contains no list_orchestrator op - elif api_version == '2020-11-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2020-11-01 generated Python SDK contains no list_orchestrator op - elif api_version == '2020-12-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2020-12-01 generated Python SDK contains no list_orchestrator op + else: + raise ValueError("API version {} does not have operation group 'container_services'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def maintenance_configurations(self): + """Instance depends on the API version: + + * 2020-12-01: :class:`MaintenanceConfigurationsOperations` + * 2021-02-01: :class:`MaintenanceConfigurationsOperations` + * 2021-03-01: :class:`MaintenanceConfigurationsOperations` + * 2021-05-01: :class:`MaintenanceConfigurationsOperations` + """ + api_version = self._get_api_version('maintenance_configurations') + if api_version == '2020-12-01': + from .v2020_12_01.operations import MaintenanceConfigurationsOperations as OperationClass elif api_version == '2021-02-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2021-02-01 generated Python SDK contains no list_orchestrator op + from .v2021_02_01.operations import MaintenanceConfigurationsOperations as OperationClass elif api_version == '2021-03-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2021-03-01 generated Python SDK contains no list_orchestrator op + from .v2021_03_01.operations import MaintenanceConfigurationsOperations as OperationClass elif api_version == '2021-05-01': - from .v2019_04_01.operations import ContainerServicesOperations as OperationClass - api_version = "2019-04-01" #2021-05-01 generated Python SDK contains no list_orchestrator op + from .v2021_05_01.operations import MaintenanceConfigurationsOperations as OperationClass else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + raise ValueError("API version {} does not have operation group 'maintenance_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @property def managed_clusters(self): @@ -321,13 +303,16 @@ def managed_clusters(self): * 2018-08-01-preview: :class:`ManagedClustersOperations` * 2019-02-01: :class:`ManagedClustersOperations` * 2019-04-01: :class:`ManagedClustersOperations` + * 2019-06-01: :class:`ManagedClustersOperations` * 2019-08-01: :class:`ManagedClustersOperations` * 2019-10-01: :class:`ManagedClustersOperations` + * 2019-11-01: :class:`ManagedClustersOperations` * 2020-01-01: :class:`ManagedClustersOperations` * 2020-02-01: :class:`ManagedClustersOperations` * 2020-03-01: :class:`ManagedClustersOperations` * 2020-04-01: :class:`ManagedClustersOperations` * 2020-06-01: :class:`ManagedClustersOperations` + * 2020-07-01: :class:`ManagedClustersOperations` * 2020-09-01: :class:`ManagedClustersOperations` * 2020-11-01: :class:`ManagedClustersOperations` * 2020-12-01: :class:`ManagedClustersOperations` @@ -344,10 +329,14 @@ def managed_clusters(self): from .v2019_02_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2019-04-01': from .v2019_04_01.operations import ManagedClustersOperations as OperationClass + elif api_version == '2019-06-01': + from .v2019_06_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2019-08-01': from .v2019_08_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2019-10-01': from .v2019_10_01.operations import ManagedClustersOperations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2020-01-01': from .v2020_01_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2020-02-01': @@ -358,6 +347,8 @@ def managed_clusters(self): from .v2020_04_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2020-06-01': from .v2020_06_01.operations import ManagedClustersOperations as OperationClass + elif api_version == '2020-07-01': + from .v2020_07_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2020-09-01': from .v2020_09_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2020-11-01': @@ -371,21 +362,30 @@ def managed_clusters(self): elif api_version == '2021-05-01': from .v2021_05_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))) + raise ValueError("API version {} does not have operation group 'managed_clusters'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @property def open_shift_managed_clusters(self): """Instance depends on the API version: * 2018-09-30-preview: :class:`OpenShiftManagedClustersOperations` + * 2019-04-30: :class:`OpenShiftManagedClustersOperations` + * 2019-09-30-preview: :class:`OpenShiftManagedClustersOperations` + * 2019-10-27-preview: :class:`OpenShiftManagedClustersOperations` """ api_version = self._get_api_version('open_shift_managed_clusters') if api_version == '2018-09-30-preview': from .v2018_09_30_preview.operations import OpenShiftManagedClustersOperations as OperationClass + elif api_version == '2019-04-30': + from .v2019_04_30.operations import OpenShiftManagedClustersOperations as OperationClass + elif api_version == '2019-09-30-preview': + from .v2019_09_30_preview.operations import OpenShiftManagedClustersOperations as OperationClass + elif api_version == '2019-10-27-preview': + from .v2019_10_27_preview.operations import OpenShiftManagedClustersOperations as OperationClass else: - raise NotImplementedError("APIVersion {} is not available".format(api_version)) - return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + raise ValueError("API version {} does not have operation group 'open_shift_managed_clusters'".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): @@ -395,13 +395,16 @@ def operations(self): * 2018-08-01-preview: :class:`Operations` * 2019-02-01: :class:`Operations` * 2019-04-01: :class:`Operations` + * 2019-06-01: :class:`Operations` * 2019-08-01: :class:`Operations` * 2019-10-01: :class:`Operations` + * 2019-11-01: :class:`Operations` * 2020-01-01: :class:`Operations` * 2020-02-01: :class:`Operations` * 2020-03-01: :class:`Operations` * 2020-04-01: :class:`Operations` * 2020-06-01: :class:`Operations` + * 2020-07-01: :class:`Operations` * 2020-09-01: :class:`Operations` * 2020-11-01: :class:`Operations` * 2020-12-01: :class:`Operations` @@ -418,10 +421,14 @@ def operations(self): 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-08-01': from .v2019_08_01.operations import Operations as OperationClass elif api_version == '2019-10-01': from .v2019_10_01.operations import Operations as OperationClass + elif api_version == '2019-11-01': + from .v2019_11_01.operations import Operations as OperationClass elif api_version == '2020-01-01': from .v2020_01_01.operations import Operations as OperationClass elif api_version == '2020-02-01': @@ -432,6 +439,8 @@ def operations(self): from .v2020_04_01.operations import Operations as OperationClass elif api_version == '2020-06-01': from .v2020_06_01.operations import Operations as OperationClass + elif api_version == '2020-07-01': + from .v2020_07_01.operations import Operations as OperationClass elif api_version == '2020-09-01': from .v2020_09_01.operations import Operations as OperationClass elif api_version == '2020-11-01': @@ -445,5 +454,103 @@ def operations(self): elif api_version == '2021-05-01': from .v2021_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))) + raise ValueError("API version {} does not have operation group 'operations'".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: + + * 2020-06-01: :class:`PrivateEndpointConnectionsOperations` + * 2020-07-01: :class:`PrivateEndpointConnectionsOperations` + * 2020-09-01: :class:`PrivateEndpointConnectionsOperations` + * 2020-11-01: :class:`PrivateEndpointConnectionsOperations` + * 2020-12-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-02-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-03-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-05-01: :class:`PrivateEndpointConnectionsOperations` + """ + api_version = self._get_api_version('private_endpoint_connections') + if api_version == '2020-06-01': + from .v2020_06_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2020-07-01': + from .v2020_07_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2020-09-01': + from .v2020_09_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2020-11-01': + from .v2020_11_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2020-12-01': + from .v2020_12_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-03-01': + from .v2021_03_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-05-01': + from .v2021_05_01.operations import PrivateEndpointConnectionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'private_endpoint_connections'".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: + + * 2020-09-01: :class:`PrivateLinkResourcesOperations` + * 2020-11-01: :class:`PrivateLinkResourcesOperations` + * 2020-12-01: :class:`PrivateLinkResourcesOperations` + * 2021-02-01: :class:`PrivateLinkResourcesOperations` + * 2021-03-01: :class:`PrivateLinkResourcesOperations` + * 2021-05-01: :class:`PrivateLinkResourcesOperations` + """ + api_version = self._get_api_version('private_link_resources') + if api_version == '2020-09-01': + from .v2020_09_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2020-11-01': + from .v2020_11_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2020-12-01': + from .v2020_12_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-03-01': + from .v2021_03_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-05-01': + from .v2021_05_01.operations import PrivateLinkResourcesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'private_link_resources'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def resolve_private_link_service_id(self): + """Instance depends on the API version: + + * 2020-09-01: :class:`ResolvePrivateLinkServiceIdOperations` + * 2020-11-01: :class:`ResolvePrivateLinkServiceIdOperations` + * 2020-12-01: :class:`ResolvePrivateLinkServiceIdOperations` + * 2021-02-01: :class:`ResolvePrivateLinkServiceIdOperations` + * 2021-03-01: :class:`ResolvePrivateLinkServiceIdOperations` + * 2021-05-01: :class:`ResolvePrivateLinkServiceIdOperations` + """ + api_version = self._get_api_version('resolve_private_link_service_id') + if api_version == '2020-09-01': + from .v2020_09_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2020-11-01': + from .v2020_11_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2020-12-01': + from .v2020_12_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2021-03-01': + from .v2021_03_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2021-05-01': + from .v2021_05_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'resolve_private_link_service_id'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + def close(self): + self._client.close() + def __enter__(self): + self._client.__enter__() + return self + def __exit__(self, *exc_details): + self._client.__exit__(*exc_details) 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 old mode 100644 new mode 100755 similarity index 96% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/version.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_version.py index 7331ae4ca3a..ef6549b6f33 --- 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,4 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "11.0.0" +VERSION = "16.0.0" 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 old mode 100644 new mode 100755 index c7e9658fe5e..46a4c060a97 --- 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 @@ -3,28 +3,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. # -------------------------------------------------------------------------- - from .v2017_07_01.models import * -from .v2018_03_31.models import * -from .v2018_08_01_preview.models import * -from .v2018_09_30_preview.models import * -from .v2019_02_01.models import * -from .v2019_04_01.models import * -from .v2019_08_01.models import * -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_04_01.models import * -from .v2020_06_01.models import * -from .v2020_09_01.models import * -from .v2020_11_01.models import * -from .v2020_12_01.models import * -from .v2021_02_01.models import * -from .v2021_03_01.models import * -from .v2021_05_01.models import * \ No newline at end of file +from .v2019_04_30.models import * +from .v2021_05_01.models import * diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/__init__.py old mode 100644 new mode 100755 similarity index 68% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/__init__.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/__init__.py index 9854e4f7645..eb3d7ba7a26 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/__init__.py @@ -1,18 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .container_service_client import ContainerServiceClient -from .version import VERSION - +from ._container_service_client import ContainerServiceClient __all__ = ['ContainerServiceClient'] -__version__ = VERSION - +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_configuration.py new file mode 100755 index 00000000000..085ca045efa --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_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 azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. + + 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_container_service_client.py new file mode 100755 index 00000000000..2e860be77ae --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/_container_service_client.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. +# -------------------------------------------------------------------------- + +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 azure.core.pipeline.transport import HttpRequest, HttpResponse + +from ._configuration import ContainerServiceClientConfiguration +from .operations import ContainerServicesOperations +from . import models + + +class ContainerServiceClient(object): + """The Container Service Client. + + :ivar container_services: ContainerServicesOperations operations + :vartype container_services: azure.mgmt.containerservice.v2017_07_01.operations.ContainerServicesOperations + :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 + :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.container_services = ContainerServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> ContainerServiceClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/__init__.py old mode 100644 new mode 100755 similarity index 73% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/version.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/__init__.py index fc241ef662d..4ad2bb20096 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/version.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/__init__.py @@ -1,13 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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. # -------------------------------------------------------------------------- -VERSION = "2019-02-01" - +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient'] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_configuration.py new file mode 100755 index 00000000000..fc5eb921630 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. + + 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_container_service_client.py new file mode 100755 index 00000000000..3285c25911c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/_container_service_client.py @@ -0,0 +1,82 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.core.pipeline.transport import AsyncHttpResponse, HttpRequest +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 import ContainerServiceClientConfiguration +from .operations import ContainerServicesOperations +from .. import models + + +class ContainerServiceClient(object): + """The Container Service Client. + + :ivar container_services: ContainerServicesOperations operations + :vartype container_services: azure.mgmt.containerservice.v2017_07_01.aio.operations.ContainerServicesOperations + :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 + :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.container_services = ContainerServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "ContainerServiceClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/operations/__init__.py new file mode 100755 index 00000000000..db0e90a3a5a --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/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 ._container_services_operations import ContainerServicesOperations + +__all__ = [ + 'ContainerServicesOperations', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/operations/_container_services_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/operations/_container_services_operations.py new file mode 100755 index 00000000000..a837c0c0626 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/aio/operations/_container_services_operations.py @@ -0,0 +1,561 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ContainerServicesOperations: + """ContainerServicesOperations 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.containerservice.v2017_07_01.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: Any + ) -> AsyncIterable["_models.ContainerServiceListResult"]: + """Gets a list of container services in the specified subscription. + + Gets a list of container services in the specified subscription. The operation returns + properties of each container service including state, orchestrator, number of masters and + agents, and FQDNs of masters and agents. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ContainerServiceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerServiceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ContainerServiceListResult', 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.ContainerService/containerServices'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + container_service_name: str, + parameters: "_models.ContainerService", + **kwargs: Any + ) -> "_models.ContainerService": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ContainerService') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ContainerService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ContainerService', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ContainerService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + container_service_name: str, + parameters: "_models.ContainerService", + **kwargs: Any + ) -> AsyncLROPoller["_models.ContainerService"]: + """Creates or updates a container service. + + Creates or updates a container service with the specified configuration of orchestrator, + masters, and agents. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param container_service_name: The name of the container service in the specified subscription + and resource group. + :type container_service_name: str + :param parameters: Parameters supplied to the Create or Update a Container Service operation. + :type parameters: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerService + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ContainerService or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2017_07_01.models.ContainerService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerService"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + container_service_name=container_service_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ContainerService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_service_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + container_service_name: str, + **kwargs: Any + ) -> "_models.ContainerService": + """Gets the properties of the specified container service. + + Gets the properties of the specified container service in the specified subscription and + resource group. The operation returns the properties including state, orchestrator, number of + masters and agents, and FQDNs of masters and agents. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param container_service_name: The name of the container service in the specified subscription + and resource group. + :type container_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ContainerService, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_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'] = self._serialize.header("accept", accept, 'str') + + 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('ContainerService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + container_service_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_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] + + 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.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + container_service_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes the specified container service. + + Deletes the specified container service in the specified subscription and resource group. The + operation does not delete other resources created as part of creating a container service, + including storage accounts, VMs, and availability sets. All the other resources created with + the container service are part of the same resource group and can be deleted individually. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param container_service_name: The name of the container service in the specified subscription + and resource group. + :type container_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + container_service_name=container_service_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_service_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ContainerServiceListResult"]: + """Gets a list of container services in the specified resource group. + + Gets a list of container services in the specified subscription and resource group. The + operation returns properties of each container service including state, orchestrator, number of + masters and agents, and FQDNs of masters and agents. + + :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: An iterator like instance of either ContainerServiceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerServiceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ContainerServiceListResult', 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.ContainerService/containerServices'} # type: ignore + + async def list_orchestrators( + self, + location: str, + resource_type: Optional[str] = None, + **kwargs: Any + ) -> "_models.OrchestratorVersionProfileListResult": + """Gets a list of supported orchestrators in the specified subscription. + + Gets a list of supported orchestrators in the specified subscription. The operation returns + properties of each orchestrator including version, available upgrades and whether that version + or upgrades are in preview. + + :param location: The name of a supported Azure region. + :type location: str + :param resource_type: resource type for which the list of orchestrators needs to be returned. + :type resource_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrchestratorVersionProfileListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorVersionProfileListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OrchestratorVersionProfileListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.list_orchestrators.metadata['url'] # type: ignore + 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') + if resource_type is not None: + query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('OrchestratorVersionProfileListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_orchestrators.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/__init__.py new file mode 100755 index 00000000000..756ee52d39f --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/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 ._models_py3 import ContainerService + from ._models_py3 import ContainerServiceAgentPoolProfile + from ._models_py3 import ContainerServiceCustomProfile + from ._models_py3 import ContainerServiceDiagnosticsProfile + from ._models_py3 import ContainerServiceLinuxProfile + from ._models_py3 import ContainerServiceListResult + from ._models_py3 import ContainerServiceMasterProfile + from ._models_py3 import ContainerServiceOrchestratorProfile + from ._models_py3 import ContainerServicePrincipalProfile + from ._models_py3 import ContainerServiceSshConfiguration + from ._models_py3 import ContainerServiceSshPublicKey + from ._models_py3 import ContainerServiceVMDiagnostics + from ._models_py3 import ContainerServiceWindowsProfile + from ._models_py3 import KeyVaultSecretRef + from ._models_py3 import OrchestratorProfile + from ._models_py3 import OrchestratorVersionProfile + from ._models_py3 import OrchestratorVersionProfileListResult + from ._models_py3 import Resource +except (SyntaxError, ImportError): + from ._models import ContainerService # type: ignore + from ._models import ContainerServiceAgentPoolProfile # type: ignore + from ._models import ContainerServiceCustomProfile # type: ignore + from ._models import ContainerServiceDiagnosticsProfile # type: ignore + from ._models import ContainerServiceLinuxProfile # type: ignore + from ._models import ContainerServiceListResult # type: ignore + from ._models import ContainerServiceMasterProfile # type: ignore + from ._models import ContainerServiceOrchestratorProfile # type: ignore + from ._models import ContainerServicePrincipalProfile # type: ignore + from ._models import ContainerServiceSshConfiguration # type: ignore + from ._models import ContainerServiceSshPublicKey # type: ignore + from ._models import ContainerServiceVMDiagnostics # type: ignore + from ._models import ContainerServiceWindowsProfile # type: ignore + from ._models import KeyVaultSecretRef # type: ignore + from ._models import OrchestratorProfile # type: ignore + from ._models import OrchestratorVersionProfile # type: ignore + from ._models import OrchestratorVersionProfileListResult # type: ignore + from ._models import Resource # type: ignore + +from ._container_service_client_enums import ( + ContainerServiceOrchestratorTypes, + ContainerServiceStorageProfileTypes, + ContainerServiceVMSizeTypes, + Count, + OSType, +) + +__all__ = [ + 'ContainerService', + 'ContainerServiceAgentPoolProfile', + 'ContainerServiceCustomProfile', + 'ContainerServiceDiagnosticsProfile', + 'ContainerServiceLinuxProfile', + 'ContainerServiceListResult', + 'ContainerServiceMasterProfile', + 'ContainerServiceOrchestratorProfile', + 'ContainerServicePrincipalProfile', + 'ContainerServiceSshConfiguration', + 'ContainerServiceSshPublicKey', + 'ContainerServiceVMDiagnostics', + 'ContainerServiceWindowsProfile', + 'KeyVaultSecretRef', + 'OrchestratorProfile', + 'OrchestratorVersionProfile', + 'OrchestratorVersionProfileListResult', + 'Resource', + 'ContainerServiceOrchestratorTypes', + 'ContainerServiceStorageProfileTypes', + 'ContainerServiceVMSizeTypes', + 'Count', + 'OSType', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_container_service_client_enums.py new file mode 100755 index 00000000000..a14dea47c37 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_container_service_client_enums.py @@ -0,0 +1,241 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class ContainerServiceOrchestratorTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The orchestrator to use to manage container service cluster resources. Valid values are + Kubernetes, Swarm, DCOS, DockerCE and Custom. + """ + + KUBERNETES = "Kubernetes" + SWARM = "Swarm" + DCOS = "DCOS" + DOCKER_CE = "DockerCE" + CUSTOM = "Custom" + +class ContainerServiceStorageProfileTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + + STORAGE_ACCOUNT = "StorageAccount" + MANAGED_DISKS = "ManagedDisks" + +class ContainerServiceVMSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Size of agent VMs. + """ + + 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_A2_M_V2 = "Standard_A2m_v2" + STANDARD_A3 = "Standard_A3" + STANDARD_A4 = "Standard_A4" + STANDARD_A4_V2 = "Standard_A4_v2" + STANDARD_A4_M_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_A8_M_V2 = "Standard_A8m_v2" + STANDARD_A9 = "Standard_A9" + STANDARD_B2_MS = "Standard_B2ms" + STANDARD_B2_S = "Standard_B2s" + STANDARD_B4_MS = "Standard_B4ms" + STANDARD_B8_MS = "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_D16_S_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_D2_S_V3 = "Standard_D2s_v3" + STANDARD_D3 = "Standard_D3" + STANDARD_D32_V3 = "Standard_D32_v3" + STANDARD_D32_S_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_D4_S_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_D64_S_V3 = "Standard_D64s_v3" + STANDARD_D8_V3 = "Standard_D8_v3" + STANDARD_D8_S_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_E16_S_V3 = "Standard_E16s_v3" + STANDARD_E2_V3 = "Standard_E2_v3" + STANDARD_E2_S_V3 = "Standard_E2s_v3" + STANDARD_E32_16_S_V3 = "Standard_E32-16s_v3" + STANDARD_E32_8_S_V3 = "Standard_E32-8s_v3" + STANDARD_E32_V3 = "Standard_E32_v3" + STANDARD_E32_S_V3 = "Standard_E32s_v3" + STANDARD_E4_V3 = "Standard_E4_v3" + STANDARD_E4_S_V3 = "Standard_E4s_v3" + STANDARD_E64_16_S_V3 = "Standard_E64-16s_v3" + STANDARD_E64_32_S_V3 = "Standard_E64-32s_v3" + STANDARD_E64_V3 = "Standard_E64_v3" + STANDARD_E64_S_V3 = "Standard_E64s_v3" + STANDARD_E8_V3 = "Standard_E8_v3" + STANDARD_E8_S_V3 = "Standard_E8s_v3" + STANDARD_F1 = "Standard_F1" + STANDARD_F16 = "Standard_F16" + STANDARD_F16_S = "Standard_F16s" + STANDARD_F16_S_V2 = "Standard_F16s_v2" + STANDARD_F1_S = "Standard_F1s" + STANDARD_F2 = "Standard_F2" + STANDARD_F2_S = "Standard_F2s" + STANDARD_F2_S_V2 = "Standard_F2s_v2" + STANDARD_F32_S_V2 = "Standard_F32s_v2" + STANDARD_F4 = "Standard_F4" + STANDARD_F4_S = "Standard_F4s" + STANDARD_F4_S_V2 = "Standard_F4s_v2" + STANDARD_F64_S_V2 = "Standard_F64s_v2" + STANDARD_F72_S_V2 = "Standard_F72s_v2" + STANDARD_F8 = "Standard_F8" + STANDARD_F8_S = "Standard_F8s" + STANDARD_F8_S_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_H16_M = "Standard_H16m" + STANDARD_H16_MR = "Standard_H16mr" + STANDARD_H16_R = "Standard_H16r" + STANDARD_H8 = "Standard_H8" + STANDARD_H8_M = "Standard_H8m" + STANDARD_L16_S = "Standard_L16s" + STANDARD_L32_S = "Standard_L32s" + STANDARD_L4_S = "Standard_L4s" + STANDARD_L8_S = "Standard_L8s" + STANDARD_M128_32_MS = "Standard_M128-32ms" + STANDARD_M128_64_MS = "Standard_M128-64ms" + STANDARD_M128_MS = "Standard_M128ms" + STANDARD_M128_S = "Standard_M128s" + STANDARD_M64_16_MS = "Standard_M64-16ms" + STANDARD_M64_32_MS = "Standard_M64-32ms" + STANDARD_M64_MS = "Standard_M64ms" + STANDARD_M64_S = "Standard_M64s" + STANDARD_NC12 = "Standard_NC12" + STANDARD_NC12_S_V2 = "Standard_NC12s_v2" + STANDARD_NC12_S_V3 = "Standard_NC12s_v3" + STANDARD_NC24 = "Standard_NC24" + STANDARD_NC24_R = "Standard_NC24r" + STANDARD_NC24_RS_V2 = "Standard_NC24rs_v2" + STANDARD_NC24_RS_V3 = "Standard_NC24rs_v3" + STANDARD_NC24_S_V2 = "Standard_NC24s_v2" + STANDARD_NC24_S_V3 = "Standard_NC24s_v3" + STANDARD_NC6 = "Standard_NC6" + STANDARD_NC6_S_V2 = "Standard_NC6s_v2" + STANDARD_NC6_S_V3 = "Standard_NC6s_v3" + STANDARD_ND12_S = "Standard_ND12s" + STANDARD_ND24_RS = "Standard_ND24rs" + STANDARD_ND24_S = "Standard_ND24s" + STANDARD_ND6_S = "Standard_ND6s" + STANDARD_NV12 = "Standard_NV12" + STANDARD_NV24 = "Standard_NV24" + STANDARD_NV6 = "Standard_NV6" + +class Count(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): + """Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The + default value is 1. + """ + + ONE = 1 + THREE = 3 + FIVE = 5 + +class OSType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + """ + + LINUX = "Linux" + WINDOWS = "Windows" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models.py new file mode 100755 index 00000000000..f4993afd77c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models.py @@ -0,0 +1,804 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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): + """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: 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'}, + '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.tags = kwargs.get('tags', None) + + +class ContainerService(Resource): + """Container service. + + Variables are only populated 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] + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param orchestrator_profile: Profile for the container service orchestrator. + :type orchestrator_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceOrchestratorProfile + :param custom_profile: Properties to configure a custom container service cluster. + :type custom_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceCustomProfile + :param service_principal_profile: Information about a service principal identity for the + cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be + specified. + :type service_principal_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServicePrincipalProfile + :param master_profile: Profile for the container service master. + :type master_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceMasterProfile + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceAgentPoolProfile] + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceWindowsProfile + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceLinuxProfile + :param diagnostics_profile: Profile for diagnostics in the container service cluster. + :type diagnostics_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceDiagnosticsProfile + """ + + _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}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'orchestrator_profile': {'key': 'properties.orchestratorProfile', 'type': 'ContainerServiceOrchestratorProfile'}, + 'custom_profile': {'key': 'properties.customProfile', 'type': 'ContainerServiceCustomProfile'}, + 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ContainerServicePrincipalProfile'}, + 'master_profile': {'key': 'properties.masterProfile', 'type': 'ContainerServiceMasterProfile'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ContainerServiceAgentPoolProfile]'}, + 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ContainerServiceWindowsProfile'}, + 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, + 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'ContainerServiceDiagnosticsProfile'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerService, self).__init__(**kwargs) + self.provisioning_state = None + self.orchestrator_profile = kwargs.get('orchestrator_profile', None) + self.custom_profile = kwargs.get('custom_profile', None) + self.service_principal_profile = kwargs.get('service_principal_profile', None) + self.master_profile = kwargs.get('master_profile', None) + self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) + self.windows_profile = kwargs.get('windows_profile', None) + self.linux_profile = kwargs.get('linux_profile', None) + self.diagnostics_profile = kwargs.get('diagnostics_profile', None) + + +class ContainerServiceAgentPoolProfile(msrest.serialization.Model): + """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 name: Required. Unique name of the agent pool profile in the context of the subscription + and resource group. + :type name: str + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 1 to 100 (inclusive). The default value is 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.v2017_07_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 dns_prefix: DNS prefix to be used to create the FQDN for the agent pool. + :type dns_prefix: str + :ivar fqdn: FQDN for the agent pool. + :vartype fqdn: str + :param ports: Ports number array used to expose on this agent pool. The default opened ports + are different based on your choice of orchestrator. + :type ports: list[int] + :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.v2017_07_01.models.ContainerServiceStorageProfileTypes + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. + :type vnet_subnet_id: str + :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.v2017_07_01.models.OSType + """ + + _validation = { + 'name': {'required': True}, + 'count': {'maximum': 100, 'minimum': 1}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ports': {'key': 'ports', 'type': '[int]'}, + 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerServiceAgentPoolProfile, self).__init__(**kwargs) + self.name = kwargs['name'] + self.count = kwargs.get('count', 1) + self.vm_size = kwargs['vm_size'] + self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) + self.dns_prefix = kwargs.get('dns_prefix', None) + self.fqdn = None + self.ports = kwargs.get('ports', None) + self.storage_profile = kwargs.get('storage_profile', None) + self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) + self.os_type = kwargs.get('os_type', "Linux") + + +class ContainerServiceCustomProfile(msrest.serialization.Model): + """Properties to configure a custom container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator: Required. The name of the custom orchestrator to use. + :type orchestrator: str + """ + + _validation = { + 'orchestrator': {'required': True}, + } + + _attribute_map = { + 'orchestrator': {'key': 'orchestrator', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerServiceCustomProfile, self).__init__(**kwargs) + self.orchestrator = kwargs['orchestrator'] + + +class ContainerServiceDiagnosticsProfile(msrest.serialization.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.v2017_07_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['vm_diagnostics'] + + +class ContainerServiceLinuxProfile(msrest.serialization.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.v2017_07_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['admin_username'] + self.ssh = kwargs['ssh'] + + +class ContainerServiceListResult(msrest.serialization.Model): + """The response from the List Container Services operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of container services. + :type value: list[~azure.mgmt.containerservice.v2017_07_01.models.ContainerService] + :ivar next_link: The URL to get the next set of container service results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ContainerService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerServiceListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2017_07_01.models.Count + :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.v2017_07_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. + :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.v2017_07_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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['dns_prefix'] + self.vm_size = kwargs['vm_size'] + 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 ContainerServiceOrchestratorProfile(msrest.serialization.Model): + """Profile for the container service orchestrator. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator_type: Required. The orchestrator to use to manage container service cluster + resources. Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible values + include: "Kubernetes", "Swarm", "DCOS", "DockerCE", "Custom". + :type orchestrator_type: str or + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceOrchestratorTypes + :param orchestrator_version: The version of the orchestrator to use. You can specify the + major.minor.patch part of the actual version.For example, you can specify version as "1.6.11". + :type orchestrator_version: str + """ + + _validation = { + 'orchestrator_type': {'required': True}, + } + + _attribute_map = { + 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerServiceOrchestratorProfile, self).__init__(**kwargs) + self.orchestrator_type = kwargs['orchestrator_type'] + self.orchestrator_version = kwargs.get('orchestrator_version', None) + + +class ContainerServicePrincipalProfile(msrest.serialization.Model): + """Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified. + + 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 + :param key_vault_secret_ref: Reference to a secret stored in Azure Key Vault. + :type key_vault_secret_ref: ~azure.mgmt.containerservice.v2017_07_01.models.KeyVaultSecretRef + """ + + _validation = { + 'client_id': {'required': True}, + } + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'secret': {'key': 'secret', 'type': 'str'}, + 'key_vault_secret_ref': {'key': 'keyVaultSecretRef', 'type': 'KeyVaultSecretRef'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = kwargs['client_id'] + self.secret = kwargs.get('secret', None) + self.key_vault_secret_ref = kwargs.get('key_vault_secret_ref', None) + + +class ContainerServiceSshConfiguration(msrest.serialization.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.v2017_07_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['public_keys'] + + +class ContainerServiceSshPublicKey(msrest.serialization.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['key_data'] + + +class ContainerServiceVMDiagnostics(msrest.serialization.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['enabled'] + self.storage_uri = None + + +class ContainerServiceWindowsProfile(msrest.serialization.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: Required. 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': {'required': True, '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(ContainerServiceWindowsProfile, self).__init__(**kwargs) + self.admin_username = kwargs['admin_username'] + self.admin_password = kwargs['admin_password'] + + +class KeyVaultSecretRef(msrest.serialization.Model): + """Reference to a secret stored in Azure Key Vault. + + All required parameters must be populated in order to send to Azure. + + :param vault_id: Required. Key vault identifier. + :type vault_id: str + :param secret_name: Required. The secret name. + :type secret_name: str + :param version: The secret version. + :type version: str + """ + + _validation = { + 'vault_id': {'required': True}, + 'secret_name': {'required': True}, + } + + _attribute_map = { + 'vault_id': {'key': 'vaultID', 'type': 'str'}, + 'secret_name': {'key': 'secretName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultSecretRef, self).__init__(**kwargs) + self.vault_id = kwargs['vault_id'] + self.secret_name = kwargs['secret_name'] + self.version = kwargs.get('version', None) + + +class OrchestratorProfile(msrest.serialization.Model): + """Contains information about orchestrator. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator_type: Orchestrator type. + :type orchestrator_type: str + :param orchestrator_version: Required. Orchestrator version (major, minor, patch). + :type orchestrator_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _validation = { + 'orchestrator_version': {'required': True}, + } + + _attribute_map = { + 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(OrchestratorProfile, self).__init__(**kwargs) + self.orchestrator_type = kwargs.get('orchestrator_type', None) + self.orchestrator_version = kwargs['orchestrator_version'] + self.is_preview = kwargs.get('is_preview', None) + + +class OrchestratorVersionProfile(msrest.serialization.Model): + """The profile of an orchestrator and its available versions. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator_type: Required. Orchestrator type. + :type orchestrator_type: str + :param orchestrator_version: Required. Orchestrator version (major, minor, patch). + :type orchestrator_version: str + :param default: Installed by default if version is not specified. + :type default: bool + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + :param upgrades: The list of available upgrade versions. + :type upgrades: list[~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorProfile] + """ + + _validation = { + 'orchestrator_type': {'required': True}, + 'orchestrator_version': {'required': True}, + } + + _attribute_map = { + 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'default': {'key': 'default', 'type': 'bool'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + 'upgrades': {'key': 'upgrades', 'type': '[OrchestratorProfile]'}, + } + + def __init__( + self, + **kwargs + ): + super(OrchestratorVersionProfile, self).__init__(**kwargs) + self.orchestrator_type = kwargs['orchestrator_type'] + self.orchestrator_version = kwargs['orchestrator_version'] + self.default = kwargs.get('default', None) + self.is_preview = kwargs.get('is_preview', None) + self.upgrades = kwargs.get('upgrades', None) + + +class OrchestratorVersionProfileListResult(msrest.serialization.Model): + """The list of versions for supported orchestrators. + + Variables are only populated 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 orchestrator version profile list result. + :vartype id: str + :ivar name: Name of the orchestrator version profile list result. + :vartype name: str + :ivar type: Type of the orchestrator version profile list result. + :vartype type: str + :param orchestrators: Required. List of orchestrator version profiles. + :type orchestrators: + list[~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorVersionProfile] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'orchestrators': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'orchestrators': {'key': 'properties.orchestrators', 'type': '[OrchestratorVersionProfile]'}, + } + + def __init__( + self, + **kwargs + ): + super(OrchestratorVersionProfileListResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.orchestrators = kwargs['orchestrators'] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models_py3.py new file mode 100755 index 00000000000..ee4699aca38 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models_py3.py @@ -0,0 +1,881 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 + +import msrest.serialization + +from ._container_service_client_enums import * + + +class Resource(msrest.serialization.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: 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'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + location: str, + 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 ContainerService(Resource): + """Container service. + + Variables are only populated 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] + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param orchestrator_profile: Profile for the container service orchestrator. + :type orchestrator_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceOrchestratorProfile + :param custom_profile: Properties to configure a custom container service cluster. + :type custom_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceCustomProfile + :param service_principal_profile: Information about a service principal identity for the + cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be + specified. + :type service_principal_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServicePrincipalProfile + :param master_profile: Profile for the container service master. + :type master_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceMasterProfile + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceAgentPoolProfile] + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceWindowsProfile + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceLinuxProfile + :param diagnostics_profile: Profile for diagnostics in the container service cluster. + :type diagnostics_profile: + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceDiagnosticsProfile + """ + + _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}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'orchestrator_profile': {'key': 'properties.orchestratorProfile', 'type': 'ContainerServiceOrchestratorProfile'}, + 'custom_profile': {'key': 'properties.customProfile', 'type': 'ContainerServiceCustomProfile'}, + 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ContainerServicePrincipalProfile'}, + 'master_profile': {'key': 'properties.masterProfile', 'type': 'ContainerServiceMasterProfile'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ContainerServiceAgentPoolProfile]'}, + 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ContainerServiceWindowsProfile'}, + 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, + 'diagnostics_profile': {'key': 'properties.diagnosticsProfile', 'type': 'ContainerServiceDiagnosticsProfile'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + orchestrator_profile: Optional["ContainerServiceOrchestratorProfile"] = None, + custom_profile: Optional["ContainerServiceCustomProfile"] = None, + service_principal_profile: Optional["ContainerServicePrincipalProfile"] = None, + master_profile: Optional["ContainerServiceMasterProfile"] = None, + agent_pool_profiles: Optional[List["ContainerServiceAgentPoolProfile"]] = None, + windows_profile: Optional["ContainerServiceWindowsProfile"] = None, + linux_profile: Optional["ContainerServiceLinuxProfile"] = None, + diagnostics_profile: Optional["ContainerServiceDiagnosticsProfile"] = None, + **kwargs + ): + super(ContainerService, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.orchestrator_profile = orchestrator_profile + self.custom_profile = custom_profile + self.service_principal_profile = service_principal_profile + self.master_profile = master_profile + self.agent_pool_profiles = agent_pool_profiles + self.windows_profile = windows_profile + self.linux_profile = linux_profile + self.diagnostics_profile = diagnostics_profile + + +class ContainerServiceAgentPoolProfile(msrest.serialization.Model): + """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 name: Required. Unique name of the agent pool profile in the context of the subscription + and resource group. + :type name: str + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 1 to 100 (inclusive). The default value is 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.v2017_07_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 dns_prefix: DNS prefix to be used to create the FQDN for the agent pool. + :type dns_prefix: str + :ivar fqdn: FQDN for the agent pool. + :vartype fqdn: str + :param ports: Ports number array used to expose on this agent pool. The default opened ports + are different based on your choice of orchestrator. + :type ports: list[int] + :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.v2017_07_01.models.ContainerServiceStorageProfileTypes + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. + :type vnet_subnet_id: str + :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.v2017_07_01.models.OSType + """ + + _validation = { + 'name': {'required': True}, + 'count': {'maximum': 100, 'minimum': 1}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ports': {'key': 'ports', 'type': '[int]'}, + 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + vm_size: Union[str, "ContainerServiceVMSizeTypes"], + count: Optional[int] = 1, + os_disk_size_gb: Optional[int] = None, + dns_prefix: Optional[str] = None, + ports: Optional[List[int]] = None, + storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, + vnet_subnet_id: Optional[str] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + **kwargs + ): + super(ContainerServiceAgentPoolProfile, self).__init__(**kwargs) + self.name = name + self.count = count + self.vm_size = vm_size + self.os_disk_size_gb = os_disk_size_gb + self.dns_prefix = dns_prefix + self.fqdn = None + self.ports = ports + self.storage_profile = storage_profile + self.vnet_subnet_id = vnet_subnet_id + self.os_type = os_type + + +class ContainerServiceCustomProfile(msrest.serialization.Model): + """Properties to configure a custom container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator: Required. The name of the custom orchestrator to use. + :type orchestrator: str + """ + + _validation = { + 'orchestrator': {'required': True}, + } + + _attribute_map = { + 'orchestrator': {'key': 'orchestrator', 'type': 'str'}, + } + + def __init__( + self, + *, + orchestrator: str, + **kwargs + ): + super(ContainerServiceCustomProfile, self).__init__(**kwargs) + self.orchestrator = orchestrator + + +class ContainerServiceDiagnosticsProfile(msrest.serialization.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.v2017_07_01.models.ContainerServiceVMDiagnostics + """ + + _validation = { + 'vm_diagnostics': {'required': True}, + } + + _attribute_map = { + 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, + } + + def __init__( + self, + *, + vm_diagnostics: "ContainerServiceVMDiagnostics", + **kwargs + ): + super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) + self.vm_diagnostics = vm_diagnostics + + +class ContainerServiceLinuxProfile(msrest.serialization.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.v2017_07_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: "ContainerServiceSshConfiguration", + **kwargs + ): + super(ContainerServiceLinuxProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.ssh = ssh + + +class ContainerServiceListResult(msrest.serialization.Model): + """The response from the List Container Services operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of container services. + :type value: list[~azure.mgmt.containerservice.v2017_07_01.models.ContainerService] + :ivar next_link: The URL to get the next set of container service results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ContainerService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ContainerService"]] = None, + **kwargs + ): + super(ContainerServiceListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2017_07_01.models.Count + :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.v2017_07_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. + :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.v2017_07_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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: Union[str, "ContainerServiceVMSizeTypes"], + count: Optional[Union[int, "Count"]] = "1", + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + first_consecutive_static_ip: Optional[str] = "10.240.255.5", + storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, + **kwargs + ): + 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 ContainerServiceOrchestratorProfile(msrest.serialization.Model): + """Profile for the container service orchestrator. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator_type: Required. The orchestrator to use to manage container service cluster + resources. Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible values + include: "Kubernetes", "Swarm", "DCOS", "DockerCE", "Custom". + :type orchestrator_type: str or + ~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceOrchestratorTypes + :param orchestrator_version: The version of the orchestrator to use. You can specify the + major.minor.patch part of the actual version.For example, you can specify version as "1.6.11". + :type orchestrator_version: str + """ + + _validation = { + 'orchestrator_type': {'required': True}, + } + + _attribute_map = { + 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + orchestrator_type: Union[str, "ContainerServiceOrchestratorTypes"], + orchestrator_version: Optional[str] = None, + **kwargs + ): + super(ContainerServiceOrchestratorProfile, self).__init__(**kwargs) + self.orchestrator_type = orchestrator_type + self.orchestrator_version = orchestrator_version + + +class ContainerServicePrincipalProfile(msrest.serialization.Model): + """Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified. + + 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 + :param key_vault_secret_ref: Reference to a secret stored in Azure Key Vault. + :type key_vault_secret_ref: ~azure.mgmt.containerservice.v2017_07_01.models.KeyVaultSecretRef + """ + + _validation = { + 'client_id': {'required': True}, + } + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'secret': {'key': 'secret', 'type': 'str'}, + 'key_vault_secret_ref': {'key': 'keyVaultSecretRef', 'type': 'KeyVaultSecretRef'}, + } + + def __init__( + self, + *, + client_id: str, + secret: Optional[str] = None, + key_vault_secret_ref: Optional["KeyVaultSecretRef"] = None, + **kwargs + ): + super(ContainerServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = client_id + self.secret = secret + self.key_vault_secret_ref = key_vault_secret_ref + + +class ContainerServiceSshConfiguration(msrest.serialization.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.v2017_07_01.models.ContainerServiceSshPublicKey] + """ + + _validation = { + 'public_keys': {'required': True}, + } + + _attribute_map = { + 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, + } + + def __init__( + self, + *, + public_keys: List["ContainerServiceSshPublicKey"], + **kwargs + ): + super(ContainerServiceSshConfiguration, self).__init__(**kwargs) + self.public_keys = public_keys + + +class ContainerServiceSshPublicKey(msrest.serialization.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 + ): + super(ContainerServiceSshPublicKey, self).__init__(**kwargs) + self.key_data = key_data + + +class ContainerServiceVMDiagnostics(msrest.serialization.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 + ): + super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) + self.enabled = enabled + self.storage_uri = None + + +class ContainerServiceWindowsProfile(msrest.serialization.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: Required. 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': {'required': True, '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, + **kwargs + ): + super(ContainerServiceWindowsProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.admin_password = admin_password + + +class KeyVaultSecretRef(msrest.serialization.Model): + """Reference to a secret stored in Azure Key Vault. + + All required parameters must be populated in order to send to Azure. + + :param vault_id: Required. Key vault identifier. + :type vault_id: str + :param secret_name: Required. The secret name. + :type secret_name: str + :param version: The secret version. + :type version: str + """ + + _validation = { + 'vault_id': {'required': True}, + 'secret_name': {'required': True}, + } + + _attribute_map = { + 'vault_id': {'key': 'vaultID', 'type': 'str'}, + 'secret_name': {'key': 'secretName', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + vault_id: str, + secret_name: str, + version: Optional[str] = None, + **kwargs + ): + super(KeyVaultSecretRef, self).__init__(**kwargs) + self.vault_id = vault_id + self.secret_name = secret_name + self.version = version + + +class OrchestratorProfile(msrest.serialization.Model): + """Contains information about orchestrator. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator_type: Orchestrator type. + :type orchestrator_type: str + :param orchestrator_version: Required. Orchestrator version (major, minor, patch). + :type orchestrator_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _validation = { + 'orchestrator_version': {'required': True}, + } + + _attribute_map = { + 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__( + self, + *, + orchestrator_version: str, + orchestrator_type: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): + super(OrchestratorProfile, self).__init__(**kwargs) + self.orchestrator_type = orchestrator_type + self.orchestrator_version = orchestrator_version + self.is_preview = is_preview + + +class OrchestratorVersionProfile(msrest.serialization.Model): + """The profile of an orchestrator and its available versions. + + All required parameters must be populated in order to send to Azure. + + :param orchestrator_type: Required. Orchestrator type. + :type orchestrator_type: str + :param orchestrator_version: Required. Orchestrator version (major, minor, patch). + :type orchestrator_version: str + :param default: Installed by default if version is not specified. + :type default: bool + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + :param upgrades: The list of available upgrade versions. + :type upgrades: list[~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorProfile] + """ + + _validation = { + 'orchestrator_type': {'required': True}, + 'orchestrator_version': {'required': True}, + } + + _attribute_map = { + 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'default': {'key': 'default', 'type': 'bool'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + 'upgrades': {'key': 'upgrades', 'type': '[OrchestratorProfile]'}, + } + + def __init__( + self, + *, + orchestrator_type: str, + orchestrator_version: str, + default: Optional[bool] = None, + is_preview: Optional[bool] = None, + upgrades: Optional[List["OrchestratorProfile"]] = None, + **kwargs + ): + super(OrchestratorVersionProfile, self).__init__(**kwargs) + self.orchestrator_type = orchestrator_type + self.orchestrator_version = orchestrator_version + self.default = default + self.is_preview = is_preview + self.upgrades = upgrades + + +class OrchestratorVersionProfileListResult(msrest.serialization.Model): + """The list of versions for supported orchestrators. + + Variables are only populated 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 orchestrator version profile list result. + :vartype id: str + :ivar name: Name of the orchestrator version profile list result. + :vartype name: str + :ivar type: Type of the orchestrator version profile list result. + :vartype type: str + :param orchestrators: Required. List of orchestrator version profiles. + :type orchestrators: + list[~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorVersionProfile] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'orchestrators': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'orchestrators': {'key': 'properties.orchestrators', 'type': '[OrchestratorVersionProfile]'}, + } + + def __init__( + self, + *, + orchestrators: List["OrchestratorVersionProfile"], + **kwargs + ): + super(OrchestratorVersionProfileListResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.orchestrators = orchestrators diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/operations/__init__.py new file mode 100755 index 00000000000..db0e90a3a5a --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/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 ._container_services_operations import ContainerServicesOperations + +__all__ = [ + 'ContainerServicesOperations', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/operations/_container_services_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/operations/_container_services_operations.py new file mode 100755 index 00000000000..93392d039d2 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/operations/_container_services_operations.py @@ -0,0 +1,573 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 ContainerServicesOperations(object): + """ContainerServicesOperations 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.containerservice.v2017_07_01.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: (...) -> Iterable["_models.ContainerServiceListResult"] + """Gets a list of container services in the specified subscription. + + Gets a list of container services in the specified subscription. The operation returns + properties of each container service including state, orchestrator, number of masters and + agents, and FQDNs of masters and agents. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ContainerServiceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerServiceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ContainerServiceListResult', 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.ContainerService/containerServices'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + container_service_name, # type: str + parameters, # type: "_models.ContainerService" + **kwargs # type: Any + ): + # type: (...) -> "_models.ContainerService" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ContainerService') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ContainerService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ContainerService', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ContainerService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + container_service_name, # type: str + parameters, # type: "_models.ContainerService" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ContainerService"] + """Creates or updates a container service. + + Creates or updates a container service with the specified configuration of orchestrator, + masters, and agents. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param container_service_name: The name of the container service in the specified subscription + and resource group. + :type container_service_name: str + :param parameters: Parameters supplied to the Create or Update a Container Service operation. + :type parameters: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerService + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ContainerService or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2017_07_01.models.ContainerService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerService"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + container_service_name=container_service_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ContainerService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_service_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + container_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ContainerService" + """Gets the properties of the specified container service. + + Gets the properties of the specified container service in the specified subscription and + resource group. The operation returns the properties including state, orchestrator, number of + masters and agents, and FQDNs of masters and agents. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param container_service_name: The name of the container service in the specified subscription + and resource group. + :type container_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ContainerService, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2017_07_01.models.ContainerService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_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'] = self._serialize.header("accept", accept, 'str') + + 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('ContainerService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + container_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_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] + + 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.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + container_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes the specified container service. + + Deletes the specified container service in the specified subscription and resource group. The + operation does not delete other resources created as part of creating a container service, + including storage accounts, VMs, and availability sets. All the other resources created with + the container service are part of the same resource group and can be deleted individually. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param container_service_name: The name of the container service in the specified subscription + and resource group. + :type container_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :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] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + container_service_name=container_service_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerServiceName': self._serialize.url("container_service_name", container_service_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ContainerServiceListResult"] + """Gets a list of container services in the specified resource group. + + Gets a list of container services in the specified subscription and resource group. The + operation returns properties of each container service including state, orchestrator, number of + masters and agents, and FQDNs of masters and agents. + + :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: An iterator like instance of either ContainerServiceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2017_07_01.models.ContainerServiceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ContainerServiceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2017-07-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ContainerServiceListResult', 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.ContainerService/containerServices'} # type: ignore + + def list_orchestrators( + self, + location, # type: str + resource_type=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.OrchestratorVersionProfileListResult" + """Gets a list of supported orchestrators in the specified subscription. + + Gets a list of supported orchestrators in the specified subscription. The operation returns + properties of each orchestrator including version, available upgrades and whether that version + or upgrades are in preview. + + :param location: The name of a supported Azure region. + :type location: str + :param resource_type: resource type for which the list of orchestrators needs to be returned. + :type resource_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrchestratorVersionProfileListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2017_07_01.models.OrchestratorVersionProfileListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OrchestratorVersionProfileListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.list_orchestrators.metadata['url'] # type: ignore + 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') + if resource_type is not None: + query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('OrchestratorVersionProfileListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_orchestrators.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/__init__.py deleted file mode 100644 index 9854e4f7645..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_service_client import ContainerServiceClient -from .version import VERSION - -__all__ = ['ContainerServiceClient'] - -__version__ = VERSION - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/container_service_client.py deleted file mode 100644 index c10bfe67196..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/container_service_client.py +++ /dev/null @@ -1,90 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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.managed_clusters_operations import ManagedClustersOperations -from . import models - - -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) - - 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 - - -class ContainerServiceClient(SDKClient): - """The Container Service Client. - - :ivar config: Configuration for client. - :vartype config: ContainerServiceClientConfiguration - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.v2018_08_01_preview.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2018_08_01_preview.operations.ManagedClustersOperations - - :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 = '2018-08-01-preview' - 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/__init__.py deleted file mode 100644 index b130d1e5eff..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/__init__.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. -# -------------------------------------------------------------------------- - -try: - from .operation_value_py3 import OperationValue - from .resource_py3 import Resource - from .tags_object_py3 import TagsObject - from .managed_cluster_service_principal_profile_py3 import ManagedClusterServicePrincipalProfile - from .container_service_master_profile_py3 import ContainerServiceMasterProfile - from .managed_cluster_agent_pool_profile_py3 import ManagedClusterAgentPoolProfile - from .container_service_windows_profile_py3 import ContainerServiceWindowsProfile - from .container_service_ssh_public_key_py3 import ContainerServiceSshPublicKey - from .container_service_ssh_configuration_py3 import ContainerServiceSshConfiguration - from .container_service_linux_profile_py3 import ContainerServiceLinuxProfile - from .container_service_network_profile_py3 import ContainerServiceNetworkProfile - from .container_service_vm_diagnostics_py3 import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile_py3 import ContainerServiceDiagnosticsProfile - from .managed_cluster_addon_profile_py3 import ManagedClusterAddonProfile - from .managed_cluster_aad_profile_py3 import ManagedClusterAADProfile - from .managed_cluster_py3 import ManagedCluster - from .orchestrator_profile_py3 import OrchestratorProfile - from .managed_cluster_access_profile_py3 import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile_py3 import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile_py3 import ManagedClusterUpgradeProfile - from .credential_result_py3 import CredentialResult - from .credential_results_py3 import CredentialResults -except (SyntaxError, ImportError): - from .operation_value import OperationValue - from .resource import Resource - from .tags_object import TagsObject - from .managed_cluster_service_principal_profile import ManagedClusterServicePrincipalProfile - from .container_service_master_profile import ContainerServiceMasterProfile - from .managed_cluster_agent_pool_profile import ManagedClusterAgentPoolProfile - from .container_service_windows_profile import ContainerServiceWindowsProfile - from .container_service_ssh_public_key import ContainerServiceSshPublicKey - from .container_service_ssh_configuration import ContainerServiceSshConfiguration - from .container_service_linux_profile import ContainerServiceLinuxProfile - from .container_service_network_profile import ContainerServiceNetworkProfile - from .container_service_vm_diagnostics import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile import ContainerServiceDiagnosticsProfile - from .managed_cluster_addon_profile import ManagedClusterAddonProfile - from .managed_cluster_aad_profile import ManagedClusterAADProfile - from .managed_cluster import ManagedCluster - from .orchestrator_profile import OrchestratorProfile - from .managed_cluster_access_profile import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile import ManagedClusterUpgradeProfile - from .credential_result import CredentialResult - from .credential_results import CredentialResults -from .operation_value_paged import OperationValuePaged -from .managed_cluster_paged import ManagedClusterPaged -from .container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - OSType, - AgentPoolType, - NetworkPlugin, - NetworkPolicy, -) - -__all__ = [ - 'OperationValue', - 'Resource', - 'TagsObject', - 'ManagedClusterServicePrincipalProfile', - 'ContainerServiceMasterProfile', - 'ManagedClusterAgentPoolProfile', - 'ContainerServiceWindowsProfile', - 'ContainerServiceSshPublicKey', - 'ContainerServiceSshConfiguration', - 'ContainerServiceLinuxProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceVMDiagnostics', - 'ContainerServiceDiagnosticsProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAADProfile', - 'ManagedCluster', - 'OrchestratorProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterUpgradeProfile', - 'CredentialResult', - 'CredentialResults', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', - 'NetworkPlugin', - 'NetworkPolicy', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_client_enums.py deleted file mode 100644 index f6d7bf60bf4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_client_enums.py +++ /dev/null @@ -1,219 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 NetworkPlugin(str, Enum): - - azure = "azure" - kubenet = "kubenet" - - -class NetworkPolicy(str, Enum): - - calico = "calico" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile.py deleted file mode 100644 index f972906b79f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile.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 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.v2018_08_01_preview.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile_py3.py deleted file mode 100644 index 6684912319a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_diagnostics_profile_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 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.v2018_08_01_preview.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile.py deleted file mode 100644 index 8143d72a672..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile.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 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.v2018_08_01_preview.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile_py3.py deleted file mode 100644 index e1fc61c8914..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_linux_profile_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 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.v2018_08_01_preview.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile.py deleted file mode 100644 index 927a55304d0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.v2018_08_01_preview.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.v2018_08_01_preview.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile_py3.py deleted file mode 100644 index 215e111082b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_master_profile_py3.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.v2018_08_01_preview.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.v2018_08_01_preview.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile.py deleted file mode 100644 index d1be0f459ac..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile.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 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.v2018_08_01_preview.models.NetworkPlugin - :param network_policy: Network policy used for building Kubernetes - network. Possible values include: 'calico' - :type network_policy: str or - ~azure.mgmt.containerservice.v2018_08_01_preview.models.NetworkPolicy - :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 - """ - - _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'}, - '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'}, - } - - 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.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") diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile_py3.py deleted file mode 100644 index e00659a9df5..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_network_profile_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 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.v2018_08_01_preview.models.NetworkPlugin - :param network_policy: Network policy used for building Kubernetes - network. Possible values include: 'calico' - :type network_policy: str or - ~azure.mgmt.containerservice.v2018_08_01_preview.models.NetworkPolicy - :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 - """ - - _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'}, - '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'}, - } - - def __init__(self, *, network_plugin="kubenet", network_policy=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", **kwargs) -> None: - super(ContainerServiceNetworkProfile, self).__init__(**kwargs) - self.network_plugin = network_plugin - self.network_policy = network_policy - self.pod_cidr = pod_cidr - self.service_cidr = service_cidr - self.dns_service_ip = dns_service_ip - self.docker_bridge_cidr = docker_bridge_cidr diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_configuration.py deleted file mode 100644 index 936c49ab349..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_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 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.v2018_08_01_preview.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_configuration_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_configuration_py3.py deleted file mode 100644 index 86e22820dbf..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_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 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.v2018_08_01_preview.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key.py deleted file mode 100644 index da7609ba222..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key_py3.py deleted file mode 100644 index 8e8c10544ef..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_ssh_public_key_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics.py deleted file mode 100644 index f1804c66b68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics_py3.py deleted file mode 100644 index a716fc26954..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_vm_diagnostics_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile.py deleted file mode 100644 index 463253c6d6a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile.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 ContainerServiceWindowsProfile(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: Required. 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': {'required': True, '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(ContainerServiceWindowsProfile, self).__init__(**kwargs) - self.admin_username = kwargs.get('admin_username', None) - self.admin_password = kwargs.get('admin_password', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile_py3.py deleted file mode 100644 index 667c96367aa..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/container_service_windows_profile_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 ContainerServiceWindowsProfile(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: Required. 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': {'required': True, '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, **kwargs) -> None: - super(ContainerServiceWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_result.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_result.py deleted file mode 100644 index 89e748b481b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_result_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_result_py3.py deleted file mode 100644 index 6f387834bf0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results.py deleted file mode 100644 index 2d6869b53be..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results.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 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.v2018_08_01_preview.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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results_py3.py deleted file mode 100644 index a1d0853e0de..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/credential_results_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 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.v2018_08_01_preview.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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster.py deleted file mode 100644 index 8864f98b7a6..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster.py +++ /dev/null @@ -1,119 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 - :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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ContainerServiceLinuxProfile - :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.v2018_08_01_preview.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedClusterAddonProfile] - :ivar node_resource_group: Name of the resource group containing agent - pool nodes. - :vartype node_resource_group: str - :param enable_rbac: Whether to enable Kubernetes Role-Based Access - Control. - :type enable_rbac: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedClusterAADProfile - :param api_server_authorized_ip_ranges: Authorized IP Ranges to kubernetes - API server. - :type api_server_authorized_ip_ranges: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'node_resource_group': {'readonly': True}, - } - - _attribute_map = { - 'id': {'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'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - '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'}, - 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, - 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, - 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ManagedCluster, self).__init__(**kwargs) - self.provisioning_state = None - self.kubernetes_version = kwargs.get('kubernetes_version', None) - self.dns_prefix = kwargs.get('dns_prefix', None) - self.fqdn = None - self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) - self.linux_profile = kwargs.get('linux_profile', None) - self.service_principal_profile = kwargs.get('service_principal_profile', None) - self.addon_profiles = kwargs.get('addon_profiles', None) - self.node_resource_group = None - self.enable_rbac = kwargs.get('enable_rbac', None) - self.network_profile = kwargs.get('network_profile', None) - self.aad_profile = kwargs.get('aad_profile', None) - self.api_server_authorized_ip_ranges = kwargs.get('api_server_authorized_ip_ranges', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile.py deleted file mode 100644 index 6a48639de34..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile.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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile_py3.py deleted file mode 100644 index 76289f3ddc3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_aad_profile_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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile.py deleted file mode 100644 index 6dc2a4ec23b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile.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 .resource import Resource - - -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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile_py3.py deleted file mode 100644 index 0d3fb998e97..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_access_profile_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 .resource_py3 import Resource - - -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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile.py deleted file mode 100644 index 796f9246a68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile.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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.config = kwargs.get('config', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile_py3.py deleted file mode 100644 index 71e05cd14c0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_addon_profile_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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile.py deleted file mode 100644 index de4cb740d6c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile.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. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedClusterAgentPoolProfile(Model): - """Profile for the container service agent pool. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - :param count: Required. Number of agents (VMs) to host docker containers. - Allowed values must be in the range of 1 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.v2018_08_01_preview.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.v2018_08_01_preview.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.v2018_08_01_preview.models.AgentPoolType - """ - - _validation = { - 'name': {'required': True}, - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - 'vm_size': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - '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'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile_py3.py deleted file mode 100644 index 46a260aa73c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_agent_pool_profile_py3.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. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedClusterAgentPoolProfile(Model): - """Profile for the container service agent pool. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - :param count: Required. Number of agents (VMs) to host docker containers. - Allowed values must be in the range of 1 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.v2018_08_01_preview.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.v2018_08_01_preview.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.v2018_08_01_preview.models.AgentPoolType - """ - - _validation = { - 'name': {'required': True}, - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - 'vm_size': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - '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'}, - } - - def __init__(self, *, name: str, 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, **kwargs) -> None: - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = name - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_paged.py deleted file mode 100644 index 3e57bbc42ec..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile.py deleted file mode 100644 index 988132b10b4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile.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 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.v2018_08_01_preview.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: list[str] - """ - - _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': '[str]'}, - } - - 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile_py3.py deleted file mode 100644 index 9eae9ae9fed..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_pool_upgrade_profile_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 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.v2018_08_01_preview.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: list[str] - """ - - _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': '[str]'}, - } - - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_py3.py deleted file mode 100644 index 04d1589d118..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_py3.py +++ /dev/null @@ -1,119 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 - :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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ContainerServiceLinuxProfile - :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.v2018_08_01_preview.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedClusterAddonProfile] - :ivar node_resource_group: Name of the resource group containing agent - pool nodes. - :vartype node_resource_group: str - :param enable_rbac: Whether to enable Kubernetes Role-Based Access - Control. - :type enable_rbac: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedClusterAADProfile - :param api_server_authorized_ip_ranges: Authorized IP Ranges to kubernetes - API server. - :type api_server_authorized_ip_ranges: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'node_resource_group': {'readonly': True}, - } - - _attribute_map = { - 'id': {'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'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - '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'}, - 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, - 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, - 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, - } - - def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dns_prefix: str=None, agent_pool_profiles=None, linux_profile=None, service_principal_profile=None, addon_profiles=None, enable_rbac: bool=None, network_profile=None, aad_profile=None, api_server_authorized_ip_ranges=None, **kwargs) -> None: - super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.kubernetes_version = kubernetes_version - self.dns_prefix = dns_prefix - self.fqdn = None - self.agent_pool_profiles = agent_pool_profiles - self.linux_profile = linux_profile - self.service_principal_profile = service_principal_profile - self.addon_profiles = addon_profiles - self.node_resource_group = None - self.enable_rbac = enable_rbac - self.network_profile = network_profile - self.aad_profile = aad_profile - self.api_server_authorized_ip_ranges = api_server_authorized_ip_ranges diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile.py deleted file mode 100644 index 4610cedac54..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile_py3.py deleted file mode 100644 index 6ea9e92dc40..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_service_principal_profile_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile.py deleted file mode 100644 index b4a98f4cd2a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile.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 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.v2018_08_01_preview.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2018_08_01_preview.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile_py3.py deleted file mode 100644 index bed444fa378..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/managed_cluster_upgrade_profile_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 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.v2018_08_01_preview.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2018_08_01_preview.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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value.py deleted file mode 100644 index 911f9fc8088..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_paged.py deleted file mode 100644 index 47310584f24..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_py3.py deleted file mode 100644 index 55bceaa7543..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/operation_value_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile.py deleted file mode 100644 index d5560a1f879..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile.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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = kwargs.get('orchestrator_type', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile_py3.py deleted file mode 100644 index f16e84a1fe3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/orchestrator_profile_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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, *, orchestrator_type: str, orchestrator_version: str, **kwargs) -> None: - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = orchestrator_type - self.orchestrator_version = orchestrator_version diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource.py deleted file mode 100644 index 5dd7d481c68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource_py3.py deleted file mode 100644 index 2f3702caf60..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/resource_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/tags_object.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/tags_object.py deleted file mode 100644 index 2966ec220f9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/tags_object_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/models/tags_object_py3.py deleted file mode 100644 index 8be0bb4a15d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/__init__.py deleted file mode 100644 index f517d730f21..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 - -__all__ = [ - 'Operations', - 'ManagedClustersOperations', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/managed_clusters_operations.py deleted file mode 100644 index d85b2f9f178..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/managed_clusters_operations.py +++ /dev/null @@ -1,988 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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. - - :param client: Client for service requests. - :param config: 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-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01-preview" - - 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.v2018_08_01_preview.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedCluster] - :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.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - 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.v2018_08_01_preview.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2018_08_01_preview.models.ManagedCluster] - :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 = { - '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) - response = self._client.send(request, stream=False, **operation_config) - - if response.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.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(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.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.v2018_08_01_preview.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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = 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. - - :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.v2018_08_01_preview.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'), - '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.v2018_08_01_preview.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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not 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.v2018_08_01_preview.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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not 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 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.v2018_08_01_preview.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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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.v2018_08_01_preview.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.v2018_08_01_preview.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2018_08_01_preview.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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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.v2018_08_01_preview.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2018_08_01_preview.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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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.v2018_08_01_preview.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'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/operations/operations.py deleted file mode 100644 index 513e518a911..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/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-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2018-08-01-preview" - - 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.v2018_08_01_preview.models.OperationValuePaged[~azure.mgmt.containerservice.v2018_08_01_preview.models.OperationValue] - :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.OperationValuePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/__init__.py deleted file mode 100644 index 9854e4f7645..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .container_service_client import ContainerServiceClient -from .version import VERSION - -__all__ = ['ContainerServiceClient'] - -__version__ = VERSION - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/container_service_client.py deleted file mode 100644 index 1560293fc87..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/container_service_client.py +++ /dev/null @@ -1,95 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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.managed_clusters_operations import ManagedClustersOperations -from .operations.agent_pools_operations import AgentPoolsOperations -from . import models - - -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) - - 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 - - -class ContainerServiceClient(SDKClient): - """The Container Service Client. - - :ivar config: Configuration for client. - :vartype config: ContainerServiceClientConfiguration - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.v2019_04_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2019_04_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2019_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 = '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.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/v2019_02_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/__init__.py deleted file mode 100644 index 39f5b2a8516..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/__init__.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. -# -------------------------------------------------------------------------- - -try: - from .operation_value_py3 import OperationValue - from .resource_py3 import Resource - from .sub_resource_py3 import SubResource - from .tags_object_py3 import TagsObject - from .managed_cluster_service_principal_profile_py3 import ManagedClusterServicePrincipalProfile - from .container_service_master_profile_py3 import ContainerServiceMasterProfile - from .managed_cluster_agent_pool_profile_properties_py3 import ManagedClusterAgentPoolProfileProperties - from .managed_cluster_agent_pool_profile_py3 import ManagedClusterAgentPoolProfile - from .agent_pool_py3 import AgentPool - from .container_service_windows_profile_py3 import ContainerServiceWindowsProfile - from .container_service_ssh_public_key_py3 import ContainerServiceSshPublicKey - from .container_service_ssh_configuration_py3 import ContainerServiceSshConfiguration - from .container_service_linux_profile_py3 import ContainerServiceLinuxProfile - from .container_service_network_profile_py3 import ContainerServiceNetworkProfile - from .container_service_vm_diagnostics_py3 import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile_py3 import ContainerServiceDiagnosticsProfile - from .managed_cluster_addon_profile_py3 import ManagedClusterAddonProfile - from .managed_cluster_aad_profile_py3 import ManagedClusterAADProfile - from .managed_cluster_py3 import ManagedCluster - from .orchestrator_profile_py3 import OrchestratorProfile - from .managed_cluster_access_profile_py3 import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile_py3 import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile_py3 import ManagedClusterUpgradeProfile - from .credential_result_py3 import CredentialResult - from .credential_results_py3 import CredentialResults -except (SyntaxError, ImportError): - from .operation_value import OperationValue - from .resource import Resource - from .sub_resource import SubResource - from .tags_object import TagsObject - from .managed_cluster_service_principal_profile import ManagedClusterServicePrincipalProfile - from .container_service_master_profile import ContainerServiceMasterProfile - from .managed_cluster_agent_pool_profile_properties import ManagedClusterAgentPoolProfileProperties - from .managed_cluster_agent_pool_profile import ManagedClusterAgentPoolProfile - from .agent_pool import AgentPool - from .container_service_windows_profile import ContainerServiceWindowsProfile - from .container_service_ssh_public_key import ContainerServiceSshPublicKey - from .container_service_ssh_configuration import ContainerServiceSshConfiguration - from .container_service_linux_profile import ContainerServiceLinuxProfile - from .container_service_network_profile import ContainerServiceNetworkProfile - from .container_service_vm_diagnostics import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile import ContainerServiceDiagnosticsProfile - from .managed_cluster_addon_profile import ManagedClusterAddonProfile - from .managed_cluster_aad_profile import ManagedClusterAADProfile - from .managed_cluster import ManagedCluster - from .orchestrator_profile import OrchestratorProfile - from .managed_cluster_access_profile import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile import ManagedClusterUpgradeProfile - from .credential_result import CredentialResult - from .credential_results import CredentialResults -from .operation_value_paged import OperationValuePaged -from .managed_cluster_paged import ManagedClusterPaged -from .agent_pool_paged import AgentPoolPaged -from .container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - OSType, - AgentPoolType, - NetworkPlugin, - NetworkPolicy, -) - -__all__ = [ - 'OperationValue', - 'Resource', - 'SubResource', - 'TagsObject', - 'ManagedClusterServicePrincipalProfile', - 'ContainerServiceMasterProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAgentPoolProfile', - 'AgentPool', - 'ContainerServiceWindowsProfile', - 'ContainerServiceSshPublicKey', - 'ContainerServiceSshConfiguration', - 'ContainerServiceLinuxProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceVMDiagnostics', - 'ContainerServiceDiagnosticsProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAADProfile', - 'ManagedCluster', - 'OrchestratorProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterUpgradeProfile', - 'CredentialResult', - 'CredentialResults', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', - 'NetworkPlugin', - 'NetworkPolicy', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool.py deleted file mode 100644 index 1f69e099917..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool.py +++ /dev/null @@ -1,164 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 1 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.v2019_02_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.v2019_02_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.v2019_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'properties.availabilityZones', '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.orchestrator_version = kwargs.get('orchestrator_version', None) - self.provisioning_state = None - self.availability_zones = kwargs.get('availability_zones', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool_paged.py deleted file mode 100644 index 735676ae6cd..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_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 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/v2019_02_01/models/agent_pool_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool_py3.py deleted file mode 100644 index 02b032048bd..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/agent_pool_py3.py +++ /dev/null @@ -1,164 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 1 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.v2019_02_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.v2019_02_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.v2019_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'properties.availabilityZones', '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, orchestrator_version: str=None, availability_zones=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.orchestrator_version = orchestrator_version - self.provisioning_state = None - self.availability_zones = availability_zones diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_client_enums.py deleted file mode 100644 index f317ac627e8..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_client_enums.py +++ /dev/null @@ -1,220 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 NetworkPlugin(str, Enum): - - azure = "azure" - kubenet = "kubenet" - - -class NetworkPolicy(str, Enum): - - calico = "calico" - azure = "azure" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile.py deleted file mode 100644 index 37bbead4059..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile.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 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.v2019_02_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile_py3.py deleted file mode 100644 index 4ea399e1f99..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_diagnostics_profile_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 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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile.py deleted file mode 100644 index 012838eb379..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile.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 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.v2019_02_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile_py3.py deleted file mode 100644 index 26a9774253c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_linux_profile_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 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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile.py deleted file mode 100644 index ea2d38fc6c0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.v2019_02_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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile_py3.py deleted file mode 100644 index d8171032206..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_master_profile_py3.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.v2019_02_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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile.py deleted file mode 100644 index 76b392f717a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile.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 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.v2019_02_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.v2019_02_01.models.NetworkPolicy - :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 - """ - - _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'}, - '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'}, - } - - 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.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") diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile_py3.py deleted file mode 100644 index be9c2df79d8..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_network_profile_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 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.v2019_02_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.v2019_02_01.models.NetworkPolicy - :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 - """ - - _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'}, - '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'}, - } - - def __init__(self, *, network_plugin="kubenet", network_policy=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", **kwargs) -> None: - super(ContainerServiceNetworkProfile, self).__init__(**kwargs) - self.network_plugin = network_plugin - self.network_policy = network_policy - self.pod_cidr = pod_cidr - self.service_cidr = service_cidr - self.dns_service_ip = dns_service_ip - self.docker_bridge_cidr = docker_bridge_cidr diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_configuration.py deleted file mode 100644 index 540b259c4df..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_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 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.v2019_02_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_configuration_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_configuration_py3.py deleted file mode 100644 index 4e33bee7e14..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_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 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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key.py deleted file mode 100644 index da7609ba222..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key_py3.py deleted file mode 100644 index 8e8c10544ef..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_ssh_public_key_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics.py deleted file mode 100644 index f1804c66b68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics_py3.py deleted file mode 100644 index a716fc26954..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_vm_diagnostics_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile.py deleted file mode 100644 index 463253c6d6a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile.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 ContainerServiceWindowsProfile(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: Required. 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': {'required': True, '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(ContainerServiceWindowsProfile, self).__init__(**kwargs) - self.admin_username = kwargs.get('admin_username', None) - self.admin_password = kwargs.get('admin_password', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile_py3.py deleted file mode 100644 index 667c96367aa..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/container_service_windows_profile_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 ContainerServiceWindowsProfile(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: Required. 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': {'required': True, '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, **kwargs) -> None: - super(ContainerServiceWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_result.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_result.py deleted file mode 100644 index 89e748b481b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_result_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_result_py3.py deleted file mode 100644 index 6f387834bf0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results.py deleted file mode 100644 index 274a4df3b8f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results.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 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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results_py3.py deleted file mode 100644 index 7cab1b12c0d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/credential_results_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 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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster.py deleted file mode 100644 index c12c487ee22..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster.py +++ /dev/null @@ -1,124 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 - :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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2019_02_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_02_01.models.ContainerServiceLinuxProfile - :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.v2019_02_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_02_01.models.ManagedClusterAddonProfile] - :ivar node_resource_group: Name of the resource group containing agent - pool nodes. - :vartype 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.v2019_02_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_02_01.models.ManagedClusterAADProfile - :param api_server_authorized_ip_ranges: (PREVIEW) Authorized IP Ranges to - kubernetes API server. - :type api_server_authorized_ip_ranges: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'node_resource_group': {'readonly': True}, - } - - _attribute_map = { - 'id': {'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'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - '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'}, - 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ManagedCluster, self).__init__(**kwargs) - self.provisioning_state = None - self.kubernetes_version = kwargs.get('kubernetes_version', None) - self.dns_prefix = kwargs.get('dns_prefix', None) - self.fqdn = None - self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) - self.linux_profile = kwargs.get('linux_profile', None) - self.service_principal_profile = kwargs.get('service_principal_profile', None) - self.addon_profiles = kwargs.get('addon_profiles', None) - self.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.api_server_authorized_ip_ranges = kwargs.get('api_server_authorized_ip_ranges', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile.py deleted file mode 100644 index 6a48639de34..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile.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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile_py3.py deleted file mode 100644 index 76289f3ddc3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_aad_profile_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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile.py deleted file mode 100644 index 6dc2a4ec23b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile.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 .resource import Resource - - -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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile_py3.py deleted file mode 100644 index 0d3fb998e97..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_access_profile_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 .resource_py3 import Resource - - -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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile.py deleted file mode 100644 index 796f9246a68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile.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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.config = kwargs.get('config', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile_py3.py deleted file mode 100644 index 71e05cd14c0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_addon_profile_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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile.py deleted file mode 100644 index e4c698b89b9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile.py +++ /dev/null @@ -1,144 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .managed_cluster_agent_pool_profile_properties import ManagedClusterAgentPoolProfileProperties - - -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 1 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.v2019_02_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.v2019_02_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.v2019_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: 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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs.get('name', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties.py deleted file mode 100644 index 89b53b327f3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties.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.serialization import Model - - -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 1 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.v2019_02_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.v2019_02_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.v2019_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', '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.orchestrator_version = kwargs.get('orchestrator_version', None) - self.provisioning_state = None - self.availability_zones = kwargs.get('availability_zones', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties_py3.py deleted file mode 100644 index 62998e7567c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_properties_py3.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.serialization import Model - - -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 1 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.v2019_02_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.v2019_02_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.v2019_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', '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, orchestrator_version: str=None, availability_zones=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.orchestrator_version = orchestrator_version - self.provisioning_state = None - self.availability_zones = availability_zones diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_py3.py deleted file mode 100644 index ce5c18a44c4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_agent_pool_profile_py3.py +++ /dev/null @@ -1,144 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .managed_cluster_agent_pool_profile_properties_py3 import ManagedClusterAgentPoolProfileProperties - - -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 1 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.v2019_02_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.v2019_02_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.v2019_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: 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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', '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, orchestrator_version: str=None, availability_zones=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, orchestrator_version=orchestrator_version, availability_zones=availability_zones, **kwargs) - self.name = name diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_paged.py deleted file mode 100644 index e5101f5ce01..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile.py deleted file mode 100644 index 2bbb3b98c17..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile.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 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.v2019_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: list[str] - """ - - _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': '[str]'}, - } - - 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile_py3.py deleted file mode 100644 index a15ac63f436..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_pool_upgrade_profile_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 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.v2019_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: list[str] - """ - - _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': '[str]'}, - } - - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_py3.py deleted file mode 100644 index 1c8a3919a80..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_py3.py +++ /dev/null @@ -1,124 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 - :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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2019_02_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_02_01.models.ContainerServiceLinuxProfile - :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.v2019_02_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_02_01.models.ManagedClusterAddonProfile] - :ivar node_resource_group: Name of the resource group containing agent - pool nodes. - :vartype 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.v2019_02_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_02_01.models.ManagedClusterAADProfile - :param api_server_authorized_ip_ranges: (PREVIEW) Authorized IP Ranges to - kubernetes API server. - :type api_server_authorized_ip_ranges: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'node_resource_group': {'readonly': True}, - } - - _attribute_map = { - 'id': {'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'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, - 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, - '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'}, - 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, - } - - def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dns_prefix: str=None, agent_pool_profiles=None, linux_profile=None, service_principal_profile=None, addon_profiles=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, api_server_authorized_ip_ranges=None, **kwargs) -> None: - super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.kubernetes_version = kubernetes_version - self.dns_prefix = dns_prefix - self.fqdn = None - self.agent_pool_profiles = agent_pool_profiles - self.linux_profile = linux_profile - self.service_principal_profile = service_principal_profile - self.addon_profiles = addon_profiles - self.node_resource_group = None - 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.api_server_authorized_ip_ranges = api_server_authorized_ip_ranges diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile.py deleted file mode 100644 index 4610cedac54..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile_py3.py deleted file mode 100644 index 6ea9e92dc40..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_service_principal_profile_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile.py deleted file mode 100644 index 6123fe02156..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile.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 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.v2019_02_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.v2019_02_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile_py3.py deleted file mode 100644 index 5e9cc664a75..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/managed_cluster_upgrade_profile_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 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.v2019_02_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.v2019_02_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value.py deleted file mode 100644 index 911f9fc8088..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_paged.py deleted file mode 100644 index 54db1b44228..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_py3.py deleted file mode 100644 index 55bceaa7543..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/operation_value_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile.py deleted file mode 100644 index d5560a1f879..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile.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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = kwargs.get('orchestrator_type', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile_py3.py deleted file mode 100644 index f16e84a1fe3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/orchestrator_profile_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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - } - - def __init__(self, *, orchestrator_type: str, orchestrator_version: str, **kwargs) -> None: - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = orchestrator_type - self.orchestrator_version = orchestrator_version diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource.py deleted file mode 100644 index 5dd7d481c68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource_py3.py deleted file mode 100644 index 2f3702caf60..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/resource_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource.py deleted file mode 100644 index a3f389ba0ba..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource_py3.py deleted file mode 100644 index 9d61511ee2a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/sub_resource_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/tags_object.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/tags_object.py deleted file mode 100644 index 2966ec220f9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/tags_object_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/models/tags_object_py3.py deleted file mode 100644 index 8be0bb4a15d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/__init__.py deleted file mode 100644 index b816a99cda0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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/v2019_02_01/operations/agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/agent_pools_operations.py deleted file mode 100644 index 6fd94184fc3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/agent_pools_operations.py +++ /dev/null @@ -1,376 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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. - - :param client: Client for service requests. - :param config: 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-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-02-01" - - self.config = config - - def list( - self, resource_group_name, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_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 AgentPool - :rtype: - ~azure.mgmt.containerservice.v2019_02_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2019_02_01.models.AgentPool] - :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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_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) - response = self._client.send(request, stream=False, **operation_config) - - if response.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.AgentPoolPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.AgentPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{managedClusterName}/agentPools'} - - def get( - self, resource_group_name, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_cluster_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.v2019_02_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), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_cluster_name, 'str'), - '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/{managedClusterName}/agentPools/{agentPoolName}'} - - - def _create_or_update_initial( - self, resource_group_name, managed_cluster_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), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_cluster_name, 'str'), - '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, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_cluster_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.v2019_02_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.v2019_02_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_02_01.models.AgentPool]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - managed_cluster_name=managed_cluster_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/{managedClusterName}/agentPools/{agentPoolName}'} - - - def _delete_initial( - self, resource_group_name, managed_cluster_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), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_cluster_name, 'str'), - '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, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_cluster_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, - managed_cluster_name=managed_cluster_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/{managedClusterName}/agentPools/{agentPoolName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/managed_clusters_operations.py deleted file mode 100644 index f9e187d35e9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/managed_clusters_operations.py +++ /dev/null @@ -1,987 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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. - - :param client: Client for service requests. - :param config: 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-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-02-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.v2019_02_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_02_01.models.ManagedCluster] - :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.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - 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.v2019_02_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_02_01.models.ManagedCluster] - :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 = { - '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) - response = self._client.send(request, stream=False, **operation_config) - - if response.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.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(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.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.v2019_02_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = 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. - - :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.v2019_02_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'), - '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.v2019_02_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not 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.v2019_02_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not 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 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.v2019_02_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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.v2019_02_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.v2019_02_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_02_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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.v2019_02_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_02_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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.v2019_02_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'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_01/operations/operations.py deleted file mode 100644 index 595c131971c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_02_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: "2019-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-02-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.v2019_02_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2019_02_01.models.OperationValue] - :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.OperationValuePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/__init__.py old mode 100644 new mode 100755 index 9854e4f7645..eb3d7ba7a26 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/__init__.py @@ -1,18 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .container_service_client import ContainerServiceClient -from .version import VERSION - +from ._container_service_client import ContainerServiceClient __all__ = ['ContainerServiceClient'] -__version__ = VERSION - +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_configuration.py new file mode 100755 index 00000000000..838d4fe4a5c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_configuration.py @@ -0,0 +1,70 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. + + 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-04-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_container_service_client.py new file mode 100755 index 00000000000..22aedc7879c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/_container_service_client.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 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 azure.core.pipeline.transport import HttpRequest, HttpResponse + +from ._configuration import ContainerServiceClientConfiguration +from .operations import Operations +from .operations import ManagedClustersOperations +from .operations import AgentPoolsOperations +from . import models + + +class ContainerServiceClient(object): + """The Container Service Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2019_04_01.operations.Operations + :ivar managed_clusters: ManagedClustersOperations operations + :vartype managed_clusters: azure.mgmt.containerservice.v2019_04_01.operations.ManagedClustersOperations + :ivar agent_pools: AgentPoolsOperations operations + :vartype agent_pools: azure.mgmt.containerservice.v2019_04_01.operations.AgentPoolsOperations + :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 + :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False + 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) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> ContainerServiceClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/__init__.py old mode 100644 new mode 100755 similarity index 73% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/version.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/__init__.py index fe4b0545122..4ad2bb20096 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/version.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/__init__.py @@ -1,13 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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. # -------------------------------------------------------------------------- -VERSION = "2019-04-01" - +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient'] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_configuration.py new file mode 100755 index 00000000000..6e83b5c7716 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_configuration.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 Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. + + 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-04-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_container_service_client.py new file mode 100755 index 00000000000..d5378ac4cf3 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/_container_service_client.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. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +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 import ContainerServiceClientConfiguration +from .operations import Operations +from .operations import ManagedClustersOperations +from .operations import AgentPoolsOperations +from .. import models + + +class ContainerServiceClient(object): + """The Container Service Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2019_04_01.aio.operations.Operations + :ivar managed_clusters: ManagedClustersOperations operations + :vartype managed_clusters: azure.mgmt.containerservice.v2019_04_01.aio.operations.ManagedClustersOperations + :ivar agent_pools: AgentPoolsOperations operations + :vartype agent_pools: azure.mgmt.containerservice.v2019_04_01.aio.operations.AgentPoolsOperations + :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 + :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False + 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) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "ContainerServiceClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/__init__.py old mode 100644 new mode 100755 similarity index 92% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/__init__.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/__init__.py index d1b67f7888b..5aac40228ee --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/__init__.py @@ -1,12 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ._operations import Operations diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_agent_pools_operations.py new file mode 100755 index 00000000000..b6f289badc9 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_agent_pools_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 Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class AgentPoolsOperations: + """AgentPoolsOperations 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.containerservice.v2019_04_01.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, + resource_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.AgentPoolListResult"]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.AgentPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AgentPoolListResult', 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.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.AgentPool": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPool, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.AgentPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> "_models.AgentPool": + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'AgentPool') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> AsyncLROPoller["_models.AgentPool"]: + """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.v2019_04_01.models.AgentPool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either AgentPool or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2019_04_01.models.AgentPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_managed_clusters_operations.py new file mode 100755 index 00000000000..270cecf7d03 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_managed_clusters_operations.py @@ -0,0 +1,1101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ManagedClustersOperations: + """ManagedClustersOperations 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.containerservice.v2019_04_01.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: Any + ) -> AsyncIterable["_models.ManagedClusterListResult"]: + """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. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ManagedClusterListResult"]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + async def get_upgrade_profile( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterUpgradeProfile": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.get_upgrade_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore + + async def get_access_profile( + self, + resource_group_name: str, + resource_name: str, + role_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterAccessProfile": + """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. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterAccessProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAccessProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.get_access_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterAccessProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore + + async def list_cluster_admin_credentials( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore + + async def list_cluster_user_credentials( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_user_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedCluster": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedCluster, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedCluster') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> AsyncLROPoller["_models.ManagedCluster"]: + """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.v2019_04_01.models.ManagedCluster + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _update_tags_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_tags_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'TagsObject') + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_update_tags( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> AsyncLROPoller["_models.ManagedCluster"]: + """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 parameters: Parameters supplied to the Update Managed Cluster Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2019_04_01.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _reset_service_principal_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') + 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, {}) + + _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + async def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 parameters: Parameters supplied to the Reset Service Principal Profile operation for a + Managed Cluster. + :type parameters: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterServicePrincipalProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + async def _reset_aad_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_aad_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterAADProfile') + 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, {}) + + _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + async def begin_reset_aad_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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.v2019_04_01.models.ManagedClusterAADProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_operations.py new file mode 100755 index 00000000000..88f0e670aba --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/aio/operations/_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations 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.containerservice.v2019_04_01.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: Any + ) -> AsyncIterable["_models.OperationListResult"]: + """Gets a list of compute operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + 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 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.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/container_service_client.py deleted file mode 100644 index 7f6a9856261..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/container_service_client.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 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.managed_clusters_operations import ManagedClustersOperations -from .operations.agent_pools_operations import AgentPoolsOperations -from .operations.container_services_operations import ContainerServicesOperations -from . import models - - -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) - - 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 - - -class ContainerServiceClient(SDKClient): - """The Container Service Client. - - :ivar config: Configuration for client. - :vartype config: ContainerServiceClientConfiguration - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.v2019_04_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2019_04_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2019_04_01.operations.AgentPoolsOperations - :ivar container_services: ContainerServices operations - :vartype container_services: azure.mgmt.containerservice.v2019_04_01.operations.ContainerServicesOperations - - :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 = '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.managed_clusters = ManagedClustersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.agent_pools = AgentPoolsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.container_services = ContainerServicesOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/__init__.py old mode 100644 new mode 100755 index 741ab9ea8b7..1a2e8eac670 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/__init__.py @@ -1,127 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .operation_value_py3 import OperationValue - from .resource_py3 import Resource - from .sub_resource_py3 import SubResource - from .tags_object_py3 import TagsObject - from .managed_cluster_service_principal_profile_py3 import ManagedClusterServicePrincipalProfile - from .container_service_master_profile_py3 import ContainerServiceMasterProfile - from .managed_cluster_agent_pool_profile_properties_py3 import ManagedClusterAgentPoolProfileProperties - from .managed_cluster_agent_pool_profile_py3 import ManagedClusterAgentPoolProfile - from .agent_pool_py3 import AgentPool - from .managed_cluster_windows_profile_py3 import ManagedClusterWindowsProfile - from .container_service_ssh_public_key_py3 import ContainerServiceSshPublicKey - from .container_service_ssh_configuration_py3 import ContainerServiceSshConfiguration - from .container_service_linux_profile_py3 import ContainerServiceLinuxProfile - from .container_service_network_profile_py3 import ContainerServiceNetworkProfile - from .container_service_vm_diagnostics_py3 import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile_py3 import ContainerServiceDiagnosticsProfile - from .managed_cluster_addon_profile_py3 import ManagedClusterAddonProfile - from .managed_cluster_aad_profile_py3 import ManagedClusterAADProfile - from .managed_cluster_identity_py3 import ManagedClusterIdentity - from .managed_cluster_py3 import ManagedCluster - from .managed_cluster_access_profile_py3 import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile_upgrades_item_py3 import ManagedClusterPoolUpgradeProfileUpgradesItem - from .managed_cluster_pool_upgrade_profile_py3 import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile_py3 import ManagedClusterUpgradeProfile - from .credential_result_py3 import CredentialResult - from .credential_results_py3 import CredentialResults - from .orchestrator_profile_py3 import OrchestratorProfile - from .orchestrator_version_profile_py3 import OrchestratorVersionProfile - from .orchestrator_version_profile_list_result_py3 import OrchestratorVersionProfileListResult + from ._models_py3 import AgentPool + from ._models_py3 import AgentPoolListResult + from ._models_py3 import CloudErrorBody + 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 ManagedClusterAgentPoolProfile + from ._models_py3 import ManagedClusterAgentPoolProfileProperties + from ._models_py3 import ManagedClusterIdentity + from ._models_py3 import ManagedClusterListResult + from ._models_py3 import ManagedClusterPoolUpgradeProfile + from ._models_py3 import ManagedClusterPoolUpgradeProfileUpgradesItem + from ._models_py3 import ManagedClusterServicePrincipalProfile + from ._models_py3 import ManagedClusterUpgradeProfile + from ._models_py3 import ManagedClusterWindowsProfile + from ._models_py3 import OperationListResult + from ._models_py3 import OperationValue + from ._models_py3 import Resource + from ._models_py3 import SubResource + from ._models_py3 import TagsObject except (SyntaxError, ImportError): - from .operation_value import OperationValue - from .resource import Resource - from .sub_resource import SubResource - from .tags_object import TagsObject - from .managed_cluster_service_principal_profile import ManagedClusterServicePrincipalProfile - from .container_service_master_profile import ContainerServiceMasterProfile - from .managed_cluster_agent_pool_profile_properties import ManagedClusterAgentPoolProfileProperties - from .managed_cluster_agent_pool_profile import ManagedClusterAgentPoolProfile - from .agent_pool import AgentPool - from .managed_cluster_windows_profile import ManagedClusterWindowsProfile - from .container_service_ssh_public_key import ContainerServiceSshPublicKey - from .container_service_ssh_configuration import ContainerServiceSshConfiguration - from .container_service_linux_profile import ContainerServiceLinuxProfile - from .container_service_network_profile import ContainerServiceNetworkProfile - from .container_service_vm_diagnostics import ContainerServiceVMDiagnostics - from .container_service_diagnostics_profile import ContainerServiceDiagnosticsProfile - from .managed_cluster_addon_profile import ManagedClusterAddonProfile - from .managed_cluster_aad_profile import ManagedClusterAADProfile - from .managed_cluster_identity import ManagedClusterIdentity - from .managed_cluster import ManagedCluster - from .managed_cluster_access_profile import ManagedClusterAccessProfile - from .managed_cluster_pool_upgrade_profile_upgrades_item import ManagedClusterPoolUpgradeProfileUpgradesItem - from .managed_cluster_pool_upgrade_profile import ManagedClusterPoolUpgradeProfile - from .managed_cluster_upgrade_profile import ManagedClusterUpgradeProfile - from .credential_result import CredentialResult - from .credential_results import CredentialResults - from .orchestrator_profile import OrchestratorProfile - from .orchestrator_version_profile import OrchestratorVersionProfile - from .orchestrator_version_profile_list_result import OrchestratorVersionProfileListResult -from .operation_value_paged import OperationValuePaged -from .managed_cluster_paged import ManagedClusterPaged -from .agent_pool_paged import AgentPoolPaged -from .container_service_client_enums import ( + from ._models import AgentPool # type: ignore + from ._models import AgentPoolListResult # type: ignore + from ._models import CloudErrorBody # type: ignore + from ._models import ContainerServiceDiagnosticsProfile # type: ignore + from ._models import ContainerServiceLinuxProfile # type: ignore + from ._models import ContainerServiceMasterProfile # type: ignore + from ._models import ContainerServiceNetworkProfile # type: ignore + from ._models import ContainerServiceSshConfiguration # type: ignore + from ._models import ContainerServiceSshPublicKey # type: ignore + from ._models import ContainerServiceVMDiagnostics # type: ignore + from ._models import CredentialResult # type: ignore + from ._models import CredentialResults # type: ignore + from ._models import ManagedCluster # type: ignore + from ._models import ManagedClusterAADProfile # type: ignore + from ._models import ManagedClusterAccessProfile # type: ignore + from ._models import ManagedClusterAddonProfile # type: ignore + from ._models import ManagedClusterAgentPoolProfile # type: ignore + from ._models import ManagedClusterAgentPoolProfileProperties # type: ignore + from ._models import ManagedClusterIdentity # type: ignore + from ._models import ManagedClusterListResult # type: ignore + from ._models import ManagedClusterPoolUpgradeProfile # type: ignore + from ._models import ManagedClusterPoolUpgradeProfileUpgradesItem # type: ignore + from ._models import ManagedClusterServicePrincipalProfile # type: ignore + from ._models import ManagedClusterUpgradeProfile # type: ignore + from ._models import ManagedClusterWindowsProfile # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OperationValue # type: ignore + from ._models import Resource # type: ignore + from ._models import SubResource # type: ignore + from ._models import TagsObject # type: ignore + +from ._container_service_client_enums import ( + AgentPoolType, ContainerServiceStorageProfileTypes, ContainerServiceVMSizeTypes, - OSType, - AgentPoolType, + Count, + LoadBalancerSku, NetworkPlugin, NetworkPolicy, - LoadBalancerSku, + OSType, ResourceIdentityType, ) __all__ = [ - 'OperationValue', - 'Resource', - 'SubResource', - 'TagsObject', - 'ManagedClusterServicePrincipalProfile', - 'ContainerServiceMasterProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAgentPoolProfile', 'AgentPool', - 'ManagedClusterWindowsProfile', - 'ContainerServiceSshPublicKey', - 'ContainerServiceSshConfiguration', + 'AgentPoolListResult', + 'CloudErrorBody', + 'ContainerServiceDiagnosticsProfile', 'ContainerServiceLinuxProfile', + 'ContainerServiceMasterProfile', 'ContainerServiceNetworkProfile', + 'ContainerServiceSshConfiguration', + 'ContainerServiceSshPublicKey', 'ContainerServiceVMDiagnostics', - 'ContainerServiceDiagnosticsProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAADProfile', - 'ManagedClusterIdentity', + 'CredentialResult', + 'CredentialResults', 'ManagedCluster', + 'ManagedClusterAADProfile', 'ManagedClusterAccessProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', + 'ManagedClusterAddonProfile', + 'ManagedClusterAgentPoolProfile', + 'ManagedClusterAgentPoolProfileProperties', + 'ManagedClusterIdentity', + 'ManagedClusterListResult', 'ManagedClusterPoolUpgradeProfile', + 'ManagedClusterPoolUpgradeProfileUpgradesItem', + 'ManagedClusterServicePrincipalProfile', 'ManagedClusterUpgradeProfile', - 'CredentialResult', - 'CredentialResults', - 'OrchestratorProfile', - 'OrchestratorVersionProfile', - 'OrchestratorVersionProfileListResult', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', + 'ManagedClusterWindowsProfile', + 'OperationListResult', + 'OperationValue', + 'Resource', + 'SubResource', + 'TagsObject', + 'AgentPoolType', 'ContainerServiceStorageProfileTypes', 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', + 'Count', + 'LoadBalancerSku', 'NetworkPlugin', 'NetworkPolicy', - 'LoadBalancerSku', + 'OSType', 'ResourceIdentityType', ] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_container_service_client_enums.py new file mode 100755 index 00000000000..02e7ae312cd --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_container_service_client_enums.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 enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AgentPoolType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """AgentPoolType represents types of an agent pool. VirtualMachineScaleSets type is still in + PREVIEW. + """ + + VIRTUAL_MACHINE_SCALE_SETS = "VirtualMachineScaleSets" + AVAILABILITY_SET = "AvailabilitySet" + +class ContainerServiceStorageProfileTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + + STORAGE_ACCOUNT = "StorageAccount" + MANAGED_DISKS = "ManagedDisks" + +class ContainerServiceVMSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Size of agent VMs. + """ + + 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_A2_M_V2 = "Standard_A2m_v2" + STANDARD_A3 = "Standard_A3" + STANDARD_A4 = "Standard_A4" + STANDARD_A4_V2 = "Standard_A4_v2" + STANDARD_A4_M_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_A8_M_V2 = "Standard_A8m_v2" + STANDARD_A9 = "Standard_A9" + STANDARD_B2_MS = "Standard_B2ms" + STANDARD_B2_S = "Standard_B2s" + STANDARD_B4_MS = "Standard_B4ms" + STANDARD_B8_MS = "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_D16_S_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_D2_S_V3 = "Standard_D2s_v3" + STANDARD_D3 = "Standard_D3" + STANDARD_D32_V3 = "Standard_D32_v3" + STANDARD_D32_S_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_D4_S_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_D64_S_V3 = "Standard_D64s_v3" + STANDARD_D8_V3 = "Standard_D8_v3" + STANDARD_D8_S_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_E16_S_V3 = "Standard_E16s_v3" + STANDARD_E2_V3 = "Standard_E2_v3" + STANDARD_E2_S_V3 = "Standard_E2s_v3" + STANDARD_E32_16_S_V3 = "Standard_E32-16s_v3" + STANDARD_E32_8_S_V3 = "Standard_E32-8s_v3" + STANDARD_E32_V3 = "Standard_E32_v3" + STANDARD_E32_S_V3 = "Standard_E32s_v3" + STANDARD_E4_V3 = "Standard_E4_v3" + STANDARD_E4_S_V3 = "Standard_E4s_v3" + STANDARD_E64_16_S_V3 = "Standard_E64-16s_v3" + STANDARD_E64_32_S_V3 = "Standard_E64-32s_v3" + STANDARD_E64_V3 = "Standard_E64_v3" + STANDARD_E64_S_V3 = "Standard_E64s_v3" + STANDARD_E8_V3 = "Standard_E8_v3" + STANDARD_E8_S_V3 = "Standard_E8s_v3" + STANDARD_F1 = "Standard_F1" + STANDARD_F16 = "Standard_F16" + STANDARD_F16_S = "Standard_F16s" + STANDARD_F16_S_V2 = "Standard_F16s_v2" + STANDARD_F1_S = "Standard_F1s" + STANDARD_F2 = "Standard_F2" + STANDARD_F2_S = "Standard_F2s" + STANDARD_F2_S_V2 = "Standard_F2s_v2" + STANDARD_F32_S_V2 = "Standard_F32s_v2" + STANDARD_F4 = "Standard_F4" + STANDARD_F4_S = "Standard_F4s" + STANDARD_F4_S_V2 = "Standard_F4s_v2" + STANDARD_F64_S_V2 = "Standard_F64s_v2" + STANDARD_F72_S_V2 = "Standard_F72s_v2" + STANDARD_F8 = "Standard_F8" + STANDARD_F8_S = "Standard_F8s" + STANDARD_F8_S_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_H16_M = "Standard_H16m" + STANDARD_H16_MR = "Standard_H16mr" + STANDARD_H16_R = "Standard_H16r" + STANDARD_H8 = "Standard_H8" + STANDARD_H8_M = "Standard_H8m" + STANDARD_L16_S = "Standard_L16s" + STANDARD_L32_S = "Standard_L32s" + STANDARD_L4_S = "Standard_L4s" + STANDARD_L8_S = "Standard_L8s" + STANDARD_M128_32_MS = "Standard_M128-32ms" + STANDARD_M128_64_MS = "Standard_M128-64ms" + STANDARD_M128_MS = "Standard_M128ms" + STANDARD_M128_S = "Standard_M128s" + STANDARD_M64_16_MS = "Standard_M64-16ms" + STANDARD_M64_32_MS = "Standard_M64-32ms" + STANDARD_M64_MS = "Standard_M64ms" + STANDARD_M64_S = "Standard_M64s" + STANDARD_NC12 = "Standard_NC12" + STANDARD_NC12_S_V2 = "Standard_NC12s_v2" + STANDARD_NC12_S_V3 = "Standard_NC12s_v3" + STANDARD_NC24 = "Standard_NC24" + STANDARD_NC24_R = "Standard_NC24r" + STANDARD_NC24_RS_V2 = "Standard_NC24rs_v2" + STANDARD_NC24_RS_V3 = "Standard_NC24rs_v3" + STANDARD_NC24_S_V2 = "Standard_NC24s_v2" + STANDARD_NC24_S_V3 = "Standard_NC24s_v3" + STANDARD_NC6 = "Standard_NC6" + STANDARD_NC6_S_V2 = "Standard_NC6s_v2" + STANDARD_NC6_S_V3 = "Standard_NC6s_v3" + STANDARD_ND12_S = "Standard_ND12s" + STANDARD_ND24_RS = "Standard_ND24rs" + STANDARD_ND24_S = "Standard_ND24s" + STANDARD_ND6_S = "Standard_ND6s" + STANDARD_NV12 = "Standard_NV12" + STANDARD_NV24 = "Standard_NV24" + STANDARD_NV6 = "Standard_NV6" + +class Count(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): + """Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The + default value is 1. + """ + + ONE = 1 + THREE = 3 + FIVE = 5 + +class LoadBalancerSku(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The load balancer sku for the managed cluster. + """ + + STANDARD = "standard" + BASIC = "basic" + +class NetworkPlugin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network plugin used for building Kubernetes network. + """ + + AZURE = "azure" + KUBENET = "kubenet" + +class NetworkPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network policy used for building Kubernetes network. + """ + + CALICO = "calico" + AZURE = "azure" + +class OSType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + """ + + LINUX = "Linux" + WINDOWS = "Windows" + +class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + NONE = "None" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_models.py new file mode 100755 index 00000000000..df83703d36e --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_models.py @@ -0,0 +1,1466 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 SubResource(msrest.serialization.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. + + :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: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 1 to 100 (inclusive). The default value is 1. + :type count: int + :param vm_size: 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.v2019_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.v2019_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_properties_type: AgentPoolType represents types of an agent pool. Possible values + include: "VirtualMachineScaleSets", "AvailabilitySet". + :type type_properties_type: str or + ~azure.mgmt.containerservice.v2019_04_01.models.AgentPoolType + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. + :type orchestrator_version: str + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param availability_zones: (PREVIEW) Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'count': {'maximum': 100, 'minimum': 1}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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'}, + 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, + 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', '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.type_properties_type = kwargs.get('type_properties_type', None) + self.orchestrator_version = kwargs.get('orchestrator_version', None) + self.provisioning_state = None + self.availability_zones = kwargs.get('availability_zones', None) + + +class AgentPoolListResult(msrest.serialization.Model): + """The response from the List Agent Pools operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of agent pools. + :type value: list[~azure.mgmt.containerservice.v2019_04_01.models.AgentPool] + :ivar next_link: The URL to get the next set of agent pool results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AgentPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AgentPoolListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class CloudErrorBody(msrest.serialization.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.v2019_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(msrest.serialization.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.v2019_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['vm_diagnostics'] + + +class ContainerServiceLinuxProfile(msrest.serialization.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.v2019_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['admin_username'] + self.ssh = kwargs['ssh'] + + +class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2019_04_01.models.Count + :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.v2019_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. + :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.v2019_04_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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['dns_prefix'] + self.vm_size = kwargs['vm_size'] + 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(msrest.serialization.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.v2019_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.v2019_04_01.models.NetworkPolicy + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + :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. + :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. + :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. + :type docker_bridge_cidr: str + :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.v2019_04_01.models.LoadBalancerSku + """ + + _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'}, + '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'}, + 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, + } + + 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.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.load_balancer_sku = kwargs.get('load_balancer_sku', None) + + +class ContainerServiceSshConfiguration(msrest.serialization.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.v2019_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['public_keys'] + + +class ContainerServiceSshPublicKey(msrest.serialization.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['key_data'] + + +class ContainerServiceVMDiagnostics(msrest.serialization.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['enabled'] + self.storage_uri = None + + +class CredentialResult(msrest.serialization.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(msrest.serialization.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.v2019_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(msrest.serialization.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: 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'}, + '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.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: A set of tags. Resource tags. + :type tags: dict[str, str] + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterIdentity + :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 + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2019_04_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2019_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.v2019_04_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2019_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: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2019_04_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAADProfile + :param api_server_authorized_ip_ranges: (PREVIEW) Authorized IP Ranges to kubernetes API + server. + :type api_server_authorized_ip_ranges: list[str] + """ + + _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}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + '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'}, + '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'}, + 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedCluster, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + 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.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.api_server_authorized_ip_ranges = kwargs.get('api_server_authorized_ip_ranges', None) + + +class ManagedClusterAADProfile(msrest.serialization.Model): + """AADProfile specifies attributes for Azure Active Directory integration. + + All required parameters must be populated in order to send to Azure. + + :param client_app_id: Required. The client AAD application ID. + :type client_app_id: str + :param server_app_id: Required. 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 + """ + + _validation = { + 'client_app_id': {'required': True}, + 'server_app_id': {'required': True}, + } + + _attribute_map = { + '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.client_app_id = kwargs['client_app_id'] + self.server_app_id = kwargs['server_app_id'] + 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: A set of 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(msrest.serialization.Model): + """A Kubernetes add-on profile for a managed cluster. + + 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] + """ + + _validation = { + 'enabled': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'config': {'key': 'config', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedClusterAddonProfile, self).__init__(**kwargs) + self.enabled = kwargs['enabled'] + self.config = kwargs.get('config', None) + + +class ManagedClusterAgentPoolProfileProperties(msrest.serialization.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 1 to 100 (inclusive). The default value is 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. + :type orchestrator_version: str + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param availability_zones: (PREVIEW) Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + """ + + _validation = { + 'count': {'required': True, 'maximum': 100, 'minimum': 1}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) + self.count = kwargs.get('count', 1) + self.vm_size = kwargs['vm_size'] + 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.orchestrator_version = kwargs.get('orchestrator_version', None) + self.provisioning_state = None + self.availability_zones = kwargs.get('availability_zones', 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 1 to 100 (inclusive). The default value is 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. + :type orchestrator_version: str + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param availability_zones: (PREVIEW) Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: 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': 1}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) + self.name = kwargs['name'] + + +class ManagedClusterIdentity(msrest.serialization.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.v2019_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': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + + +class ManagedClusterListResult(msrest.serialization.Model): + """The response from the List Managed Clusters operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of managed clusters. + :type value: list[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] + :ivar next_link: The URL to get the next set of managed cluster results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagedCluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedClusterListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ManagedClusterPoolUpgradeProfile(msrest.serialization.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.v2019_04_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2019_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['kubernetes_version'] + self.name = kwargs.get('name', None) + self.os_type = kwargs.get('os_type', "Linux") + self.upgrades = kwargs.get('upgrades', None) + + +class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.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 ManagedClusterServicePrincipalProfile(msrest.serialization.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['client_id'] + self.secret = kwargs.get('secret', None) + + +class ManagedClusterUpgradeProfile(msrest.serialization.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.v2019_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.v2019_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['control_plane_profile'] + self.agent_pool_profiles = kwargs['agent_pool_profiles'] + + +class ManagedClusterWindowsProfile(msrest.serialization.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. Specifies the name of the administrator account. + :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` + **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", + "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", + "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", + "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. + :type admin_username: str + :param admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". + :type admin_password: str + """ + + _validation = { + 'admin_username': {'required': True}, + } + + _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['admin_username'] + self.admin_password = kwargs.get('admin_password', None) + + +class OperationListResult(msrest.serialization.Model): + """The List Compute Operation operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of compute operations. + :vartype value: list[~azure.mgmt.containerservice.v2019_04_01.models.OperationValue] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationValue]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + + +class OperationValue(msrest.serialization.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 TagsObject(msrest.serialization.Model): + """Tags object for patch operations. + + :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(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/v2019_04_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_models_py3.py new file mode 100755 index 00000000000..169658545b0 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/_models_py3.py @@ -0,0 +1,1599 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 + +import msrest.serialization + +from ._container_service_client_enums import * + + +class SubResource(msrest.serialization.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. + + :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: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 1 to 100 (inclusive). The default value is 1. + :type count: int + :param vm_size: 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.v2019_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.v2019_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_properties_type: AgentPoolType represents types of an agent pool. Possible values + include: "VirtualMachineScaleSets", "AvailabilitySet". + :type type_properties_type: str or + ~azure.mgmt.containerservice.v2019_04_01.models.AgentPoolType + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. + :type orchestrator_version: str + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param availability_zones: (PREVIEW) Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'count': {'maximum': 100, 'minimum': 1}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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'}, + 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, + 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + } + + def __init__( + self, + *, + count: Optional[int] = 1, + vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, + orchestrator_version: Optional[str] = None, + availability_zones: Optional[List[str]] = None, + **kwargs + ): + 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.type_properties_type = type_properties_type + self.orchestrator_version = orchestrator_version + self.provisioning_state = None + self.availability_zones = availability_zones + + +class AgentPoolListResult(msrest.serialization.Model): + """The response from the List Agent Pools operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of agent pools. + :type value: list[~azure.mgmt.containerservice.v2019_04_01.models.AgentPool] + :ivar next_link: The URL to get the next set of agent pool results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AgentPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["AgentPool"]] = None, + **kwargs + ): + super(AgentPoolListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class CloudErrorBody(msrest.serialization.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.v2019_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: 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 ContainerServiceDiagnosticsProfile(msrest.serialization.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.v2019_04_01.models.ContainerServiceVMDiagnostics + """ + + _validation = { + 'vm_diagnostics': {'required': True}, + } + + _attribute_map = { + 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, + } + + def __init__( + self, + *, + vm_diagnostics: "ContainerServiceVMDiagnostics", + **kwargs + ): + super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) + self.vm_diagnostics = vm_diagnostics + + +class ContainerServiceLinuxProfile(msrest.serialization.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.v2019_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: "ContainerServiceSshConfiguration", + **kwargs + ): + super(ContainerServiceLinuxProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.ssh = ssh + + +class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2019_04_01.models.Count + :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.v2019_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. + :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.v2019_04_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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: Union[str, "ContainerServiceVMSizeTypes"], + count: Optional[Union[int, "Count"]] = "1", + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + first_consecutive_static_ip: Optional[str] = "10.240.255.5", + storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, + **kwargs + ): + 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(msrest.serialization.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.v2019_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.v2019_04_01.models.NetworkPolicy + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + :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. + :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. + :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. + :type docker_bridge_cidr: str + :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.v2019_04_01.models.LoadBalancerSku + """ + + _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'}, + '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'}, + 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, + } + + def __init__( + self, + *, + network_plugin: Optional[Union[str, "NetworkPlugin"]] = "kubenet", + network_policy: Optional[Union[str, "NetworkPolicy"]] = None, + pod_cidr: Optional[str] = "10.244.0.0/16", + service_cidr: Optional[str] = "10.0.0.0/16", + dns_service_ip: Optional[str] = "10.0.0.10", + docker_bridge_cidr: Optional[str] = "172.17.0.1/16", + load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, + **kwargs + ): + super(ContainerServiceNetworkProfile, self).__init__(**kwargs) + self.network_plugin = network_plugin + self.network_policy = network_policy + 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.load_balancer_sku = load_balancer_sku + + +class ContainerServiceSshConfiguration(msrest.serialization.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.v2019_04_01.models.ContainerServiceSshPublicKey] + """ + + _validation = { + 'public_keys': {'required': True}, + } + + _attribute_map = { + 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, + } + + def __init__( + self, + *, + public_keys: List["ContainerServiceSshPublicKey"], + **kwargs + ): + super(ContainerServiceSshConfiguration, self).__init__(**kwargs) + self.public_keys = public_keys + + +class ContainerServiceSshPublicKey(msrest.serialization.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 + ): + super(ContainerServiceSshPublicKey, self).__init__(**kwargs) + self.key_data = key_data + + +class ContainerServiceVMDiagnostics(msrest.serialization.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 + ): + super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) + self.enabled = enabled + self.storage_uri = None + + +class CredentialResult(msrest.serialization.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(msrest.serialization.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.v2019_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(msrest.serialization.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: 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'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + location: str, + 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 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: A set of tags. Resource tags. + :type tags: dict[str, str] + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterIdentity + :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 + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2019_04_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2019_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.v2019_04_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2019_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: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2019_04_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAADProfile + :param api_server_authorized_ip_ranges: (PREVIEW) Authorized IP Ranges to kubernetes API + server. + :type api_server_authorized_ip_ranges: list[str] + """ + + _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}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + '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'}, + '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'}, + 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedClusterIdentity"] = None, + kubernetes_version: Optional[str] = None, + dns_prefix: Optional[str] = None, + agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, + linux_profile: Optional["ContainerServiceLinuxProfile"] = None, + windows_profile: Optional["ManagedClusterWindowsProfile"] = None, + service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, + addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, + node_resource_group: Optional[str] = None, + enable_rbac: Optional[bool] = None, + enable_pod_security_policy: Optional[bool] = None, + network_profile: Optional["ContainerServiceNetworkProfile"] = None, + aad_profile: Optional["ManagedClusterAADProfile"] = None, + api_server_authorized_ip_ranges: Optional[List[str]] = None, + **kwargs + ): + super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) + self.identity = identity + self.provisioning_state = None + self.max_agent_pools = None + self.kubernetes_version = kubernetes_version + self.dns_prefix = dns_prefix + self.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.api_server_authorized_ip_ranges = api_server_authorized_ip_ranges + + +class ManagedClusterAADProfile(msrest.serialization.Model): + """AADProfile specifies attributes for Azure Active Directory integration. + + All required parameters must be populated in order to send to Azure. + + :param client_app_id: Required. The client AAD application ID. + :type client_app_id: str + :param server_app_id: Required. 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 + """ + + _validation = { + 'client_app_id': {'required': True}, + 'server_app_id': {'required': True}, + } + + _attribute_map = { + '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, + *, + client_app_id: str, + server_app_id: str, + server_app_secret: Optional[str] = None, + tenant_id: Optional[str] = None, + **kwargs + ): + super(ManagedClusterAADProfile, self).__init__(**kwargs) + 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: A set of 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: Optional[Dict[str, str]] = None, + kube_config: Optional[bytearray] = None, + **kwargs + ): + super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) + self.kube_config = kube_config + + +class ManagedClusterAddonProfile(msrest.serialization.Model): + """A Kubernetes add-on profile for a managed cluster. + + 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] + """ + + _validation = { + 'enabled': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'config': {'key': 'config', 'type': '{str}'}, + } + + def __init__( + self, + *, + enabled: bool, + config: Optional[Dict[str, str]] = None, + **kwargs + ): + super(ManagedClusterAddonProfile, self).__init__(**kwargs) + self.enabled = enabled + self.config = config + + +class ManagedClusterAgentPoolProfileProperties(msrest.serialization.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 1 to 100 (inclusive). The default value is 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. + :type orchestrator_version: str + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param availability_zones: (PREVIEW) Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + """ + + _validation = { + 'count': {'required': True, 'maximum': 100, 'minimum': 1}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + } + + def __init__( + self, + *, + count: int = 1, + vm_size: Union[str, "ContainerServiceVMSizeTypes"], + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + orchestrator_version: Optional[str] = None, + availability_zones: Optional[List[str]] = None, + **kwargs + ): + 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.orchestrator_version = orchestrator_version + self.provisioning_state = None + self.availability_zones = availability_zones + + +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 1 to 100 (inclusive). The default value is 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. + :type orchestrator_version: str + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :param availability_zones: (PREVIEW) Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: 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': 1}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, + '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'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + count: int = 1, + vm_size: Union[str, "ContainerServiceVMSizeTypes"], + name: str, + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + orchestrator_version: Optional[str] = None, + availability_zones: Optional[List[str]] = None, + **kwargs + ): + 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, orchestrator_version=orchestrator_version, availability_zones=availability_zones, **kwargs) + self.name = name + + +class ManagedClusterIdentity(msrest.serialization.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.v2019_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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + **kwargs + ): + super(ManagedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ManagedClusterListResult(msrest.serialization.Model): + """The response from the List Managed Clusters operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of managed clusters. + :type value: list[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] + :ivar next_link: The URL to get the next set of managed cluster results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagedCluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ManagedCluster"]] = None, + **kwargs + ): + super(ManagedClusterListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ManagedClusterPoolUpgradeProfile(msrest.serialization.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.v2019_04_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2019_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, + os_type: Union[str, "OSType"] = "Linux", + name: Optional[str] = None, + upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, + **kwargs + ): + super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.name = name + self.os_type = os_type + self.upgrades = upgrades + + +class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.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: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): + super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class ManagedClusterServicePrincipalProfile(msrest.serialization.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: Optional[str] = None, + **kwargs + ): + super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = client_id + self.secret = secret + + +class ManagedClusterUpgradeProfile(msrest.serialization.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.v2019_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.v2019_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: "ManagedClusterPoolUpgradeProfile", + agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], + **kwargs + ): + 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(msrest.serialization.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. Specifies the name of the administrator account. + :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` + **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", + "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", + "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", + "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. + :type admin_username: str + :param admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". + :type admin_password: str + """ + + _validation = { + 'admin_username': {'required': True}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + } + + def __init__( + self, + *, + admin_username: str, + admin_password: Optional[str] = None, + **kwargs + ): + super(ManagedClusterWindowsProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.admin_password = admin_password + + +class OperationListResult(msrest.serialization.Model): + """The List Compute Operation operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of compute operations. + :vartype value: list[~azure.mgmt.containerservice.v2019_04_01.models.OperationValue] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationValue]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + + +class OperationValue(msrest.serialization.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 TagsObject(msrest.serialization.Model): + """Tags object for patch operations. + + :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(TagsObject, self).__init__(**kwargs) + self.tags = tags diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool.py deleted file mode 100644 index 03a85e8c21c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool.py +++ /dev/null @@ -1,164 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 1 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'properties.availabilityZones', '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.orchestrator_version = kwargs.get('orchestrator_version', None) - self.provisioning_state = None - self.availability_zones = kwargs.get('availability_zones', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool_paged.py deleted file mode 100644 index 860cd686515..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_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 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/v2019_04_01/models/agent_pool_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool_py3.py deleted file mode 100644 index 1bac16e4e2d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/agent_pool_py3.py +++ /dev/null @@ -1,164 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 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 1 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'properties.availabilityZones', '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, orchestrator_version: str=None, availability_zones=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.orchestrator_version = orchestrator_version - self.provisioning_state = None - self.availability_zones = availability_zones diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_client_enums.py deleted file mode 100644 index 08f49fc4a07..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_client_enums.py +++ /dev/null @@ -1,232 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 NetworkPlugin(str, Enum): - - azure = "azure" - kubenet = "kubenet" - - -class NetworkPolicy(str, Enum): - - calico = "calico" - azure = "azure" - - -class LoadBalancerSku(str, Enum): - - standard = "standard" - basic = "basic" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - none = "None" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile.py deleted file mode 100644 index 01e83dba9c9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile.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 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.v2019_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile_py3.py deleted file mode 100644 index 50b20fe72bc..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_diagnostics_profile_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 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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile.py deleted file mode 100644 index 2a4eac15b01..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile.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 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.v2019_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile_py3.py deleted file mode 100644 index 86130b9472b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_linux_profile_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 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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile.py deleted file mode 100644 index 0694a0309fb..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.v2019_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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile_py3.py deleted file mode 100644 index f8645cc11df..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_master_profile_py3.py +++ /dev/null @@ -1,128 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -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.v2019_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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile.py deleted file mode 100644 index 39f46d59a3b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile.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 msrest.serialization import Model - - -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.v2019_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.v2019_04_01.models.NetworkPolicy - :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 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.v2019_04_01.models.LoadBalancerSku - """ - - _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'}, - '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'}, - 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, - } - - 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.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.load_balancer_sku = kwargs.get('load_balancer_sku', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile_py3.py deleted file mode 100644 index 2876203d783..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_network_profile_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 msrest.serialization import Model - - -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.v2019_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.v2019_04_01.models.NetworkPolicy - :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 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.v2019_04_01.models.LoadBalancerSku - """ - - _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'}, - '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'}, - 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, - } - - def __init__(self, *, network_plugin="kubenet", network_policy=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", load_balancer_sku=None, **kwargs) -> None: - super(ContainerServiceNetworkProfile, self).__init__(**kwargs) - self.network_plugin = network_plugin - self.network_policy = network_policy - 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.load_balancer_sku = load_balancer_sku diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_configuration.py deleted file mode 100644 index be8eb5b7792..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_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 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.v2019_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_configuration_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_configuration_py3.py deleted file mode 100644 index feeb3b049fa..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_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 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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key.py deleted file mode 100644 index da7609ba222..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key_py3.py deleted file mode 100644 index 8e8c10544ef..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_ssh_public_key_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics.py deleted file mode 100644 index f1804c66b68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics_py3.py deleted file mode 100644 index a716fc26954..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/container_service_vm_diagnostics_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_result.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_result.py deleted file mode 100644 index 89e748b481b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_result_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_result_py3.py deleted file mode 100644 index 6f387834bf0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_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 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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results.py deleted file mode 100644 index 9ed4c77f4bf..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results.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 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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results_py3.py deleted file mode 100644 index 68e0b9ff555..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/credential_results_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 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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster.py deleted file mode 100644 index 04fed66d87e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster.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 .resource import Resource - - -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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_04_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2019_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.v2019_04_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_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.v2019_04_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAADProfile - :param api_server_authorized_ip_ranges: (PREVIEW) Authorized IP Ranges to - kubernetes API server. - :type api_server_authorized_ip_ranges: list[str] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterIdentity - """ - - _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}, - } - - _attribute_map = { - 'id': {'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'}, - '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'}, - 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - } - - 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.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.api_server_authorized_ip_ranges = kwargs.get('api_server_authorized_ip_ranges', None) - self.identity = kwargs.get('identity', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile.py deleted file mode 100644 index 6a48639de34..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile.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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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.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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile_py3.py deleted file mode 100644 index 76289f3ddc3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_aad_profile_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 ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile.py deleted file mode 100644 index 6dc2a4ec23b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile.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 .resource import Resource - - -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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile_py3.py deleted file mode 100644 index 0d3fb998e97..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_access_profile_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 .resource_py3 import Resource - - -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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile.py deleted file mode 100644 index 796f9246a68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile.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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.config = kwargs.get('config', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile_py3.py deleted file mode 100644 index 71e05cd14c0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_addon_profile_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 ManagedClusterAddonProfile(Model): - """A Kubernetes add-on profile for a managed cluster. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile.py deleted file mode 100644 index 4ea015c040e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile.py +++ /dev/null @@ -1,144 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .managed_cluster_agent_pool_profile_properties import ManagedClusterAgentPoolProfileProperties - - -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 1 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: 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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs.get('name', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties.py deleted file mode 100644 index 616bd6ecd3d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties.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.serialization import Model - - -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 1 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', '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.orchestrator_version = kwargs.get('orchestrator_version', None) - self.provisioning_state = None - self.availability_zones = kwargs.get('availability_zones', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties_py3.py deleted file mode 100644 index d1c82e61b78..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_properties_py3.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.serialization import Model - - -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 1 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: list[str] - """ - - _validation = { - 'count': {'required': True, 'maximum': 100, 'minimum': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', '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, orchestrator_version: str=None, availability_zones=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.orchestrator_version = orchestrator_version - self.provisioning_state = None - self.availability_zones = availability_zones diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_py3.py deleted file mode 100644 index 7a9b76c7b83..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_agent_pool_profile_py3.py +++ /dev/null @@ -1,144 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .managed_cluster_agent_pool_profile_properties_py3 import ManagedClusterAgentPoolProfileProperties - - -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 1 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.v2019_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.v2019_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.v2019_04_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) Availability zones for nodes. Must - use VirtualMachineScaleSets AgentPoolType. - :type availability_zones: 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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'availability_zones': {'key': 'availabilityZones', '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, orchestrator_version: str=None, availability_zones=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, orchestrator_version=orchestrator_version, availability_zones=availability_zones, **kwargs) - self.name = name diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity.py deleted file mode 100644 index ab0ac7ab5b0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity.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 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.v2019_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity_py3.py deleted file mode 100644 index 60c1046ad87..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_identity_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 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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_paged.py deleted file mode 100644 index 854cd481b63..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile.py deleted file mode 100644 index c646d144b41..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile.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 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.v2019_04_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_py3.py deleted file mode 100644 index b6644b2036a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_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 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.v2019_04_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item.py deleted file mode 100644 index 1d56a858065..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item_py3.py deleted file mode 100644 index b3f79806494..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_pool_upgrade_profile_upgrades_item_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_py3.py deleted file mode 100644 index 10071d84902..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_py3.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 .resource_py3 import Resource - - -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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_04_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2019_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.v2019_04_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_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.v2019_04_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAADProfile - :param api_server_authorized_ip_ranges: (PREVIEW) Authorized IP Ranges to - kubernetes API server. - :type api_server_authorized_ip_ranges: list[str] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterIdentity - """ - - _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}, - } - - _attribute_map = { - 'id': {'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'}, - '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'}, - 'api_server_authorized_ip_ranges': {'key': 'properties.apiServerAuthorizedIPRanges', 'type': '[str]'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - } - - 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, api_server_authorized_ip_ranges=None, identity=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.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.api_server_authorized_ip_ranges = api_server_authorized_ip_ranges - self.identity = identity diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile.py deleted file mode 100644 index 4610cedac54..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile_py3.py deleted file mode 100644 index 6ea9e92dc40..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_service_principal_profile_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile.py deleted file mode 100644 index b4966031a07..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile.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 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.v2019_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.v2019_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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile_py3.py deleted file mode 100644 index 3cd2d047c4c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_upgrade_profile_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 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.v2019_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.v2019_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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile.py deleted file mode 100644 index 2f955d4ef52..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile.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 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}, - } - - _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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile_py3.py deleted file mode 100644 index 4dd22c95859..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/managed_cluster_windows_profile_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 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}, - } - - _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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value.py deleted file mode 100644 index 911f9fc8088..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_paged.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_paged.py deleted file mode 100644 index 3242947b178..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_py3.py deleted file mode 100644 index 55bceaa7543..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/operation_value_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile.py deleted file mode 100644 index ed7eda48c46..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile.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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - :param is_preview: Whether Kubernetes version is currently in preview. - :type is_preview: bool - """ - - _validation = { - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'is_preview': {'key': 'isPreview', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = kwargs.get('orchestrator_type', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) - self.is_preview = kwargs.get('is_preview', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile_py3.py deleted file mode 100644 index 3dd9fb586ae..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_profile_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 OrchestratorProfile(Model): - """Contains information about orchestrator. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - :param is_preview: Whether Kubernetes version is currently in preview. - :type is_preview: bool - """ - - _validation = { - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'is_preview': {'key': 'isPreview', 'type': 'bool'}, - } - - def __init__(self, *, orchestrator_version: str, orchestrator_type: str=None, is_preview: bool=None, **kwargs) -> None: - super(OrchestratorProfile, self).__init__(**kwargs) - self.orchestrator_type = orchestrator_type - self.orchestrator_version = orchestrator_version - self.is_preview = is_preview diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile.py deleted file mode 100644 index eec16d09f99..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile.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 OrchestratorVersionProfile(Model): - """The profile of an orchestrator and its available versions. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - :param default: Installed by default if version is not specified. - :type default: bool - :param is_preview: Whether Kubernetes version is currently in preview. - :type is_preview: bool - :param upgrades: The list of available upgrade versions. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_04_01.models.OrchestratorProfile] - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'default': {'key': 'default', 'type': 'bool'}, - 'is_preview': {'key': 'isPreview', 'type': 'bool'}, - 'upgrades': {'key': 'upgrades', 'type': '[OrchestratorProfile]'}, - } - - def __init__(self, **kwargs): - super(OrchestratorVersionProfile, self).__init__(**kwargs) - self.orchestrator_type = kwargs.get('orchestrator_type', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) - self.default = kwargs.get('default', None) - self.is_preview = kwargs.get('is_preview', None) - self.upgrades = kwargs.get('upgrades', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_result.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_result.py deleted file mode 100644 index 22055e165f7..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_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 OrchestratorVersionProfileListResult(Model): - """The list of versions for supported orchestrators. - - Variables are only populated 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 orchestrator version profile list result. - :vartype id: str - :ivar name: Name of the orchestrator version profile list result. - :vartype name: str - :ivar type: Type of the orchestrator version profile list result. - :vartype type: str - :param orchestrators: Required. List of orchestrator version profiles. - :type orchestrators: - list[~azure.mgmt.containerservice.v2019_04_01.models.OrchestratorVersionProfile] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'orchestrators': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'orchestrators': {'key': 'properties.orchestrators', 'type': '[OrchestratorVersionProfile]'}, - } - - def __init__(self, **kwargs): - super(OrchestratorVersionProfileListResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.orchestrators = kwargs.get('orchestrators', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_result_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_result_py3.py deleted file mode 100644 index 1245185edec..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_list_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 OrchestratorVersionProfileListResult(Model): - """The list of versions for supported orchestrators. - - Variables are only populated 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 orchestrator version profile list result. - :vartype id: str - :ivar name: Name of the orchestrator version profile list result. - :vartype name: str - :ivar type: Type of the orchestrator version profile list result. - :vartype type: str - :param orchestrators: Required. List of orchestrator version profiles. - :type orchestrators: - list[~azure.mgmt.containerservice.v2019_04_01.models.OrchestratorVersionProfile] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'orchestrators': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'orchestrators': {'key': 'properties.orchestrators', 'type': '[OrchestratorVersionProfile]'}, - } - - def __init__(self, *, orchestrators, **kwargs) -> None: - super(OrchestratorVersionProfileListResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.orchestrators = orchestrators diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_py3.py deleted file mode 100644 index 0ea9efab416..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/orchestrator_version_profile_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 OrchestratorVersionProfile(Model): - """The profile of an orchestrator and its available versions. - - All required parameters must be populated in order to send to Azure. - - :param orchestrator_type: Required. Orchestrator type. - :type orchestrator_type: str - :param orchestrator_version: Required. Orchestrator version (major, minor, - patch). - :type orchestrator_version: str - :param default: Installed by default if version is not specified. - :type default: bool - :param is_preview: Whether Kubernetes version is currently in preview. - :type is_preview: bool - :param upgrades: The list of available upgrade versions. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_04_01.models.OrchestratorProfile] - """ - - _validation = { - 'orchestrator_type': {'required': True}, - 'orchestrator_version': {'required': True}, - } - - _attribute_map = { - 'orchestrator_type': {'key': 'orchestratorType', 'type': 'str'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - 'default': {'key': 'default', 'type': 'bool'}, - 'is_preview': {'key': 'isPreview', 'type': 'bool'}, - 'upgrades': {'key': 'upgrades', 'type': '[OrchestratorProfile]'}, - } - - def __init__(self, *, orchestrator_type: str, orchestrator_version: str, default: bool=None, is_preview: bool=None, upgrades=None, **kwargs) -> None: - super(OrchestratorVersionProfile, self).__init__(**kwargs) - self.orchestrator_type = orchestrator_type - self.orchestrator_version = orchestrator_version - self.default = default - self.is_preview = is_preview - self.upgrades = upgrades diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource.py deleted file mode 100644 index 5dd7d481c68..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource.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 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource_py3.py deleted file mode 100644 index 2f3702caf60..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/resource_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource.py deleted file mode 100644 index a3f389ba0ba..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource.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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource_py3.py deleted file mode 100644 index 9d61511ee2a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/sub_resource_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 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 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/tags_object.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/tags_object.py deleted file mode 100644 index 2966ec220f9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/tags_object_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/models/tags_object_py3.py deleted file mode 100644 index 8be0bb4a15d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/__init__.py old mode 100644 new mode 100755 index 6feafb436e6..5aac40228ee --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/__init__.py @@ -1,22 +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 .operations import Operations -from .managed_clusters_operations import ManagedClustersOperations -from .agent_pools_operations import AgentPoolsOperations -from .container_services_operations import ContainerServicesOperations +from ._operations import Operations +from ._managed_clusters_operations import ManagedClustersOperations +from ._agent_pools_operations import AgentPoolsOperations __all__ = [ 'Operations', 'ManagedClustersOperations', 'AgentPoolsOperations', - 'ContainerServicesOperations', ] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_agent_pools_operations.py new file mode 100755 index 00000000000..726d0444d0b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_agent_pools_operations.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 TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _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 AgentPoolsOperations(object): + """AgentPoolsOperations 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.containerservice.v2019_04_01.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 + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.AgentPoolListResult"] + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.AgentPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('AgentPoolListResult', 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.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore + + def get( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPool" + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPool, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.AgentPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + parameters, # type: "_models.AgentPool" + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPool" + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'AgentPool') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + parameters, # type: "_models.AgentPool" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AgentPool"] + """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.v2019_04_01.models.AgentPool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either AgentPool or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2019_04_01.models.AgentPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + 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, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :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] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_managed_clusters_operations.py new file mode 100755 index 00000000000..31e63da00d3 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_managed_clusters_operations.py @@ -0,0 +1,1122 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 ManagedClustersOperations(object): + """ManagedClustersOperations 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.containerservice.v2019_04_01.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: (...) -> Iterable["_models.ManagedClusterListResult"] + """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. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ManagedClusterListResult"] + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + def get_upgrade_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedClusterUpgradeProfile" + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.get_upgrade_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore + + def get_access_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + role_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedClusterAccessProfile" + """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. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterAccessProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterAccessProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.get_access_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterAccessProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore + + def list_cluster_admin_credentials( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore + + def list_cluster_user_credentials( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_user_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore + + def get( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedCluster, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedCluster" + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedCluster') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedCluster" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ManagedCluster"] + """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.v2019_04_01.models.ManagedCluster + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def _update_tags_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.TagsObject" + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_tags_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'TagsObject') + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def begin_update_tags( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.TagsObject" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ManagedCluster"] + """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 parameters: Parameters supplied to the Update Managed Cluster Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2019_04_01.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :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] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def _reset_service_principal_profile_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') + 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, {}) + + _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + def begin_reset_service_principal_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """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 parameters: Parameters supplied to the Reset Service Principal Profile operation for a + Managed Cluster. + :type parameters: ~azure.mgmt.containerservice.v2019_04_01.models.ManagedClusterServicePrincipalProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :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] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + def _reset_aad_profile_initial( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterAADProfile" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_aad_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterAADProfile') + 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, {}) + + _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + def begin_reset_aad_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterAADProfile" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """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.v2019_04_01.models.ManagedClusterAADProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :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] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_operations.py new file mode 100755 index 00000000000..5019cf30003 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/_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. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _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 Operations(object): + """Operations 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.containerservice.v2019_04_01.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: (...) -> Iterable["_models.OperationListResult"] + """Gets a list of compute operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2019_04_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-04-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + 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 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.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/agent_pools_operations.py deleted file mode 100644 index 84711d2c78c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/agent_pools_operations.py +++ /dev/null @@ -1,376 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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. - - :param client: Client for service requests. - :param config: 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-04-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-04-01" - - self.config = config - - def list( - self, resource_group_name, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_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 AgentPool - :rtype: - ~azure.mgmt.containerservice.v2019_04_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2019_04_01.models.AgentPool] - :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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_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) - response = self._client.send(request, stream=False, **operation_config) - - if response.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.AgentPoolPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.AgentPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{managedClusterName}/agentPools'} - - def get( - self, resource_group_name, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_cluster_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.v2019_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), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_cluster_name, 'str'), - '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/{managedClusterName}/agentPools/{agentPoolName}'} - - - def _create_or_update_initial( - self, resource_group_name, managed_cluster_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), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_cluster_name, 'str'), - '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, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_cluster_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.v2019_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.v2019_04_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_04_01.models.AgentPool]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - managed_cluster_name=managed_cluster_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/{managedClusterName}/agentPools/{agentPoolName}'} - - - def _delete_initial( - self, resource_group_name, managed_cluster_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), - 'managedClusterName': self._serialize.url("managed_cluster_name", managed_cluster_name, 'str'), - '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, managed_cluster_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 managed_cluster_name: The name of the managed cluster resource. - :type managed_cluster_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, - managed_cluster_name=managed_cluster_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/{managedClusterName}/agentPools/{agentPoolName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/container_services_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/container_services_operations.py deleted file mode 100644 index ccd56822682..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/container_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 ContainerServicesOperations(object): - """ContainerServicesOperations 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: "2019-04-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-04-01" - - self.config = config - - def list_orchestrators( - self, location, resource_type=None, custom_headers=None, raw=False, **operation_config): - """Gets a list of supported orchestrators in the specified subscription. - - Gets a list of supported orchestrators in the specified subscription. - The operation returns properties of each orchestrator including - version, available upgrades and whether that version or upgrades are in - preview. - - :param location: The name of a supported Azure region. - :type location: str - :param resource_type: resource type for which the list of - orchestrators needs to be returned - :type resource_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: OrchestratorVersionProfileListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2019_04_01.models.OrchestratorVersionProfileListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.list_orchestrators.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') - if resource_type is not None: - query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('OrchestratorVersionProfileListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list_orchestrators.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/managed_clusters_operations.py deleted file mode 100644 index 75a89237883..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/managed_clusters_operations.py +++ /dev/null @@ -1,987 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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. - - :param client: Client for service requests. - :param config: 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-04-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-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.v2019_04_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] - :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.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - 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.v2019_04_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_04_01.models.ManagedCluster] - :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 = { - '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) - response = self._client.send(request, stream=False, **operation_config) - - if response.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.ManagedClusterPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ManagedClusterPaged(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.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.v2019_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = 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. - - :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.v2019_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'), - '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.v2019_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not 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.v2019_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not 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 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.v2019_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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.v2019_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.v2019_04_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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.v2019_04_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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.v2019_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'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_01/operations/operations.py deleted file mode 100644 index 938b64e8f62..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_04_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: "2019-04-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-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.v2019_04_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2019_04_01.models.OperationValue] - :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.OperationValuePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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/v2019_08_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/_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 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/v2019_08_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/_container_service_client.py deleted file mode 100644 index 1b24da013b7..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/_container_service_client.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.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.v2019_08_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2019_08_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2019_08_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 = '2019-08-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/v2019_08_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/__init__.py deleted file mode 100644 index 48e637b7940..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/__init__.py +++ /dev/null @@ -1,152 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 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 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 ManagedClusterServicePrincipalProfile - 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 -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 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 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 ManagedClusterServicePrincipalProfile - 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 ._paged_models import AgentPoolPaged -from ._paged_models import ManagedClusterPaged -from ._paged_models import OperationValuePaged -from ._container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - OSType, - AgentPoolType, - ScaleSetPriority, - ScaleSetEvictionPolicy, - NetworkPlugin, - NetworkPolicy, - LoadBalancerSku, - ResourceIdentityType, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CredentialResult', - 'CredentialResults', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterIdentity', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'Resource', - 'ResourceReference', - 'SubResource', - 'TagsObject', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'NetworkPlugin', - 'NetworkPolicy', - 'LoadBalancerSku', - 'ResourceIdentityType', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_container_service_client_enums.py deleted file mode 100644 index aa6915a8def..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,244 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ScaleSetPriority(str, Enum): - - low = "Low" - 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 LoadBalancerSku(str, Enum): - - standard = "standard" - basic = "basic" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - none = "None" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_models.py deleted file mode 100644 index 4c0109fc000..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_models.py +++ /dev/null @@ -1,1781 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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.v2019_08_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.v2019_08_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.v2019_08_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_08_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_08_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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.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.v2019_08_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.v2019_08_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_08_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - 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) - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_01.models.NetworkPolicy - :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 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.v2019_08_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2019_08_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'}, - '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'}, - '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.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.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.v2019_08_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.v2019_08_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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_08_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterAADProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterAPIServerAccessProfile - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterIdentity - """ - - _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}, - } - - _attribute_map = { - 'id': {'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'}, - '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'}, - 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - } - - 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.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.api_server_access_profile = kwargs.get('api_server_access_profile', None) - self.identity = kwargs.get('identity', None) - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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.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. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.config = kwargs.get('config', None) - - -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 1 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.v2019_08_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.v2019_08_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.v2019_08_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_08_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_08_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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.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 1 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.v2019_08_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.v2019_08_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.v2019_08_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_08_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_08_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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.v2019_08_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.v2019_08_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ResourceReference] - """ - - _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]'}, - } - - 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) - - -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.v2019_08_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.v2019_08_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.v2019_08_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_08_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 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 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.v2019_08_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.v2019_08_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}, - } - - _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/v2019_08_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_models_py3.py deleted file mode 100644 index 74045b0ca16..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_models_py3.py +++ /dev/null @@ -1,1781 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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.v2019_08_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.v2019_08_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.v2019_08_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_08_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_08_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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.orchestrator_version = orchestrator_version - 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.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.v2019_08_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.v2019_08_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_08_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=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 - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_01.models.NetworkPolicy - :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 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.v2019_08_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2019_08_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'}, - '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'}, - 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, - 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, - } - - def __init__(self, *, network_plugin="kubenet", network_policy=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", 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.pod_cidr = pod_cidr - self.service_cidr = service_cidr - self.dns_service_ip = dns_service_ip - self.docker_bridge_cidr = docker_bridge_cidr - 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.v2019_08_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.v2019_08_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 - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_08_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterAADProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterAPIServerAccessProfile - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterIdentity - """ - - _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}, - } - - _attribute_map = { - 'id': {'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'}, - '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'}, - 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - } - - 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, api_server_access_profile=None, identity=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.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.api_server_access_profile = api_server_access_profile - self.identity = identity - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config - - -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 1 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.v2019_08_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.v2019_08_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.v2019_08_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_08_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_08_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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.orchestrator_version = orchestrator_version - 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.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 1 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.v2019_08_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.v2019_08_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.v2019_08_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_08_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_08_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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, orchestrator_version=orchestrator_version, 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, 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.v2019_08_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.v2019_08_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2019_08_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ResourceReference] - """ - - _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]'}, - } - - def __init__(self, *, managed_outbound_ips=None, outbound_ip_prefixes=None, outbound_ips=None, effective_outbound_ips=None, **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 - - -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.v2019_08_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.v2019_08_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.v2019_08_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_08_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 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 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.v2019_08_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.v2019_08_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}, - } - - _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/v2019_08_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_paged_models.py deleted file mode 100644 index 7a0bf6178a3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/models/_paged_models.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.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/v2019_08_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/__init__.py deleted file mode 100644 index d1b67f7888b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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/v2019_08_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_agent_pools_operations.py deleted file mode 100644 index 4b0c67ec86c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_agent_pools_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 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: "2019-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-08-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.v2019_08_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2019_08_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.v2019_08_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.v2019_08_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.v2019_08_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_08_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.v2019_08_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, agent_pool_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 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: AgentPoolAvailableVersions or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2019_08_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]$'), - '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('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}/agentPools/{agentPoolName}/availableAgentPoolVersions'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_managed_clusters_operations.py deleted file mode 100644 index 45981b993c0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,988 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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: "2019-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-08-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.v2019_08_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_08_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.v2019_08_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. - - :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.v2019_08_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.v2019_08_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.v2019_08_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 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.v2019_08_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.v2019_08_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.v2019_08_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_08_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.v2019_08_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_08_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.v2019_08_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'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/operations/_operations.py deleted file mode 100644 index b1c5b037dc2..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_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-08-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-08-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.v2019_08_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2019_08_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/v2019_08_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/version.py deleted file mode 100644 index b99c58c616c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_08_01/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 = "2019-08-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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/v2019_10_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/_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 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/v2019_10_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/_container_service_client.py deleted file mode 100644 index 7fa72ba83f4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/_container_service_client.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.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.v2019_10_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2019_10_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2019_10_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 = '2019-10-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/v2019_10_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/__init__.py deleted file mode 100644 index 48e637b7940..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/__init__.py +++ /dev/null @@ -1,152 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 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 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 ManagedClusterServicePrincipalProfile - 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 -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 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 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 ManagedClusterServicePrincipalProfile - 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 ._paged_models import AgentPoolPaged -from ._paged_models import ManagedClusterPaged -from ._paged_models import OperationValuePaged -from ._container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - OSType, - AgentPoolType, - ScaleSetPriority, - ScaleSetEvictionPolicy, - NetworkPlugin, - NetworkPolicy, - LoadBalancerSku, - ResourceIdentityType, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CredentialResult', - 'CredentialResults', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterIdentity', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'Resource', - 'ResourceReference', - 'SubResource', - 'TagsObject', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'NetworkPlugin', - 'NetworkPolicy', - 'LoadBalancerSku', - 'ResourceIdentityType', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_container_service_client_enums.py deleted file mode 100644 index aa6915a8def..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,244 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ScaleSetPriority(str, Enum): - - low = "Low" - 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 LoadBalancerSku(str, Enum): - - standard = "standard" - basic = "basic" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - none = "None" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_models.py deleted file mode 100644 index 09b26f78d26..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_models.py +++ /dev/null @@ -1,1786 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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.v2019_10_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.v2019_10_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.v2019_10_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_10_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_10_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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.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.v2019_10_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.v2019_10_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_10_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - 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) - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2019_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 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.v2019_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 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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_01.models.NetworkPolicy - :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 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.v2019_10_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2019_10_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'}, - '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'}, - '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.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.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.v2019_10_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.v2019_10_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.v2019_10_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_10_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterAADProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterAPIServerAccessProfile - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterIdentity - """ - - _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'}, - 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - } - - 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.api_server_access_profile = kwargs.get('api_server_access_profile', None) - self.identity = kwargs.get('identity', None) - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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.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. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.config = kwargs.get('config', None) - - -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 1 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.v2019_10_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.v2019_10_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.v2019_10_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_10_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_10_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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.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 1 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.v2019_10_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.v2019_10_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.v2019_10_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_10_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_10_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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.v2019_10_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.v2019_10_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ResourceReference] - """ - - _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]'}, - } - - 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) - - -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.v2019_10_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.v2019_10_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.v2019_10_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_10_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 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 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.v2019_10_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.v2019_10_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}, - } - - _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/v2019_10_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_models_py3.py deleted file mode 100644 index b5a92a16a2a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_models_py3.py +++ /dev/null @@ -1,1786 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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.v2019_10_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.v2019_10_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.v2019_10_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_10_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_10_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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.orchestrator_version = orchestrator_version - 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.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.v2019_10_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.v2019_10_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_10_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=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 - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2019_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 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.v2019_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 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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_01.models.NetworkPolicy - :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 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.v2019_10_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2019_10_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'}, - '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'}, - 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, - 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, - } - - def __init__(self, *, network_plugin="kubenet", network_policy=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", 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.pod_cidr = pod_cidr - self.service_cidr = service_cidr - self.dns_service_ip = dns_service_ip - self.docker_bridge_cidr = docker_bridge_cidr - 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.v2019_10_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.v2019_10_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.v2019_10_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2019_10_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterAADProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterAPIServerAccessProfile - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterIdentity - """ - - _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'}, - 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - } - - 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, api_server_access_profile=None, identity=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.api_server_access_profile = api_server_access_profile - self.identity = identity - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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. - - 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] - """ - - _validation = { - 'enabled': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'config': {'key': 'config', 'type': '{str}'}, - } - - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config - - -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 1 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.v2019_10_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.v2019_10_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.v2019_10_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_10_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_10_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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.orchestrator_version = orchestrator_version - 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.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 1 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.v2019_10_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.v2019_10_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.v2019_10_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :param availability_zones: (PREVIEW) 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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2019_10_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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.v2019_10_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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, orchestrator_version=orchestrator_version, 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, 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.v2019_10_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.v2019_10_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2019_10_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ResourceReference] - """ - - _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]'}, - } - - def __init__(self, *, managed_outbound_ips=None, outbound_ip_prefixes=None, outbound_ips=None, effective_outbound_ips=None, **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 - - -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.v2019_10_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.v2019_10_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.v2019_10_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2019_10_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 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 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.v2019_10_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.v2019_10_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}, - } - - _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/v2019_10_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_paged_models.py deleted file mode 100644 index ea9bb9008ff..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/models/_paged_models.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.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/v2019_10_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/__init__.py deleted file mode 100644 index d1b67f7888b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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/v2019_10_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_agent_pools_operations.py deleted file mode 100644 index c9dbdd83076..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,511 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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: "2019-10-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-10-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.v2019_10_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_10_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.v2019_10_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.v2019_10_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/v2019_10_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_managed_clusters_operations.py deleted file mode 100644 index 140c54a4529..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1134 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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: "2019-10-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-10-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.v2019_10_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2019_10_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.v2019_10_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. - - :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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_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.v2019_10_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_10_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.v2019_10_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2019_10_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.v2019_10_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/v2019_10_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/operations/_operations.py deleted file mode 100644 index b24ee7de294..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_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-10-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-10-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.v2019_10_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2019_10_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/v2019_10_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/version.py deleted file mode 100644 index f0880ef4951..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2019_10_01/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 = "2019-10-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_01_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/_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 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_01_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/_container_service_client.py deleted file mode 100644 index ce5db51f7e3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/_container_service_client.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.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_01_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_01_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_01_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-01-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_01_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/__init__.py deleted file mode 100644 index 671f9f9401d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/__init__.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. -# -------------------------------------------------------------------------- - -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 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 ManagedClusterPropertiesIdentityProfileValue - from ._models_py3 import ManagedClusterServicePrincipalProfile - 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 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 ManagedClusterPropertiesIdentityProfileValue - from ._models import ManagedClusterServicePrincipalProfile - 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, - ScaleSetPriority, - ScaleSetEvictionPolicy, - NetworkPlugin, - NetworkPolicy, - OutboundType, - LoadBalancerSku, - ResourceIdentityType, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CredentialResult', - 'CredentialResults', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAddonProfileIdentity', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterIdentity', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'Resource', - 'ResourceReference', - 'SubResource', - 'TagsObject', - 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'NetworkPlugin', - 'NetworkPolicy', - 'OutboundType', - 'LoadBalancerSku', - 'ResourceIdentityType', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_container_service_client_enums.py deleted file mode 100644 index 1f16ba53a9b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,250 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ScaleSetPriority(str, Enum): - - low = "Low" - 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 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" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_models.py deleted file mode 100644 index 5a036d538db..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_models.py +++ /dev/null @@ -1,1924 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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_01_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_01_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_01_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_01_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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_01_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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.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_01_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_01_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_01_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - 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) - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_01_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_01_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_01_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_01_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_01_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_01_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_01_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_01_01.models.NetworkPolicy - :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_01_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_01_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_01_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'}, - '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.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_01_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_01_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_01_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_01_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_01_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_01_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_01_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_01_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_01_01.models.ManagedClusterAADProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_01_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_01_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_01_01.models.ManagedClusterIdentity - """ - - _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'}, - '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'}, - } - - 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.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) - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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.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_01_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 1 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_01_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_01_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_01_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_01_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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_01_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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.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 1 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_01_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_01_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_01_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_01_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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_01_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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_01_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_01_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_01_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_01_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_01_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_01_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_01_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_01_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_01_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 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 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_01_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_01_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}, - } - - _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_01_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_models_py3.py deleted file mode 100644 index 8e8fe49b76d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_models_py3.py +++ /dev/null @@ -1,1924 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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_01_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_01_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_01_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_01_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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_01_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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.orchestrator_version = orchestrator_version - 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.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_01_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_01_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_01_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=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 - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_01_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_01_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_01_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_01_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_01_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_01_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_01_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_01_01.models.NetworkPolicy - :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_01_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_01_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_01_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'}, - '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, 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.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_01_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_01_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_01_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_01_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_01_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_01_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_01_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_01_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_01_01.models.ManagedClusterAADProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_01_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_01_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_01_01.models.ManagedClusterIdentity - """ - - _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'}, - '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'}, - } - - 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, api_server_access_profile=None, disk_encryption_set_id: str=None, identity_profile=None, identity=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.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 - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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_01_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 1 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_01_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_01_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_01_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_01_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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_01_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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.orchestrator_version = orchestrator_version - 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.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 1 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_01_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_01_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_01_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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: - 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_01_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for low priority 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_01_01.models.ScaleSetEvictionPolicy - :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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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'}, - '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, orchestrator_version: str=None, availability_zones=None, enable_node_public_ip: bool=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", 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, orchestrator_version=orchestrator_version, 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, 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_01_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_01_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_01_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_01_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_01_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_01_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_01_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_01_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_01_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 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 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_01_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_01_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}, - } - - _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_01_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_paged_models.py deleted file mode 100644 index b665e1d7374..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/models/_paged_models.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.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_01_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/__init__.py deleted file mode 100644 index d1b67f7888b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_01_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_agent_pools_operations.py deleted file mode 100644 index fd546934dd5..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,511 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-01-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-01-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_01_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_01_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_01_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_01_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_01_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_01_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_01_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_01_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_01_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_managed_clusters_operations.py deleted file mode 100644 index a2214fb5ecd..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1134 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-01-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-01-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_01_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_01_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_01_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_01_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_01_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. - - :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_01_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_01_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_01_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_01_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_01_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_01_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_01_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_01_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_01_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_01_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_01_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_01_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/operations/_operations.py deleted file mode 100644 index 6b5107c85ee..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_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: "2020-01-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-01-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_01_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_01_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_01_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/version.py deleted file mode 100644 index b25da413d3a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_01_01/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 = "2020-01-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_02_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/_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 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_02_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/_container_service_client.py deleted file mode 100644 index 7f744a9e6c5..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/_container_service_client.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.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_02_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_02_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_02_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-02-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_02_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/__init__.py deleted file mode 100644 index 671e627031d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/__init__.py +++ /dev/null @@ -1,168 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 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 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 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 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, - ScaleSetPriority, - ScaleSetEvictionPolicy, - NetworkPlugin, - NetworkPolicy, - NetworkMode, - OutboundType, - LoadBalancerSku, - ResourceIdentityType, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - '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', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'Resource', - 'ResourceReference', - 'SubResource', - 'TagsObject', - 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', - 'LoadBalancerSku', - 'ResourceIdentityType', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_container_service_client_enums.py deleted file mode 100644 index 50453fcda77..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,257 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ScaleSetPriority(str, Enum): - - spot = "Spot" - low = "Low" - 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" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_models.py deleted file mode 100644 index 8de59fafd3e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_models.py +++ /dev/null @@ -1,2000 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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_02_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_02_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_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_02_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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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_02_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_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_02_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - 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) - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterIdentity - """ - - _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'}, - } - - 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) - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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.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_02_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 1 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_02_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_02_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_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_02_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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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.orchestrator_version = kwargs.get('orchestrator_version', 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 1 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_02_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_02_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_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_02_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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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_02_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_02_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_02_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_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_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_02_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 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 = { - '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.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 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_02_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_02_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}, - } - - _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_02_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_models_py3.py deleted file mode 100644 index 6f8b2a412c3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_models_py3.py +++ /dev/null @@ -1,2000 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 1 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_02_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_02_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_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_02_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': 1}, - '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'}, - 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, - '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, orchestrator_version: str=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.orchestrator_version = orchestrator_version - 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_02_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_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_02_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=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 - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_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_02_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_02_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_02_01.models.ManagedClusterIdentity - """ - - _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'}, - } - - 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, **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 - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - All required parameters must be populated in order to send to Azure. - - :param client_app_id: Required. The client AAD application ID. - :type client_app_id: str - :param server_app_id: Required. 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 - """ - - _validation = { - 'client_app_id': {'required': True}, - 'server_app_id': {'required': True}, - } - - _attribute_map = { - '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, *, client_app_id: str, server_app_id: str, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: - super(ManagedClusterAADProfile, self).__init__(**kwargs) - 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_02_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 1 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_02_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_02_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_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_02_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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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, orchestrator_version: str=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.orchestrator_version = orchestrator_version - 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 1 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_02_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_02_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_02_01.models.AgentPoolType - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_02_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_02_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': 1}, - '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'}, - 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, - '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, orchestrator_version: str=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, orchestrator_version=orchestrator_version, 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_02_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_02_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_02_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_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_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_02_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 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 = { - '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, *, 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.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 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_02_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_02_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}, - } - - _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_02_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_paged_models.py deleted file mode 100644 index 5d90997da62..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/models/_paged_models.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.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_02_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_agent_pools_operations.py deleted file mode 100644 index 71b48ccc96d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,511 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-02-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_02_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_02_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_02_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_02_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_02_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_managed_clusters_operations.py deleted file mode 100644 index 47a0a3d7734..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1134 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-02-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_02_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_02_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_02_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. - - :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_02_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_02_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_02_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_02_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_02_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_02_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_02_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_02_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_02_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_02_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_02_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_02_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/operations/_operations.py deleted file mode 100644 index 8d979dcf503..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_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: "2020-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-02-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_02_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_02_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_02_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/version.py deleted file mode 100644 index 5bb7dbc2923..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_02_01/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 = "2020-02-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_03_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/_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 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_03_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/_container_service_client.py deleted file mode 100644 index 112dfe36bd0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/_container_service_client.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.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_03_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_03_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_03_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-03-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_03_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/__init__.py deleted file mode 100644 index 89500883421..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/__init__.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. -# -------------------------------------------------------------------------- - -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 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 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', - '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_03_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_container_service_client_enums.py deleted file mode 100644 index de84d5d535e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,274 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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" - low = "Low" - 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_03_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models.py deleted file mode 100644 index 574edaefa33..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models.py +++ /dev/null @@ -1,2052 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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_03_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_03_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_03_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_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_03_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_03_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'}, - '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.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_03_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_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_03_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - 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) - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_03_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_03_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_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_03_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_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_03_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_03_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'}, - '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.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_03_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_03_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_03_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_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_03_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_03_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'}, - '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_03_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_03_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_03_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_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_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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}, - } - - _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_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 deleted file mode 100644 index 283955ed3b7..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_models_py3.py +++ /dev/null @@ -1,2052 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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_03_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_03_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_03_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_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_03_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_03_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'}, - '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, 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.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_03_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_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_03_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - """ - - _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]'}, - } - - def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=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 - - -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 CloudError(Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_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_03_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_03_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_03_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_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_03_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_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_03_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_03_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'}, - '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, 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.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_03_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_03_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_03_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_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :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', 'Low', 'Regular'. Default value: "Regular" . - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2020_03_01.models.ScaleSetPriority - :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to - specify eviction policy for Spot or low priority 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_03_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'}, - '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, 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, 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_03_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_03_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_03_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_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_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_03_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_03_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_03_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}, - } - - _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_03_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_paged_models.py deleted file mode 100644 index 77509d66a18..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/models/_paged_models.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.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_03_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/__init__.py deleted file mode 100644 index d1b67f7888b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_03_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_agent_pools_operations.py deleted file mode 100644 index 31502eda0fc..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,511 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-03-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_03_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_03_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_03_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_03_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_03_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_managed_clusters_operations.py deleted file mode 100644 index f54fbca2f5d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1134 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-03-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_03_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_03_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_03_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. - - :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_03_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_03_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_03_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_03_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_03_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_03_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_03_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_03_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_03_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_03_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_03_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_03_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/operations/_operations.py deleted file mode 100644 index a3f40bf04b0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_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: "2020-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-03-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_03_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_03_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_03_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/version.py deleted file mode 100644 index 500c4bb0269..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_03_01/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 = "2020-03-01" - 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 deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_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 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 deleted file mode 100644 index 152f8b782cd..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/_container_service_client.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.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 deleted file mode 100644 index f8c324d8029..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/__init__.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. -# -------------------------------------------------------------------------- - -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 deleted file mode 100644 index 2dc7cc068f9..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,273 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 deleted file mode 100644 index 27fe82d1858..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models.py +++ /dev/null @@ -1,2099 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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}, - } - - _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 deleted file mode 100644 index f9cd56462cc..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_models_py3.py +++ /dev/null @@ -1,2099 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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}, - } - - _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 deleted file mode 100644 index a32e4c22c1b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/models/_paged_models.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.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 deleted file mode 100644 index d1b67f7888b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 deleted file mode 100644 index cac05714e4d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,511 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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 deleted file mode 100644 index 8426985728b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1139 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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 deleted file mode 100644 index 9e91e7c0321..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_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: "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 deleted file mode 100644 index b4a222521b4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_04_01/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 = "2020-04-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_06_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/_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 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_06_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/_container_service_client.py deleted file mode 100644 index b98faa63f24..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/_container_service_client.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 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 .operations import PrivateEndpointConnectionsOperations -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_06_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_06_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_06_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2020_06_01.operations.PrivateEndpointConnectionsOperations - - :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-06-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) - self.private_endpoint_connections = PrivateEndpointConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/__init__.py deleted file mode 100644 index 37dc5be9275..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/__init__.py +++ /dev/null @@ -1,199 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 ManagedClusterIdentityUserAssignedIdentitiesValue - 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 PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateLinkServiceConnectionState - 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 ManagedClusterIdentityUserAssignedIdentitiesValue - 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 PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointConnectionListResult - from ._models import PrivateLinkServiceConnectionState - 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, - PrivateEndpointConnectionProvisioningState, - ConnectionStatus, -) - -__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', - 'ManagedClusterIdentityUserAssignedIdentitiesValue', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterSKU', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkServiceConnectionState', - 'Resource', - 'ResourceReference', - 'SubResource', - 'TagsObject', - 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSType', - 'AgentPoolType', - 'AgentPoolMode', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', - 'LoadBalancerSku', - 'ResourceIdentityType', - 'ManagedClusterSKUName', - 'ManagedClusterSKUTier', - 'PrivateEndpointConnectionProvisioningState', - 'ConnectionStatus', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_container_service_client_enums.py deleted file mode 100644 index 6dcc936f3a4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,290 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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" - user_assigned = "UserAssigned" - none = "None" - - -class ManagedClusterSKUName(str, Enum): - - basic = "Basic" - - -class ManagedClusterSKUTier(str, Enum): - - paid = "Paid" - free = "Free" - - -class PrivateEndpointConnectionProvisioningState(str, Enum): - - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - failed = "Failed" - - -class ConnectionStatus(str, Enum): - - pending = "Pending" - approved = "Approved" - rejected = "Rejected" - disconnected = "Disconnected" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_models.py deleted file mode 100644 index 2610b0b3afa..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_models.py +++ /dev/null @@ -1,2255 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: 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'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AgentPool, self).__init__(**kwargs) - self.count = kwargs.get('count', 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.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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', 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_06_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_06_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_06_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_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 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_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 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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_06_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_06_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_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_06_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_06_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_06_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_06_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_06_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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.enable_azure_rbac = kwargs.get('enable_azure_rbac', 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_06_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - """ - - _validation = { - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) - self.count = kwargs.get('count', 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.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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', 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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', '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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_06_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2020_06_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterIdentity, 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 ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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_06_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_06_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_06_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_06_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_06_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_06_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_06_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_06_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_06_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_06_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}, - } - - _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 PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_06_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_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.containerservice.v2020_06_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_06_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_06_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', 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_06_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_models_py3.py deleted file mode 100644 index 369cc817309..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_models_py3.py +++ /dev/null @@ -1,2255 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: 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'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, *, count: int=None, vm_size=None, 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, proximity_placement_group_id: str=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 - self.proximity_placement_group_id = proximity_placement_group_id - - -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_06_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_06_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_06_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_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 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_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 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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_06_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_06_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_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_06_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_06_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_06_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_06_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_06_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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, enable_azure_rbac: 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.enable_azure_rbac = enable_azure_rbac - 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_06_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - """ - - _validation = { - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, *, count: int=None, vm_size=None, 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, proximity_placement_group_id: str=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 - self.proximity_placement_group_id = proximity_placement_group_id - - -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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_06_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_06_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_06_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_06_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_06_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_06_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_06_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str, count: int=None, vm_size=None, 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, proximity_placement_group_id: str=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, proximity_placement_group_id=proximity_placement_group_id, **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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_06_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2020_06_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedClusterIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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_06_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_06_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_06_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_06_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_06_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_06_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_06_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_06_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_06_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_06_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}, - } - - _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 PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = id - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_06_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_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.containerservice.v2020_06_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_06_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_06_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, status=None, description: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - - -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_06_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_paged_models.py deleted file mode 100644 index 18a9e892f3e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/models/_paged_models.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.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_06_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/__init__.py deleted file mode 100644 index 1e7fcfbd1f0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 -from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations - -__all__ = [ - 'Operations', - 'ManagedClustersOperations', - 'AgentPoolsOperations', - 'PrivateEndpointConnectionsOperations', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_agent_pools_operations.py deleted file mode 100644 index 0f39c0800df..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,511 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-06-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-06-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_06_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_06_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_06_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_06_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_06_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_06_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_06_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_06_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_06_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_managed_clusters_operations.py deleted file mode 100644 index 05f377e85a6..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1139 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-06-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-06-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_06_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_06_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_06_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_06_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_06_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_06_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_06_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_06_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_06_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_06_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_06_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_06_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_06_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_06_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_06_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_operations.py deleted file mode 100644 index 8cf6be2277e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_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: "2020-06-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-06-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_06_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_06_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_06_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index 51b9fe38f32..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,348 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -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: Client Api Version. Constant value: "2020-06-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-06-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private endpoint connections in the specified managed - cluster. - - Gets a list of private endpoint connections in the specified managed - cluster. The operation returns properties of each private endpoint - connection. - - :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: PrivateEndpointConnectionListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_06_01.models.PrivateEndpointConnectionListResult - 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'), - '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('PrivateEndpointConnectionListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} - - def get( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the private endpoint connection. - - Gets the details of the private endpoint connection 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 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.containerservice.v2020_06_01.models.PrivateEndpointConnection - 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - def update( - self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): - """Updates a private endpoint connection. - - Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. - :type private_endpoint_connection_name: str - :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.containerservice.v2020_06_01.models.PrivateLinkServiceConnectionState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_06_01.models.PrivateEndpoint - :param dict custom_headers: headers that will 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.containerservice.v2020_06_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) - - # 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', 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - - def _delete_initial( - self, resource_group_name, resource_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'), - '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]$'), - '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') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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 - - def delete( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a private endpoint connection. - - Deletes the private endpoint connection 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 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 None or - ClientRawResponse 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, - private_endpoint_connection_name=private_endpoint_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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/version.py deleted file mode 100644 index 589be3af5bb..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_06_01/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 = "2020-06-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_09_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/_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 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_09_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/_container_service_client.py deleted file mode 100644 index 9edc6189016..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/_container_service_client.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.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 .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ResolvePrivateLinkServiceIdOperations -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_09_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_09_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_09_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2020_09_01.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResources operations - :vartype private_link_resources: azure.mgmt.containerservice.v2020_09_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceId operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2020_09_01.operations.ResolvePrivateLinkServiceIdOperations - - :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-09-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) - 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/__init__.py deleted file mode 100644 index e6f8e63bc67..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/__init__.py +++ /dev/null @@ -1,216 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 ManagedClusterIdentityUserAssignedIdentitiesValue - 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 PowerState - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourcesListResult - from ._models_py3 import PrivateLinkServiceConnectionState - 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 ManagedClusterIdentityUserAssignedIdentitiesValue - 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 PowerState - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointConnectionListResult - from ._models import PrivateLinkResource - from ._models import PrivateLinkResourcesListResult - from ._models import PrivateLinkServiceConnectionState - 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, - OSDiskType, - OSType, - AgentPoolType, - AgentPoolMode, - Code, - ScaleSetPriority, - ScaleSetEvictionPolicy, - LicenseType, - NetworkPlugin, - NetworkPolicy, - NetworkMode, - OutboundType, - LoadBalancerSku, - Expander, - ResourceIdentityType, - ManagedClusterSKUName, - ManagedClusterSKUTier, - PrivateEndpointConnectionProvisioningState, - ConnectionStatus, -) - -__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', - 'ManagedClusterIdentityUserAssignedIdentitiesValue', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterSKU', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'PowerState', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkResource', - 'PrivateLinkResourcesListResult', - 'PrivateLinkServiceConnectionState', - 'Resource', - 'ResourceReference', - 'SubResource', - 'TagsObject', - 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSDiskType', - 'OSType', - 'AgentPoolType', - 'AgentPoolMode', - 'Code', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'LicenseType', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', - 'LoadBalancerSku', - 'Expander', - 'ResourceIdentityType', - 'ManagedClusterSKUName', - 'ManagedClusterSKUTier', - 'PrivateEndpointConnectionProvisioningState', - 'ConnectionStatus', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_container_service_client_enums.py deleted file mode 100644 index 05f02c62b83..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,315 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 OSDiskType(str, Enum): - - managed = "Managed" - ephemeral = "Ephemeral" - - -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 Code(str, Enum): - - running = "Running" - stopped = "Stopped" - - -class ScaleSetPriority(str, Enum): - - spot = "Spot" - regular = "Regular" - - -class ScaleSetEvictionPolicy(str, Enum): - - delete = "Delete" - deallocate = "Deallocate" - - -class LicenseType(str, Enum): - - none = "None" - windows_server = "Windows_Server" - - -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 Expander(str, Enum): - - least_waste = "least-waste" - most_pods = "most-pods" - random = "random" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - none = "None" - - -class ManagedClusterSKUName(str, Enum): - - basic = "Basic" - - -class ManagedClusterSKUTier(str, Enum): - - paid = "Paid" - free = "Free" - - -class PrivateEndpointConnectionProvisioningState(str, Enum): - - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - failed = "Failed" - - -class ConnectionStatus(str, Enum): - - pending = "Pending" - approved = "Approved" - rejected = "Rejected" - disconnected = "Disconnected" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_models.py deleted file mode 100644 index b72f9fef3ac..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_models.py +++ /dev/null @@ -1,2420 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_09_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.OSDiskType - :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_09_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_09_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_09_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_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_09_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AgentPool, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', 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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', 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_09_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_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_09_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_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 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_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 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_09_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_09_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_09_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_09_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_09_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_09_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_09_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_09_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_09_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_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_09_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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_09_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_09_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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_09_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_09_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_09_01.models.ManagedClusterSKU - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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.power_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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.enable_azure_rbac = kwargs.get('enable_azure_rbac', 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_09_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_09_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.OSDiskType - :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_09_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_09_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_09_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_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_09_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', 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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', 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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_09_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.OSDiskType - :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_09_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_09_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_09_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_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_09_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', '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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2020_09_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterIdentity, 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 ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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_09_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_09_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_09_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_09_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_09_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_09_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_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_09_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 expander: Possible values include: 'least-waste', 'most-pods', - 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2020_09_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) - self.expander = kwargs.get('expander', None) - self.max_empty_bulk_delete = kwargs.get('max_empty_bulk_delete', None) - self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) - self.max_total_unready_percentage = kwargs.get('max_total_unready_percentage', None) - self.new_pod_scale_up_delay = kwargs.get('new_pod_scale_up_delay', None) - self.ok_total_unready_count = kwargs.get('ok_total_unready_count', 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.skip_nodes_with_local_storage = kwargs.get('skip_nodes_with_local_storage', None) - self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', 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_09_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_09_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_09_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_09_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 - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', '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) - self.license_type = kwargs.get('license_type', 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 PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2020_09_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PowerState, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_09_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_09_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.containerservice.v2020_09_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_09_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.group_id = kwargs.get('group_id', None) - self.required_members = kwargs.get('required_members', None) - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_09_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_09_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', 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_09_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_models_py3.py deleted file mode 100644 index 1d9e43d5bec..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_models_py3.py +++ /dev/null @@ -1,2420 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_09_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.OSDiskType - :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_09_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_09_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_09_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_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_09_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=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, 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, proximity_placement_group_id: str=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.os_disk_type = os_disk_type - 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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_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 - self.proximity_placement_group_id = proximity_placement_group_id - - -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_09_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_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_09_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_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 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_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 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_09_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_09_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_09_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_09_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_09_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_09_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_09_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_09_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_09_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_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_09_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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_09_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_09_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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_09_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_09_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_09_01.models.ManagedClusterSKU - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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.power_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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, enable_azure_rbac: 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.enable_azure_rbac = enable_azure_rbac - 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_09_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_09_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.OSDiskType - :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_09_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_09_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_09_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_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_09_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - } - - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=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, 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, proximity_placement_group_id: str=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.os_disk_type = os_disk_type - 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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_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 - self.proximity_placement_group_id = proximity_placement_group_id - - -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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_09_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.OSDiskType - :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_09_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_09_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_09_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_09_01.models.PowerState - :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_09_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_09_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=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, 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, proximity_placement_group_id: str=None, **kwargs) -> None: - super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, 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, 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, proximity_placement_group_id=proximity_placement_group_id, **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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2020_09_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedClusterIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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_09_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_09_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_09_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_09_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_09_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_09_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_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_09_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 expander: Possible values include: 'least-waste', 'most-pods', - 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2020_09_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_empty_bulk_delete: str=None, max_graceful_termination_sec: str=None, max_total_unready_percentage: str=None, new_pod_scale_up_delay: str=None, ok_total_unready_count: 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, skip_nodes_with_local_storage: str=None, skip_nodes_with_system_pods: str=None, **kwargs) -> None: - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = balance_similar_node_groups - self.expander = expander - self.max_empty_bulk_delete = max_empty_bulk_delete - self.max_graceful_termination_sec = max_graceful_termination_sec - self.max_total_unready_percentage = max_total_unready_percentage - self.new_pod_scale_up_delay = new_pod_scale_up_delay - self.ok_total_unready_count = ok_total_unready_count - 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.skip_nodes_with_local_storage = skip_nodes_with_local_storage - self.skip_nodes_with_system_pods = skip_nodes_with_system_pods - - -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_09_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_09_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_09_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_09_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 - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2020_09_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', 'type': 'str'}, - } - - def __init__(self, *, admin_username: str, admin_password: str=None, license_type=None, **kwargs) -> None: - super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password - self.license_type = license_type - - -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 PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2020_09_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, *, code=None, **kwargs) -> None: - super(PowerState, self).__init__(**kwargs) - self.code = code - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = id - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_09_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_09_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.containerservice.v2020_09_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_09_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: str=None, required_members=None, **kwargs) -> None: - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = id - self.name = name - self.type = type - self.group_id = group_id - self.required_members = required_members - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_09_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_09_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, status=None, description: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - - -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_09_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_paged_models.py deleted file mode 100644 index 9bd6710b865..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/models/_paged_models.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.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_09_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/__init__.py deleted file mode 100644 index fecbc32dd78..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 -from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations -from ._private_link_resources_operations import PrivateLinkResourcesOperations -from ._resolve_private_link_service_id_operations import ResolvePrivateLinkServiceIdOperations - -__all__ = [ - 'Operations', - 'ManagedClustersOperations', - 'AgentPoolsOperations', - 'PrivateEndpointConnectionsOperations', - 'PrivateLinkResourcesOperations', - 'ResolvePrivateLinkServiceIdOperations', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_agent_pools_operations.py deleted file mode 100644 index eeefe4cf734..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,511 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-09-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_09_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_09_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_09_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_09_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_09_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_09_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_09_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_09_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_09_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_managed_clusters_operations.py deleted file mode 100644 index e32eeafdef3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1400 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-09-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_09_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_09_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_09_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_09_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_09_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_09_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_09_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_09_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_09_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_09_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_09_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_09_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_09_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_09_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'} - - - def _stop_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - '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 stop( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stop Managed Cluster. - - Stops a Running 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._stop_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) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} - - - def _start_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - '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 start( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Start Managed Cluster. - - Starts a Stopped 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._start_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) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} - - - def _upgrade_node_image_version_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.upgrade_node_image_version.metadata['url'] - path_format_arguments = { - '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.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 == 202: - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def upgrade_node_image_version( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Upgrade node image version of an agent pool to the latest. - - Upgrade node image version of an agent pool to the latest. - - :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 AgentPool or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2020_09_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_09_01.models.AgentPool]] - :raises: :class:`CloudError` - """ - raw_result = self._upgrade_node_image_version_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): - 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) - upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_operations.py deleted file mode 100644 index 4598ca46e67..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_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: "2020-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-09-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_09_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_09_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_09_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index 99a30128655..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,348 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -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: Client Api Version. Constant value: "2020-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-09-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private endpoint connections in the specified managed - cluster. - - Gets a list of private endpoint connections in the specified managed - cluster. The operation returns properties of each private endpoint - connection. - - :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: PrivateEndpointConnectionListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_09_01.models.PrivateEndpointConnectionListResult - 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'), - '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('PrivateEndpointConnectionListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} - - def get( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the private endpoint connection. - - Gets the details of the private endpoint connection 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 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.containerservice.v2020_09_01.models.PrivateEndpointConnection - 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - def update( - self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): - """Updates a private endpoint connection. - - Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. - :type private_endpoint_connection_name: str - :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.containerservice.v2020_09_01.models.PrivateLinkServiceConnectionState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_09_01.models.PrivateEndpoint - :param dict custom_headers: headers that will 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.containerservice.v2020_09_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) - - # 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', 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - - def _delete_initial( - self, resource_group_name, resource_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'), - '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]$'), - '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') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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 - - def delete( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a private endpoint connection. - - Deletes the private endpoint connection 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 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 None or - ClientRawResponse 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, - private_endpoint_connection_name=private_endpoint_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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_private_link_resources_operations.py deleted file mode 100644 index 902fc5cfb0a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_private_link_resources_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 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: Client Api Version. Constant value: "2020-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-09-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private link resources in the specified managed cluster. - - Gets a list of private link resources in the specified managed cluster. - The operation returns properties of each private link resource. - - :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: PrivateLinkResourcesListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_09_01.models.PrivateLinkResourcesListResult - 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'), - '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('PrivateLinkResourcesListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_resolve_private_link_service_id_operations.py deleted file mode 100644 index 90baa4322be..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/operations/_resolve_private_link_service_id_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 ResolvePrivateLinkServiceIdOperations(object): - """ResolvePrivateLinkServiceIdOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: 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-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-09-01" - - self.config = config - - def post( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets the private link service ID for the specified managed cluster. - - Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to - resolve a private link service ID. - :type parameters: - ~azure.mgmt.containerservice.v2020_09_01.models.PrivateLinkResource - :param dict custom_headers: headers that will 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.containerservice.v2020_09_01.models.PrivateLinkResource 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'), - '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, 'PrivateLinkResource') - - # 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('PrivateLinkResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/version.py deleted file mode 100644 index 16563e7d14c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_09_01/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 = "2020-09-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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_11_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/_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 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_11_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/_container_service_client.py deleted file mode 100644 index c795449f4ea..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/_container_service_client.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.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 .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ResolvePrivateLinkServiceIdOperations -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_11_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_11_01.operations.ManagedClustersOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_11_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2020_11_01.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResources operations - :vartype private_link_resources: azure.mgmt.containerservice.v2020_11_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceId operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2020_11_01.operations.ResolvePrivateLinkServiceIdOperations - - :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-11-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) - 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/__init__.py deleted file mode 100644 index babb4e3ed61..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/__init__.py +++ /dev/null @@ -1,244 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 KubeletConfig - from ._models_py3 import LinuxOSConfig - 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 ManagedClusterAutoUpgradeProfile - from ._models_py3 import ManagedClusterIdentity - from ._models_py3 import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models_py3 import ManagedClusterLoadBalancerProfile - from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models_py3 import ManagedClusterPodIdentity - from ._models_py3 import ManagedClusterPodIdentityException - from ._models_py3 import ManagedClusterPodIdentityProfile - from ._models_py3 import ManagedClusterPodIdentityProvisioningInfo - 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 PowerState - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourcesListResult - from ._models_py3 import PrivateLinkServiceConnectionState - from ._models_py3 import Resource - from ._models_py3 import ResourceReference - from ._models_py3 import SubResource - from ._models_py3 import SysctlConfig - 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 KubeletConfig - from ._models import LinuxOSConfig - 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 ManagedClusterAutoUpgradeProfile - from ._models import ManagedClusterIdentity - from ._models import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models import ManagedClusterLoadBalancerProfile - from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models import ManagedClusterPodIdentity - from ._models import ManagedClusterPodIdentityException - from ._models import ManagedClusterPodIdentityProfile - from ._models import ManagedClusterPodIdentityProvisioningInfo - 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 PowerState - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointConnectionListResult - from ._models import PrivateLinkResource - from ._models import PrivateLinkResourcesListResult - from ._models import PrivateLinkServiceConnectionState - from ._models import Resource - from ._models import ResourceReference - from ._models import SubResource - from ._models import SysctlConfig - 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, - OSDiskType, - OSType, - AgentPoolType, - AgentPoolMode, - Code, - ScaleSetPriority, - ScaleSetEvictionPolicy, - LicenseType, - NetworkPlugin, - NetworkPolicy, - NetworkMode, - OutboundType, - LoadBalancerSku, - ManagedClusterPodIdentityProvisioningState, - UpgradeChannel, - Expander, - ResourceIdentityType, - ManagedClusterSKUName, - ManagedClusterSKUTier, - PrivateEndpointConnectionProvisioningState, - ConnectionStatus, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'AgentPoolUpgradeSettings', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CredentialResult', - 'CredentialResults', - 'KubeletConfig', - 'LinuxOSConfig', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAddonProfileIdentity', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterAutoUpgradeProfile', - 'ManagedClusterIdentity', - 'ManagedClusterIdentityUserAssignedIdentitiesValue', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPodIdentity', - 'ManagedClusterPodIdentityException', - 'ManagedClusterPodIdentityProfile', - 'ManagedClusterPodIdentityProvisioningInfo', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterSKU', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'PowerState', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkResource', - 'PrivateLinkResourcesListResult', - 'PrivateLinkServiceConnectionState', - 'Resource', - 'ResourceReference', - 'SubResource', - 'SysctlConfig', - 'TagsObject', - 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSDiskType', - 'OSType', - 'AgentPoolType', - 'AgentPoolMode', - 'Code', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'LicenseType', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', - 'LoadBalancerSku', - 'ManagedClusterPodIdentityProvisioningState', - 'UpgradeChannel', - 'Expander', - 'ResourceIdentityType', - 'ManagedClusterSKUName', - 'ManagedClusterSKUTier', - 'PrivateEndpointConnectionProvisioningState', - 'ConnectionStatus', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_container_service_client_enums.py deleted file mode 100644 index 346a84f3900..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,331 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 OSDiskType(str, Enum): - - managed = "Managed" - ephemeral = "Ephemeral" - - -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 Code(str, Enum): - - running = "Running" - stopped = "Stopped" - - -class ScaleSetPriority(str, Enum): - - spot = "Spot" - regular = "Regular" - - -class ScaleSetEvictionPolicy(str, Enum): - - delete = "Delete" - deallocate = "Deallocate" - - -class LicenseType(str, Enum): - - none = "None" - windows_server = "Windows_Server" - - -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 ManagedClusterPodIdentityProvisioningState(str, Enum): - - assigned = "Assigned" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class UpgradeChannel(str, Enum): - - rapid = "rapid" - stable = "stable" - patch = "patch" - none = "none" - - -class Expander(str, Enum): - - least_waste = "least-waste" - most_pods = "most-pods" - random = "random" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - none = "None" - - -class ManagedClusterSKUName(str, Enum): - - basic = "Basic" - - -class ManagedClusterSKUTier(str, Enum): - - paid = "Paid" - free = "Free" - - -class PrivateEndpointConnectionProvisioningState(str, Enum): - - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - failed = "Failed" - - -class ConnectionStatus(str, Enum): - - pending = "Pending" - approved = "Approved" - rejected = "Rejected" - disconnected = "Disconnected" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_models.py deleted file mode 100644 index d55b788faae..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_models.py +++ /dev/null @@ -1,2856 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_11_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.OSDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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_11_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_11_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_11_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_11_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_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_11_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_11_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_11_01.models.LinuxOSConfig - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - } - - def __init__(self, **kwargs): - super(AgentPool, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', 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_11_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_11_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_11_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_11_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_11_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 KubeletConfig(Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. - :type fail_swap_on: bool - """ - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = kwargs.get('cpu_manager_policy', None) - self.cpu_cfs_quota = kwargs.get('cpu_cfs_quota', None) - self.cpu_cfs_quota_period = kwargs.get('cpu_cfs_quota_period', None) - self.image_gc_high_threshold = kwargs.get('image_gc_high_threshold', None) - self.image_gc_low_threshold = kwargs.get('image_gc_low_threshold', None) - self.topology_manager_policy = kwargs.get('topology_manager_policy', None) - self.allowed_unsafe_sysctls = kwargs.get('allowed_unsafe_sysctls', None) - self.fail_swap_on = kwargs.get('fail_swap_on', None) - - -class LinuxOSConfig(Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2020_11_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = kwargs.get('sysctls', None) - self.transparent_huge_page_enabled = kwargs.get('transparent_huge_page_enabled', None) - self.transparent_huge_page_defrag = kwargs.get('transparent_huge_page_defrag', None) - self.swap_file_size_mb = kwargs.get('swap_file_size_mb', 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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_11_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_11_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_11_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_11_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterSKU - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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.power_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.pod_identity_profile = kwargs.get('pod_identity_profile', 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_upgrade_profile = kwargs.get('auto_upgrade_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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.enable_azure_rbac = kwargs.get('enable_azure_rbac', 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_11_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_11_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.OSDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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_11_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_11_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_11_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_11_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_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_11_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_11_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_11_01.models.LinuxOSConfig - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', 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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_11_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.OSDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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_11_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_11_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_11_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_11_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_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_11_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_11_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_11_01.models.LinuxOSConfig - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - '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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - 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) - self.private_dns_zone = kwargs.get('private_dns_zone', None) - - -class ManagedClusterAutoUpgradeProfile(Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2020_11_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = kwargs.get('upgrade_channel', 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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2020_11_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterIdentity, 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 ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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_11_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_11_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_11_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_11_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_11_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_11_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 ManagedClusterPodIdentity(Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2020_11_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.identity = kwargs.get('identity', None) - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.pod_labels = kwargs.get('pod_labels', None) - - -class ManagedClusterPodIdentityProfile(Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) - self.user_assigned_identity_exceptions = kwargs.get('user_assigned_identity_exceptions', None) - - -class ManagedClusterPodIdentityProvisioningInfo(Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2020_11_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = kwargs.get('error', 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_11_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_11_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 expander: Possible values include: 'least-waste', 'most-pods', - 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2020_11_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) - self.expander = kwargs.get('expander', None) - self.max_empty_bulk_delete = kwargs.get('max_empty_bulk_delete', None) - self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) - self.max_total_unready_percentage = kwargs.get('max_total_unready_percentage', None) - self.new_pod_scale_up_delay = kwargs.get('new_pod_scale_up_delay', None) - self.ok_total_unready_count = kwargs.get('ok_total_unready_count', 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.skip_nodes_with_local_storage = kwargs.get('skip_nodes_with_local_storage', None) - self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', 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_11_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_11_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_11_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_11_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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters - :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', '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) - self.license_type = kwargs.get('license_type', 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 PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2020_11_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PowerState, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_11_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_11_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.containerservice.v2020_11_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_11_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.group_id = kwargs.get('group_id', None) - self.required_members = kwargs.get('required_members', None) - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_11_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_11_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', 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 SysctlConfig(Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_rmem: Sysctl setting net.ipv4.tcp_rmem. - :type net_ipv4_tcp_rmem: int - :param net_ipv4_tcp_wmem: Sysctl setting net.ipv4.tcp_wmem. - :type net_ipv4_tcp_wmem: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_rmem': {'key': 'netIpv4TcpRmem', 'type': 'int'}, - 'net_ipv4_tcp_wmem': {'key': 'netIpv4TcpWmem', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = kwargs.get('net_core_somaxconn', None) - self.net_core_netdev_max_backlog = kwargs.get('net_core_netdev_max_backlog', None) - self.net_core_rmem_max = kwargs.get('net_core_rmem_max', None) - self.net_core_wmem_max = kwargs.get('net_core_wmem_max', None) - self.net_core_optmem_max = kwargs.get('net_core_optmem_max', None) - self.net_ipv4_tcp_max_syn_backlog = kwargs.get('net_ipv4_tcp_max_syn_backlog', None) - self.net_ipv4_tcp_max_tw_buckets = kwargs.get('net_ipv4_tcp_max_tw_buckets', None) - self.net_ipv4_tcp_fin_timeout = kwargs.get('net_ipv4_tcp_fin_timeout', None) - self.net_ipv4_tcp_keepalive_time = kwargs.get('net_ipv4_tcp_keepalive_time', None) - self.net_ipv4_tcp_keepalive_probes = kwargs.get('net_ipv4_tcp_keepalive_probes', None) - self.net_ipv4_tcpkeepalive_intvl = kwargs.get('net_ipv4_tcpkeepalive_intvl', None) - self.net_ipv4_tcp_rmem = kwargs.get('net_ipv4_tcp_rmem', None) - self.net_ipv4_tcp_wmem = kwargs.get('net_ipv4_tcp_wmem', None) - self.net_ipv4_tcp_tw_reuse = kwargs.get('net_ipv4_tcp_tw_reuse', None) - self.net_ipv4_ip_local_port_range = kwargs.get('net_ipv4_ip_local_port_range', None) - self.net_ipv4_neigh_default_gc_thresh1 = kwargs.get('net_ipv4_neigh_default_gc_thresh1', None) - self.net_ipv4_neigh_default_gc_thresh2 = kwargs.get('net_ipv4_neigh_default_gc_thresh2', None) - self.net_ipv4_neigh_default_gc_thresh3 = kwargs.get('net_ipv4_neigh_default_gc_thresh3', None) - self.net_netfilter_nf_conntrack_max = kwargs.get('net_netfilter_nf_conntrack_max', None) - self.net_netfilter_nf_conntrack_buckets = kwargs.get('net_netfilter_nf_conntrack_buckets', None) - self.fs_inotify_max_user_watches = kwargs.get('fs_inotify_max_user_watches', None) - self.fs_file_max = kwargs.get('fs_file_max', None) - self.fs_aio_max_nr = kwargs.get('fs_aio_max_nr', None) - self.fs_nr_open = kwargs.get('fs_nr_open', None) - self.kernel_threads_max = kwargs.get('kernel_threads_max', None) - self.vm_max_map_count = kwargs.get('vm_max_map_count', None) - self.vm_swappiness = kwargs.get('vm_swappiness', None) - self.vm_vfs_cache_pressure = kwargs.get('vm_vfs_cache_pressure', 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_11_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_models_py3.py deleted file mode 100644 index a74cbef4668..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_models_py3.py +++ /dev/null @@ -1,2856 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_11_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.OSDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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_11_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_11_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_11_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_11_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_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_11_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_11_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_11_01.models.LinuxOSConfig - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - } - - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, vnet_subnet_id: str=None, pod_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, 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, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=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.os_disk_type = os_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - - -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_11_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_11_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_11_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_11_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_11_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 KubeletConfig(Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. - :type fail_swap_on: bool - """ - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - } - - def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cpu_cfs_quota_period: str=None, image_gc_high_threshold: int=None, image_gc_low_threshold: int=None, topology_manager_policy: str=None, allowed_unsafe_sysctls=None, fail_swap_on: bool=None, **kwargs) -> None: - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = cpu_manager_policy - self.cpu_cfs_quota = cpu_cfs_quota - self.cpu_cfs_quota_period = cpu_cfs_quota_period - self.image_gc_high_threshold = image_gc_high_threshold - self.image_gc_low_threshold = image_gc_low_threshold - self.topology_manager_policy = topology_manager_policy - self.allowed_unsafe_sysctls = allowed_unsafe_sysctls - self.fail_swap_on = fail_swap_on - - -class LinuxOSConfig(Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2020_11_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, transparent_huge_page_defrag: str=None, swap_file_size_mb: int=None, **kwargs) -> None: - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = sysctls - self.transparent_huge_page_enabled = transparent_huge_page_enabled - self.transparent_huge_page_defrag = transparent_huge_page_defrag - self.swap_file_size_mb = swap_file_size_mb - - -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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_11_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_11_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_11_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_11_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterSKU - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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, pod_identity_profile=None, node_resource_group: str=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, auto_upgrade_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.power_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.pod_identity_profile = pod_identity_profile - 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_upgrade_profile = auto_upgrade_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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, enable_azure_rbac: 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.enable_azure_rbac = enable_azure_rbac - 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_11_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_11_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.OSDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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_11_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_11_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_11_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_11_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_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_11_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_11_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_11_01.models.LinuxOSConfig - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - } - - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, vnet_subnet_id: str=None, pod_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, 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, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=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.os_disk_type = os_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - - -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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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_11_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.OSDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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_11_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_11_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_11_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_11_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_11_01.models.PowerState - :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_11_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_11_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_11_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_11_01.models.LinuxOSConfig - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, vnet_subnet_id: str=None, pod_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, 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, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, **kwargs) -> None: - super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_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, 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, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, **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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=None, private_dns_zone: str=None, **kwargs) -> None: - super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) - self.authorized_ip_ranges = authorized_ip_ranges - self.enable_private_cluster = enable_private_cluster - self.private_dns_zone = private_dns_zone - - -class ManagedClusterAutoUpgradeProfile(Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2020_11_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__(self, *, upgrade_channel=None, **kwargs) -> None: - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = upgrade_channel - - -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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2020_11_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedClusterIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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_11_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_11_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2020_11_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_11_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_11_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_11_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 ManagedClusterPodIdentity(Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2020_11_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__(self, *, name: str, namespace: str, identity, **kwargs) -> None: - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.identity = identity - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__(self, *, name: str, namespace: str, pod_labels, **kwargs) -> None: - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.pod_labels = pod_labels - - -class ManagedClusterPodIdentityProfile(Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2020_11_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__(self, *, enabled: bool=None, user_assigned_identities=None, user_assigned_identity_exceptions=None, **kwargs) -> None: - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = enabled - self.user_assigned_identities = user_assigned_identities - self.user_assigned_identity_exceptions = user_assigned_identity_exceptions - - -class ManagedClusterPodIdentityProvisioningInfo(Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2020_11_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = error - - -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_11_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_11_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 expander: Possible values include: 'least-waste', 'most-pods', - 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2020_11_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_empty_bulk_delete: str=None, max_graceful_termination_sec: str=None, max_total_unready_percentage: str=None, new_pod_scale_up_delay: str=None, ok_total_unready_count: 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, skip_nodes_with_local_storage: str=None, skip_nodes_with_system_pods: str=None, **kwargs) -> None: - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = balance_similar_node_groups - self.expander = expander - self.max_empty_bulk_delete = max_empty_bulk_delete - self.max_graceful_termination_sec = max_graceful_termination_sec - self.max_total_unready_percentage = max_total_unready_percentage - self.new_pod_scale_up_delay = new_pod_scale_up_delay - self.ok_total_unready_count = ok_total_unready_count - 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.skip_nodes_with_local_storage = skip_nodes_with_local_storage - self.skip_nodes_with_system_pods = skip_nodes_with_system_pods - - -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_11_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_11_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_11_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_11_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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters - :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2020_11_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', 'type': 'str'}, - } - - def __init__(self, *, admin_username: str, admin_password: str=None, license_type=None, **kwargs) -> None: - super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password - self.license_type = license_type - - -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 PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2020_11_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, *, code=None, **kwargs) -> None: - super(PowerState, self).__init__(**kwargs) - self.code = code - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = id - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_11_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_11_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.containerservice.v2020_11_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_11_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: str=None, required_members=None, **kwargs) -> None: - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = id - self.name = name - self.type = type - self.group_id = group_id - self.required_members = required_members - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_11_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_11_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, status=None, description: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - - -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 SysctlConfig(Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_rmem: Sysctl setting net.ipv4.tcp_rmem. - :type net_ipv4_tcp_rmem: int - :param net_ipv4_tcp_wmem: Sysctl setting net.ipv4.tcp_wmem. - :type net_ipv4_tcp_wmem: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_rmem': {'key': 'netIpv4TcpRmem', 'type': 'int'}, - 'net_ipv4_tcp_wmem': {'key': 'netIpv4TcpWmem', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: int=None, net_core_rmem_max: int=None, net_core_wmem_max: int=None, net_core_optmem_max: int=None, net_ipv4_tcp_max_syn_backlog: int=None, net_ipv4_tcp_max_tw_buckets: int=None, net_ipv4_tcp_fin_timeout: int=None, net_ipv4_tcp_keepalive_time: int=None, net_ipv4_tcp_keepalive_probes: int=None, net_ipv4_tcpkeepalive_intvl: int=None, net_ipv4_tcp_rmem: int=None, net_ipv4_tcp_wmem: int=None, net_ipv4_tcp_tw_reuse: bool=None, net_ipv4_ip_local_port_range: str=None, net_ipv4_neigh_default_gc_thresh1: int=None, net_ipv4_neigh_default_gc_thresh2: int=None, net_ipv4_neigh_default_gc_thresh3: int=None, net_netfilter_nf_conntrack_max: int=None, net_netfilter_nf_conntrack_buckets: int=None, fs_inotify_max_user_watches: int=None, fs_file_max: int=None, fs_aio_max_nr: int=None, fs_nr_open: int=None, kernel_threads_max: int=None, vm_max_map_count: int=None, vm_swappiness: int=None, vm_vfs_cache_pressure: int=None, **kwargs) -> None: - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = net_core_somaxconn - self.net_core_netdev_max_backlog = net_core_netdev_max_backlog - self.net_core_rmem_max = net_core_rmem_max - self.net_core_wmem_max = net_core_wmem_max - self.net_core_optmem_max = net_core_optmem_max - self.net_ipv4_tcp_max_syn_backlog = net_ipv4_tcp_max_syn_backlog - self.net_ipv4_tcp_max_tw_buckets = net_ipv4_tcp_max_tw_buckets - self.net_ipv4_tcp_fin_timeout = net_ipv4_tcp_fin_timeout - self.net_ipv4_tcp_keepalive_time = net_ipv4_tcp_keepalive_time - self.net_ipv4_tcp_keepalive_probes = net_ipv4_tcp_keepalive_probes - self.net_ipv4_tcpkeepalive_intvl = net_ipv4_tcpkeepalive_intvl - self.net_ipv4_tcp_rmem = net_ipv4_tcp_rmem - self.net_ipv4_tcp_wmem = net_ipv4_tcp_wmem - self.net_ipv4_tcp_tw_reuse = net_ipv4_tcp_tw_reuse - self.net_ipv4_ip_local_port_range = net_ipv4_ip_local_port_range - self.net_ipv4_neigh_default_gc_thresh1 = net_ipv4_neigh_default_gc_thresh1 - self.net_ipv4_neigh_default_gc_thresh2 = net_ipv4_neigh_default_gc_thresh2 - self.net_ipv4_neigh_default_gc_thresh3 = net_ipv4_neigh_default_gc_thresh3 - self.net_netfilter_nf_conntrack_max = net_netfilter_nf_conntrack_max - self.net_netfilter_nf_conntrack_buckets = net_netfilter_nf_conntrack_buckets - self.fs_inotify_max_user_watches = fs_inotify_max_user_watches - self.fs_file_max = fs_file_max - self.fs_aio_max_nr = fs_aio_max_nr - self.fs_nr_open = fs_nr_open - self.kernel_threads_max = kernel_threads_max - self.vm_max_map_count = vm_max_map_count - self.vm_swappiness = vm_swappiness - self.vm_vfs_cache_pressure = vm_vfs_cache_pressure - - -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_11_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_paged_models.py deleted file mode 100644 index 2dcbefb96b4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/models/_paged_models.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.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_11_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/__init__.py deleted file mode 100644 index fecbc32dd78..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 -from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations -from ._private_link_resources_operations import PrivateLinkResourcesOperations -from ._resolve_private_link_service_id_operations import ResolvePrivateLinkServiceIdOperations - -__all__ = [ - 'Operations', - 'ManagedClustersOperations', - 'AgentPoolsOperations', - 'PrivateEndpointConnectionsOperations', - 'PrivateLinkResourcesOperations', - 'ResolvePrivateLinkServiceIdOperations', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_agent_pools_operations.py deleted file mode 100644 index 20ccc2d71f6..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,610 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-11-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_11_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_11_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_11_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_11_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_11_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_11_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_11_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_11_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'} - - - def _upgrade_node_image_version_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.upgrade_node_image_version.metadata['url'] - path_format_arguments = { - '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.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 == 202: - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def upgrade_node_image_version( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Upgrade node image version of an agent pool to the latest. - - Upgrade node image version of an agent pool to the latest. - - :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 AgentPool or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2020_11_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_11_01.models.AgentPool]] - :raises: :class:`CloudError` - """ - raw_result = self._upgrade_node_image_version_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): - 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) - upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_managed_clusters_operations.py deleted file mode 100644 index 50eeab5c613..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1301 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-11-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_11_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_11_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_11_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_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_11_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_11_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_11_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_11_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_11_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'} - - - def _stop_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - '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 stop( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stop Managed Cluster. - - Stops a Running 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._stop_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) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} - - - def _start_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - '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 start( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Start Managed Cluster. - - Starts a Stopped 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._start_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) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_operations.py deleted file mode 100644 index 0b9096e8623..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_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: "2020-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-11-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_11_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_11_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_11_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index ee1c4f458ef..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,348 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -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: Client Api Version. Constant value: "2020-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-11-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private endpoint connections in the specified managed - cluster. - - Gets a list of private endpoint connections in the specified managed - cluster. The operation returns properties of each private endpoint - connection. - - :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: PrivateEndpointConnectionListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_11_01.models.PrivateEndpointConnectionListResult - 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'), - '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('PrivateEndpointConnectionListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} - - def get( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the private endpoint connection. - - Gets the details of the private endpoint connection 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 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.containerservice.v2020_11_01.models.PrivateEndpointConnection - 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - def update( - self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): - """Updates a private endpoint connection. - - Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. - :type private_endpoint_connection_name: str - :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.containerservice.v2020_11_01.models.PrivateLinkServiceConnectionState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_11_01.models.PrivateEndpoint - :param dict custom_headers: headers that will 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.containerservice.v2020_11_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) - - # 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', 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - - def _delete_initial( - self, resource_group_name, resource_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'), - '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]$'), - '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') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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 - - def delete( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a private endpoint connection. - - Deletes the private endpoint connection 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 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 None or - ClientRawResponse 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, - private_endpoint_connection_name=private_endpoint_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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_private_link_resources_operations.py deleted file mode 100644 index 0c39d2f2ae1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_private_link_resources_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 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: Client Api Version. Constant value: "2020-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-11-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private link resources in the specified managed cluster. - - Gets a list of private link resources in the specified managed cluster. - The operation returns properties of each private link resource. - - :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: PrivateLinkResourcesListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_11_01.models.PrivateLinkResourcesListResult - 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'), - '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('PrivateLinkResourcesListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_resolve_private_link_service_id_operations.py deleted file mode 100644 index 57ab2473c14..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/operations/_resolve_private_link_service_id_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 ResolvePrivateLinkServiceIdOperations(object): - """ResolvePrivateLinkServiceIdOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: 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-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2020-11-01" - - self.config = config - - def post( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets the private link service ID for the specified managed cluster. - - Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to - resolve a private link service ID. - :type parameters: - ~azure.mgmt.containerservice.v2020_11_01.models.PrivateLinkResource - :param dict custom_headers: headers that will 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.containerservice.v2020_11_01.models.PrivateLinkResource 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'), - '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, 'PrivateLinkResource') - - # 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('PrivateLinkResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/version.py deleted file mode 100644 index 12be8e5cdee..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_11_01/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 = "2020-11-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py old mode 100644 new mode 100755 index b7cb9d01cb1..eb3d7ba7a26 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py @@ -1,19 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ContainerServiceClientConfiguration from ._container_service_client import ContainerServiceClient -__all__ = ['ContainerServiceClient', 'ContainerServiceClientConfiguration'] - -from .version import VERSION - -__version__ = VERSION +__all__ = ['ContainerServiceClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py old mode 100644 new mode 100755 index e94fbc7005d..df9ec3d69a1 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py @@ -1,50 +1,70 @@ # coding=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 azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. -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. + :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, 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) - 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.credential = credential self.subscription_id = subscription_id + self.api_version = "2020-12-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py old mode 100644 new mode 100755 index 87285cca242..99757c3b160 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py @@ -1,16 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 azure.core.credentials import TokenCredential + from azure.core.pipeline.transport import HttpRequest, HttpResponse from ._configuration import ContainerServiceClientConfiguration from .operations import Operations @@ -23,59 +29,91 @@ from . import models -class ContainerServiceClient(SDKClient): +class ContainerServiceClient(object): """The Container Service Client. - :ivar config: Configuration for client. - :vartype config: ContainerServiceClientConfiguration - :ivar operations: Operations operations :vartype operations: azure.mgmt.containerservice.v2020_12_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations + :ivar managed_clusters: ManagedClustersOperations operations :vartype managed_clusters: azure.mgmt.containerservice.v2020_12_01.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurations operations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations :vartype maintenance_configurations: azure.mgmt.containerservice.v2020_12_01.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPools operations + :ivar agent_pools: AgentPoolsOperations operations :vartype agent_pools: azure.mgmt.containerservice.v2020_12_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations :vartype private_endpoint_connections: azure.mgmt.containerservice.v2020_12_01.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResources operations + :ivar private_link_resources: PrivateLinkResourcesOperations operations :vartype private_link_resources: azure.mgmt.containerservice.v2020_12_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceId operations + :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2020_12_01.operations.ResolvePrivateLinkServiceIdOperations - - :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. + :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 + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ 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) + 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 = ContainerServiceClientConfiguration(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 = '2020-12-01' self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.managed_clusters = ManagedClustersOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.maintenance_configurations = MaintenanceConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.agent_pools = AgentPoolsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.private_endpoint_connections = PrivateEndpointConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.private_link_resources = PrivateLinkResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> ContainerServiceClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/__init__.py old mode 100644 new mode 100755 similarity index 73% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/version.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/__init__.py index c215e51b49f..4ad2bb20096 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_aks/version.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/__init__.py @@ -1,13 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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. # -------------------------------------------------------------------------- -VERSION = "4.2.2" - +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient'] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_configuration.py new file mode 100755 index 00000000000..f1409a83c25 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_configuration.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 Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. + + 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-12-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.py new file mode 100755 index 00000000000..886a31c0e7b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.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, Optional, TYPE_CHECKING + +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +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 import ContainerServiceClientConfiguration +from .operations import Operations +from .operations import ManagedClustersOperations +from .operations import MaintenanceConfigurationsOperations +from .operations import AgentPoolsOperations +from .operations import PrivateEndpointConnectionsOperations +from .operations import PrivateLinkResourcesOperations +from .operations import ResolvePrivateLinkServiceIdOperations +from .. import models + + +class ContainerServiceClient(object): + """The Container Service Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2020_12_01.aio.operations.Operations + :ivar managed_clusters: ManagedClustersOperations operations + :vartype managed_clusters: azure.mgmt.containerservice.v2020_12_01.aio.operations.ManagedClustersOperations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations + :vartype maintenance_configurations: azure.mgmt.containerservice.v2020_12_01.aio.operations.MaintenanceConfigurationsOperations + :ivar agent_pools: AgentPoolsOperations operations + :vartype agent_pools: azure.mgmt.containerservice.v2020_12_01.aio.operations.AgentPoolsOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: azure.mgmt.containerservice.v2020_12_01.aio.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: azure.mgmt.containerservice.v2020_12_01.aio.operations.PrivateLinkResourcesOperations + :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations + :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2020_12_01.aio.operations.ResolvePrivateLinkServiceIdOperations + :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 + :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False + 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.maintenance_configurations = MaintenanceConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.agent_pools = AgentPoolsOperations( + 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "ContainerServiceClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/__init__.py old mode 100644 new mode 100755 similarity index 95% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/__init__.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/__init__.py index d7bfa3f00fe..3942e0ca6a0 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/__init__.py @@ -1,12 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ._operations import Operations diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py new file mode 100755 index 00000000000..44c927942f0 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py @@ -0,0 +1,689 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class AgentPoolsOperations: + """AgentPoolsOperations 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.containerservice.v2020_12_01.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, + resource_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.AgentPoolListResult"]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AgentPoolListResult', 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.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.AgentPool": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPool, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> "_models.AgentPool": + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'AgentPool') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> AsyncLROPoller["_models.AgentPool"]: + """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_12_01.models.AgentPool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either AgentPool or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def get_upgrade_profile( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.AgentPoolUpgradeProfile": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self.get_upgrade_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPoolUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore + + async def get_available_agent_pool_versions( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.AgentPoolAvailableVersions": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolAvailableVersions, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolAvailableVersions + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPoolAvailableVersions', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore + + async def _upgrade_node_image_version_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> Optional["_models.AgentPool"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._upgrade_node_image_version_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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 == 202: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + + async def begin_upgrade_node_image_version( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> AsyncLROPoller["_models.AgentPool"]: + """Upgrade node image version of an agent pool to the latest. + + Upgrade node image version of an agent pool to the latest. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._upgrade_node_image_version_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_operations.py new file mode 100755 index 00000000000..2093362e5e0 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MaintenanceConfigurationsOperations: + """MaintenanceConfigurationsOperations 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.containerservice.v2020_12_01.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_managed_cluster( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.MaintenanceConfigurationListResult"]: + """Gets a list of maintenance configurations in the specified managed cluster. + + Gets a list of maintenance configurations in the specified managed cluster. The operation + returns properties of each maintenance configuration. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfigurationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_managed_cluster.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MaintenanceConfigurationListResult', 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_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any + ) -> "_models.MaintenanceConfiguration": + """Gets the maintenance configuration. + + Gets the details of maintenance configurations 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 config_name: The name of the maintenance configuration. + :type config_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # 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'), + '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]$'), + 'configName': self._serialize.url("config_name", config_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('MaintenanceConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + parameters: "_models.MaintenanceConfiguration", + **kwargs: Any + ) -> "_models.MaintenanceConfiguration": + """Creates or updates a maintenance configurations. + + Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. + :type config_name: str + :param parameters: Parameters supplied to the Create or Update a default maintenance + configuration. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "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'), + '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]$'), + 'configName': self._serialize.url("config_name", config_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MaintenanceConfiguration') + 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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any + ) -> None: + """Deletes a maintenance configuration. + + Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. + :type config_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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # 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'), + '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]$'), + 'configName': self._serialize.url("config_name", config_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py new file mode 100755 index 00000000000..5632558d944 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py @@ -0,0 +1,1496 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ManagedClustersOperations: + """ManagedClustersOperations 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.containerservice.v2020_12_01.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: Any + ) -> AsyncIterable["_models.ManagedClusterListResult"]: + """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. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ManagedClusterListResult"]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + async def get_upgrade_profile( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterUpgradeProfile": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self.get_upgrade_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore + + async def get_access_profile( + self, + resource_group_name: str, + resource_name: str, + role_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterAccessProfile": + """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 + `_ or + `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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterAccessProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAccessProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self.get_access_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterAccessProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore + + async def list_cluster_admin_credentials( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore + + async def list_cluster_user_credentials( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_user_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore + + async def list_cluster_monitoring_user_credentials( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_monitoring_user_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedCluster": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedCluster, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedCluster') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> AsyncLROPoller["_models.ManagedCluster"]: + """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_12_01.models.ManagedCluster + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _update_tags_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_tags_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'TagsObject') + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_update_tags( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> AsyncLROPoller["_models.ManagedCluster"]: + """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 parameters: Parameters supplied to the Update Managed Cluster Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _reset_service_principal_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') + 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, {}) + + _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + async def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 parameters: Parameters supplied to the Reset Service Principal Profile operation for a + Managed Cluster. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterServicePrincipalProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + async def _reset_aad_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_aad_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterAADProfile') + 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, {}) + + _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + async def begin_reset_aad_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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_12_01.models.ManagedClusterAADProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + async def _rotate_cluster_certificates_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._rotate_cluster_certificates_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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, 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, {}) + + _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + async def begin_rotate_cluster_certificates( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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, 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, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Stop Managed Cluster. + + Stops a Running 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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, 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, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Start Managed Cluster. + + Starts a Stopped 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_operations.py new file mode 100755 index 00000000000..b667836960f --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations 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.containerservice.v2020_12_01.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: Any + ) -> AsyncIterable["_models.OperationListResult"]: + """Gets a list of compute operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + 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 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.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py new file mode 100755 index 00000000000..3571ebaa53b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,357 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateEndpointConnectionsOperations: + """PrivateEndpointConnectionsOperations 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.containerservice.v2020_12_01.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, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnectionListResult": + """Gets a list of private endpoint connections in the specified managed cluster. + + Gets a list of private endpoint connections in the specified managed cluster. The operation + returns properties of each private endpoint connection. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateEndpointConnectionListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Gets the private endpoint connection. + + Gets the details of the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # 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'), + '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]$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + parameters: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Updates a private endpoint connection. + + Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :param parameters: Parameters supplied to the Update a private endpoint connection operation. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "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'), + '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]$'), + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') + 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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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]$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a private endpoint connection. + + Deletes the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_operations.py new file mode 100755 index 00000000000..c61ba658b05 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_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. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateLinkResourcesOperations: + """PrivateLinkResourcesOperations 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.containerservice.v2020_12_01.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, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.PrivateLinkResourcesListResult": + """Gets a list of private link resources in the specified managed cluster. + + Gets a list of private link resources in the specified managed cluster. The operation returns + properties of each private link resource. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResourcesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResourcesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateLinkResourcesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_operations.py new file mode 100755 index 00000000000..bbaa926aee3 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_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 Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ResolvePrivateLinkServiceIdOperations: + """ResolvePrivateLinkServiceIdOperations 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.containerservice.v2020_12_01.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 post( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.PrivateLinkResource", + **kwargs: Any + ) -> "_models.PrivateLinkResource": + """Gets the private link service ID for the specified managed cluster. + + Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to resolve a private link + service ID. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResource, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.post.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'PrivateLinkResource') + 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('PrivateLinkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py old mode 100644 new mode 100755 index 2bc982b2802..c0c6aed90fb --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py @@ -1,21 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 AgentPool from ._models_py3 import AgentPoolAvailableVersions from ._models_py3 import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem + from ._models_py3 import AgentPoolListResult from ._models_py3 import AgentPoolUpgradeProfile from ._models_py3 import AgentPoolUpgradeProfilePropertiesUpgradesItem from ._models_py3 import AgentPoolUpgradeSettings + from ._models_py3 import CloudError + from ._models_py3 import CloudErrorBody + from ._models_py3 import Components1Q1Og48SchemasManagedclusterAllof1 + from ._models_py3 import Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties + from ._models_py3 import ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties from ._models_py3 import ContainerServiceDiagnosticsProfile from ._models_py3 import ContainerServiceLinuxProfile from ._models_py3 import ContainerServiceMasterProfile @@ -28,17 +31,18 @@ from ._models_py3 import KubeletConfig from ._models_py3 import LinuxOSConfig from ._models_py3 import MaintenanceConfiguration + from ._models_py3 import MaintenanceConfigurationListResult from ._models_py3 import ManagedCluster from ._models_py3 import ManagedClusterAADProfile + from ._models_py3 import ManagedClusterAPIServerAccessProfile 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 ManagedClusterAutoUpgradeProfile from ._models_py3 import ManagedClusterIdentity - from ._models_py3 import ManagedClusterIdentityUserAssignedIdentitiesValue + from ._models_py3 import ManagedClusterListResult from ._models_py3 import ManagedClusterLoadBalancerProfile from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes @@ -50,11 +54,11 @@ 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 ManagedClusterServicePrincipalProfile from ._models_py3 import ManagedClusterUpgradeProfile from ._models_py3 import ManagedClusterWindowsProfile + from ._models_py3 import OperationListResult from ._models_py3 import OperationValue from ._models_py3 import PowerState from ._models_py3 import PrivateEndpoint @@ -73,108 +77,119 @@ from ._models_py3 import TimeSpan 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 KubeletConfig - from ._models import LinuxOSConfig - from ._models import MaintenanceConfiguration - 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 ManagedClusterAutoUpgradeProfile - from ._models import ManagedClusterIdentity - from ._models import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models import ManagedClusterLoadBalancerProfile - from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models import ManagedClusterPodIdentity - from ._models import ManagedClusterPodIdentityException - from ._models import ManagedClusterPodIdentityProfile - from ._models import ManagedClusterPodIdentityProvisioningInfo - 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 PowerState - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointConnectionListResult - from ._models import PrivateLinkResource - from ._models import PrivateLinkResourcesListResult - from ._models import PrivateLinkServiceConnectionState - from ._models import Resource - from ._models import ResourceReference - from ._models import SubResource - from ._models import SysctlConfig - from ._models import SystemData - from ._models import TagsObject - from ._models import TimeInWeek - from ._models import TimeSpan - from ._models import UserAssignedIdentity -from ._paged_models import AgentPoolPaged -from ._paged_models import MaintenanceConfigurationPaged -from ._paged_models import ManagedClusterPaged -from ._paged_models import OperationValuePaged + from ._models import AgentPool # type: ignore + from ._models import AgentPoolAvailableVersions # type: ignore + from ._models import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem # type: ignore + from ._models import AgentPoolListResult # type: ignore + from ._models import AgentPoolUpgradeProfile # type: ignore + from ._models import AgentPoolUpgradeProfilePropertiesUpgradesItem # type: ignore + from ._models import AgentPoolUpgradeSettings # type: ignore + from ._models import CloudError # type: ignore + from ._models import CloudErrorBody # type: ignore + from ._models import Components1Q1Og48SchemasManagedclusterAllof1 # type: ignore + from ._models import Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties # type: ignore + from ._models import ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties # type: ignore + from ._models import ContainerServiceDiagnosticsProfile # type: ignore + from ._models import ContainerServiceLinuxProfile # type: ignore + from ._models import ContainerServiceMasterProfile # type: ignore + from ._models import ContainerServiceNetworkProfile # type: ignore + from ._models import ContainerServiceSshConfiguration # type: ignore + from ._models import ContainerServiceSshPublicKey # type: ignore + from ._models import ContainerServiceVMDiagnostics # type: ignore + from ._models import CredentialResult # type: ignore + from ._models import CredentialResults # type: ignore + from ._models import KubeletConfig # type: ignore + from ._models import LinuxOSConfig # type: ignore + from ._models import MaintenanceConfiguration # type: ignore + from ._models import MaintenanceConfigurationListResult # type: ignore + from ._models import ManagedCluster # type: ignore + from ._models import ManagedClusterAADProfile # type: ignore + from ._models import ManagedClusterAPIServerAccessProfile # type: ignore + from ._models import ManagedClusterAccessProfile # type: ignore + from ._models import ManagedClusterAddonProfile # type: ignore + from ._models import ManagedClusterAddonProfileIdentity # type: ignore + from ._models import ManagedClusterAgentPoolProfile # type: ignore + from ._models import ManagedClusterAgentPoolProfileProperties # type: ignore + from ._models import ManagedClusterAutoUpgradeProfile # type: ignore + from ._models import ManagedClusterIdentity # type: ignore + from ._models import ManagedClusterListResult # type: ignore + from ._models import ManagedClusterLoadBalancerProfile # type: ignore + from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs # type: ignore + from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes # type: ignore + from ._models import ManagedClusterLoadBalancerProfileOutboundIPs # type: ignore + from ._models import ManagedClusterPodIdentity # type: ignore + from ._models import ManagedClusterPodIdentityException # type: ignore + from ._models import ManagedClusterPodIdentityProfile # type: ignore + from ._models import ManagedClusterPodIdentityProvisioningInfo # type: ignore + from ._models import ManagedClusterPoolUpgradeProfile # type: ignore + from ._models import ManagedClusterPoolUpgradeProfileUpgradesItem # type: ignore + from ._models import ManagedClusterPropertiesAutoScalerProfile # type: ignore + from ._models import ManagedClusterSKU # type: ignore + from ._models import ManagedClusterServicePrincipalProfile # type: ignore + from ._models import ManagedClusterUpgradeProfile # type: ignore + from ._models import ManagedClusterWindowsProfile # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OperationValue # type: ignore + from ._models import PowerState # type: ignore + from ._models import PrivateEndpoint # type: ignore + from ._models import PrivateEndpointConnection # type: ignore + from ._models import PrivateEndpointConnectionListResult # type: ignore + from ._models import PrivateLinkResource # type: ignore + from ._models import PrivateLinkResourcesListResult # type: ignore + from ._models import PrivateLinkServiceConnectionState # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceReference # type: ignore + from ._models import SubResource # type: ignore + from ._models import SysctlConfig # type: ignore + from ._models import SystemData # type: ignore + from ._models import TagsObject # type: ignore + from ._models import TimeInWeek # type: ignore + from ._models import TimeSpan # type: ignore + from ._models import UserAssignedIdentity # type: ignore + from ._container_service_client_enums import ( + AgentPoolMode, + AgentPoolType, + Code, + ConnectionStatus, ContainerServiceStorageProfileTypes, ContainerServiceVMSizeTypes, - OSDiskType, + Count, + CreatedByType, + Expander, KubeletDiskType, - OSType, - AgentPoolType, - AgentPoolMode, - Code, - ScaleSetPriority, - ScaleSetEvictionPolicy, LicenseType, - NetworkPlugin, - NetworkPolicy, - NetworkMode, - OutboundType, LoadBalancerSku, - CreatedByType, - WeekDay, ManagedClusterPodIdentityProvisioningState, - UpgradeChannel, - Expander, - ResourceIdentityType, ManagedClusterSKUName, ManagedClusterSKUTier, + NetworkMode, + NetworkPlugin, + NetworkPolicy, + OSDiskType, + OSType, + OutboundType, PrivateEndpointConnectionProvisioningState, - ConnectionStatus, + ResourceIdentityType, + ScaleSetEvictionPolicy, + ScaleSetPriority, + UpgradeChannel, + WeekDay, ) __all__ = [ 'AgentPool', 'AgentPoolAvailableVersions', 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', + 'AgentPoolListResult', 'AgentPoolUpgradeProfile', 'AgentPoolUpgradeProfilePropertiesUpgradesItem', 'AgentPoolUpgradeSettings', + 'CloudError', + 'CloudErrorBody', + 'Components1Q1Og48SchemasManagedclusterAllof1', + 'Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties', + 'ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties', 'ContainerServiceDiagnosticsProfile', 'ContainerServiceLinuxProfile', 'ContainerServiceMasterProfile', @@ -187,17 +202,18 @@ 'KubeletConfig', 'LinuxOSConfig', 'MaintenanceConfiguration', + 'MaintenanceConfigurationListResult', 'ManagedCluster', 'ManagedClusterAADProfile', + 'ManagedClusterAPIServerAccessProfile', 'ManagedClusterAccessProfile', 'ManagedClusterAddonProfile', 'ManagedClusterAddonProfileIdentity', 'ManagedClusterAgentPoolProfile', 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', 'ManagedClusterAutoUpgradeProfile', 'ManagedClusterIdentity', - 'ManagedClusterIdentityUserAssignedIdentitiesValue', + 'ManagedClusterListResult', 'ManagedClusterLoadBalancerProfile', 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', @@ -209,11 +225,11 @@ 'ManagedClusterPoolUpgradeProfile', 'ManagedClusterPoolUpgradeProfileUpgradesItem', 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', 'ManagedClusterSKU', + 'ManagedClusterServicePrincipalProfile', 'ManagedClusterUpgradeProfile', 'ManagedClusterWindowsProfile', + 'OperationListResult', 'OperationValue', 'PowerState', 'PrivateEndpoint', @@ -231,34 +247,31 @@ 'TimeInWeek', 'TimeSpan', 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'MaintenanceConfigurationPaged', - 'AgentPoolPaged', + 'AgentPoolMode', + 'AgentPoolType', + 'Code', + 'ConnectionStatus', 'ContainerServiceStorageProfileTypes', 'ContainerServiceVMSizeTypes', - 'OSDiskType', + 'Count', + 'CreatedByType', + 'Expander', 'KubeletDiskType', - 'OSType', - 'AgentPoolType', - 'AgentPoolMode', - 'Code', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', 'LicenseType', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', 'LoadBalancerSku', - 'CreatedByType', - 'WeekDay', 'ManagedClusterPodIdentityProvisioningState', - 'UpgradeChannel', - 'Expander', - 'ResourceIdentityType', 'ManagedClusterSKUName', 'ManagedClusterSKUTier', + 'NetworkMode', + 'NetworkPlugin', + 'NetworkPolicy', + 'OSDiskType', + 'OSType', + 'OutboundType', 'PrivateEndpointConnectionProvisioningState', - 'ConnectionStatus', + 'ResourceIdentityType', + 'ScaleSetEvictionPolicy', + 'ScaleSetPriority', + 'UpgradeChannel', + 'WeekDay', ] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py old mode 100644 new mode 100755 index 0b087718c1a..77894303644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py @@ -1,356 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 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 OSDiskType(str, Enum): +from enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AgentPoolMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """AgentPoolMode represents mode of an agent pool. + """ + + SYSTEM = "System" + USER = "User" + +class AgentPoolType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """AgentPoolType represents types of an agent pool. + """ + + VIRTUAL_MACHINE_SCALE_SETS = "VirtualMachineScaleSets" + AVAILABILITY_SET = "AvailabilitySet" + +class Code(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Tells whether the cluster is Running or Stopped + """ + + RUNNING = "Running" + STOPPED = "Stopped" + +class ConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The private link service connection status. + """ + + PENDING = "Pending" + APPROVED = "Approved" + REJECTED = "Rejected" + DISCONNECTED = "Disconnected" + +class ContainerServiceStorageProfileTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + + STORAGE_ACCOUNT = "StorageAccount" + MANAGED_DISKS = "ManagedDisks" + +class ContainerServiceVMSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Size of agent VMs. + """ + + 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_A2_M_V2 = "Standard_A2m_v2" + STANDARD_A3 = "Standard_A3" + STANDARD_A4 = "Standard_A4" + STANDARD_A4_V2 = "Standard_A4_v2" + STANDARD_A4_M_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_A8_M_V2 = "Standard_A8m_v2" + STANDARD_A9 = "Standard_A9" + STANDARD_B2_MS = "Standard_B2ms" + STANDARD_B2_S = "Standard_B2s" + STANDARD_B4_MS = "Standard_B4ms" + STANDARD_B8_MS = "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_D16_S_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_D2_S_V3 = "Standard_D2s_v3" + STANDARD_D3 = "Standard_D3" + STANDARD_D32_V3 = "Standard_D32_v3" + STANDARD_D32_S_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_D4_S_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_D64_S_V3 = "Standard_D64s_v3" + STANDARD_D8_V3 = "Standard_D8_v3" + STANDARD_D8_S_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_E16_S_V3 = "Standard_E16s_v3" + STANDARD_E2_V3 = "Standard_E2_v3" + STANDARD_E2_S_V3 = "Standard_E2s_v3" + STANDARD_E32_16_S_V3 = "Standard_E32-16s_v3" + STANDARD_E32_8_S_V3 = "Standard_E32-8s_v3" + STANDARD_E32_V3 = "Standard_E32_v3" + STANDARD_E32_S_V3 = "Standard_E32s_v3" + STANDARD_E4_V3 = "Standard_E4_v3" + STANDARD_E4_S_V3 = "Standard_E4s_v3" + STANDARD_E64_16_S_V3 = "Standard_E64-16s_v3" + STANDARD_E64_32_S_V3 = "Standard_E64-32s_v3" + STANDARD_E64_V3 = "Standard_E64_v3" + STANDARD_E64_S_V3 = "Standard_E64s_v3" + STANDARD_E8_V3 = "Standard_E8_v3" + STANDARD_E8_S_V3 = "Standard_E8s_v3" + STANDARD_F1 = "Standard_F1" + STANDARD_F16 = "Standard_F16" + STANDARD_F16_S = "Standard_F16s" + STANDARD_F16_S_V2 = "Standard_F16s_v2" + STANDARD_F1_S = "Standard_F1s" + STANDARD_F2 = "Standard_F2" + STANDARD_F2_S = "Standard_F2s" + STANDARD_F2_S_V2 = "Standard_F2s_v2" + STANDARD_F32_S_V2 = "Standard_F32s_v2" + STANDARD_F4 = "Standard_F4" + STANDARD_F4_S = "Standard_F4s" + STANDARD_F4_S_V2 = "Standard_F4s_v2" + STANDARD_F64_S_V2 = "Standard_F64s_v2" + STANDARD_F72_S_V2 = "Standard_F72s_v2" + STANDARD_F8 = "Standard_F8" + STANDARD_F8_S = "Standard_F8s" + STANDARD_F8_S_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_H16_M = "Standard_H16m" + STANDARD_H16_MR = "Standard_H16mr" + STANDARD_H16_R = "Standard_H16r" + STANDARD_H8 = "Standard_H8" + STANDARD_H8_M = "Standard_H8m" + STANDARD_L16_S = "Standard_L16s" + STANDARD_L32_S = "Standard_L32s" + STANDARD_L4_S = "Standard_L4s" + STANDARD_L8_S = "Standard_L8s" + STANDARD_M128_32_MS = "Standard_M128-32ms" + STANDARD_M128_64_MS = "Standard_M128-64ms" + STANDARD_M128_MS = "Standard_M128ms" + STANDARD_M128_S = "Standard_M128s" + STANDARD_M64_16_MS = "Standard_M64-16ms" + STANDARD_M64_32_MS = "Standard_M64-32ms" + STANDARD_M64_MS = "Standard_M64ms" + STANDARD_M64_S = "Standard_M64s" + STANDARD_NC12 = "Standard_NC12" + STANDARD_NC12_S_V2 = "Standard_NC12s_v2" + STANDARD_NC12_S_V3 = "Standard_NC12s_v3" + STANDARD_NC24 = "Standard_NC24" + STANDARD_NC24_R = "Standard_NC24r" + STANDARD_NC24_RS_V2 = "Standard_NC24rs_v2" + STANDARD_NC24_RS_V3 = "Standard_NC24rs_v3" + STANDARD_NC24_S_V2 = "Standard_NC24s_v2" + STANDARD_NC24_S_V3 = "Standard_NC24s_v3" + STANDARD_NC6 = "Standard_NC6" + STANDARD_NC6_S_V2 = "Standard_NC6s_v2" + STANDARD_NC6_S_V3 = "Standard_NC6s_v3" + STANDARD_ND12_S = "Standard_ND12s" + STANDARD_ND24_RS = "Standard_ND24rs" + STANDARD_ND24_S = "Standard_ND24s" + STANDARD_ND6_S = "Standard_ND6s" + STANDARD_NV12 = "Standard_NV12" + STANDARD_NV24 = "Standard_NV24" + STANDARD_NV6 = "Standard_NV6" + +class Count(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): + """Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The + default value is 1. + """ + + ONE = 1 + THREE = 3 + FIVE = 5 + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class Expander(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + LEAST_WASTE = "least-waste" + MOST_PODS = "most-pods" + PRIORITY = "priority" + RANDOM = "random" + +class KubeletDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and + Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS + disk for data. + """ + + OS = "OS" + +class LicenseType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User + Benefits for Windows VMs. + """ + + NONE = "None" + WINDOWS_SERVER = "Windows_Server" + +class LoadBalancerSku(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The load balancer sku for the managed cluster. + """ + + STANDARD = "standard" + BASIC = "basic" + +class ManagedClusterPodIdentityProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The current provisioning state of the pod identity. + """ + + ASSIGNED = "Assigned" + UPDATING = "Updating" + DELETING = "Deleting" + FAILED = "Failed" + +class ManagedClusterSKUName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Name of a managed cluster SKU. + """ + + BASIC = "Basic" + +class ManagedClusterSKUTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Tier of a managed cluster SKU. + """ + + PAID = "Paid" + FREE = "Free" + +class NetworkMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network mode used for building Kubernetes network. + """ + + TRANSPARENT = "transparent" + BRIDGE = "bridge" + +class NetworkPlugin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network plugin used for building Kubernetes network. + """ + + AZURE = "azure" + KUBENET = "kubenet" + +class NetworkPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network policy used for building Kubernetes network. + """ + + CALICO = "calico" + AZURE = "azure" + +class OSDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """OSDiskType represents the type of an OS disk on an agent pool. + """ + + MANAGED = "Managed" + EPHEMERAL = "Ephemeral" - managed = "Managed" - ephemeral = "Ephemeral" +class OSType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + """ + LINUX = "Linux" + WINDOWS = "Windows" -class KubeletDiskType(str, Enum): +class OutboundType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The outbound (egress) routing method. + """ - os = "OS" + LOAD_BALANCER = "loadBalancer" + USER_DEFINED_ROUTING = "userDefinedRouting" +class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The current provisioning state. + """ -class OSType(str, Enum): + SUCCEEDED = "Succeeded" + CREATING = "Creating" + DELETING = "Deleting" + FAILED = "Failed" - linux = "Linux" - windows = "Windows" +class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + NONE = "None" -class AgentPoolType(str, Enum): +class ScaleSetEvictionPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale + set. Default to Delete. + """ - virtual_machine_scale_sets = "VirtualMachineScaleSets" - availability_set = "AvailabilitySet" + DELETE = "Delete" + DEALLOCATE = "Deallocate" +class ScaleSetPriority(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. + """ -class AgentPoolMode(str, Enum): + SPOT = "Spot" + REGULAR = "Regular" - system = "System" - user = "User" +class UpgradeChannel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """upgrade channel for auto upgrade. + """ + RAPID = "rapid" + STABLE = "stable" + PATCH = "patch" + NONE = "none" -class Code(str, Enum): +class WeekDay(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The weekday enum. + """ - running = "Running" - stopped = "Stopped" - - -class ScaleSetPriority(str, Enum): - - spot = "Spot" - regular = "Regular" - - -class ScaleSetEvictionPolicy(str, Enum): - - delete = "Delete" - deallocate = "Deallocate" - - -class LicenseType(str, Enum): - - none = "None" - windows_server = "Windows_Server" - - -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 CreatedByType(str, Enum): - - user = "User" - application = "Application" - managed_identity = "ManagedIdentity" - key = "Key" - - -class WeekDay(str, Enum): - - sunday = "Sunday" - monday = "Monday" - tuesday = "Tuesday" - wednesday = "Wednesday" - thursday = "Thursday" - friday = "Friday" - saturday = "Saturday" - - -class ManagedClusterPodIdentityProvisioningState(str, Enum): - - assigned = "Assigned" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class UpgradeChannel(str, Enum): - - rapid = "rapid" - stable = "stable" - patch = "patch" - none = "none" - - -class Expander(str, Enum): - - least_waste = "least-waste" - most_pods = "most-pods" - priority = "priority" - random = "random" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - none = "None" - - -class ManagedClusterSKUName(str, Enum): - - basic = "Basic" - - -class ManagedClusterSKUTier(str, Enum): - - paid = "Paid" - free = "Free" - - -class PrivateEndpointConnectionProvisioningState(str, Enum): - - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - failed = "Failed" - - -class ConnectionStatus(str, Enum): - - pending = "Pending" - approved = "Approved" - rejected = "Rejected" - disconnected = "Disconnected" + SUNDAY = "Sunday" + MONDAY = "Monday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" + THURSDAY = "Thursday" + FRIDAY = "Friday" + SATURDAY = "Saturday" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py old mode 100644 new mode 100755 index 4637d82548b..27b37a8358b --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py @@ -1,30 +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 +import msrest.serialization -class SubResource(Model): +class SubResource(msrest.serialization.Model): """Reference to another subresource. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str """ @@ -40,7 +35,10 @@ class SubResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SubResource, self).__init__(**kwargs) self.id = None self.name = None @@ -50,172 +48,143 @@ def __init__(self, **kwargs): class AgentPool(SubResource): """Agent Pool. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for + system pools. The default value is 1. :type count: int - :param vm_size: 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' + :param vm_size: 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_12_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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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_12_01.models.OSType - :param max_count: Maximum number of nodes for auto-scaling + :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_12_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 + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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 + :param type_properties_type: AgentPoolType represents types of an agent pool. Possible values + include: "VirtualMachineScaleSets", "AvailabilitySet". + :type type_properties_type: str or ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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 + :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" . + :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_12_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" . + :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_12_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool """ @@ -223,6 +192,7 @@ class AgentPool(SubResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -244,7 +214,7 @@ class AgentPool(SubResource): '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'}, + 'type_properties_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'}, @@ -265,7 +235,10 @@ class AgentPool(SubResource): 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AgentPool, self).__init__(**kwargs) self.count = kwargs.get('count', None) self.vm_size = kwargs.get('vm_size', None) @@ -279,7 +252,7 @@ def __init__(self, **kwargs): 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.type_properties_type = kwargs.get('type_properties_type', None) self.mode = kwargs.get('mode', None) self.orchestrator_version = kwargs.get('orchestrator_version', None) self.node_image_version = None @@ -290,7 +263,7 @@ def __init__(self, **kwargs): 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.spot_max_price = kwargs.get('spot_max_price', -1) self.tags = kwargs.get('tags', None) self.node_labels = kwargs.get('node_labels', None) self.node_taints = kwargs.get('node_taints', None) @@ -300,11 +273,10 @@ def __init__(self, **kwargs): self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', None) -class AgentPoolAvailableVersions(Model): +class AgentPoolAvailableVersions(msrest.serialization.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. + 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 @@ -330,7 +302,10 @@ class AgentPoolAvailableVersions(Model): 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AgentPoolAvailableVersions, self).__init__(**kwargs) self.id = None self.name = None @@ -338,7 +313,7 @@ def __init__(self, **kwargs): self.agent_pool_versions = kwargs.get('agent_pool_versions', None) -class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. :param default: Whether this version is the default agent pool version. @@ -355,18 +330,49 @@ class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, **kwargs): + 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): +class AgentPoolListResult(msrest.serialization.Model): + """The response from the List Agent Pools operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of agent pools. + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] + :ivar next_link: The URL to get the next set of agent pool results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AgentPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AgentPoolListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class AgentPoolUpgradeProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -376,20 +382,16 @@ class AgentPoolUpgradeProfile(Model): :vartype name: str :ivar type: Type of the agent pool upgrade profile. :vartype type: str - :param kubernetes_version: Required. Kubernetes version (major, minor, - patch). + :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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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_12_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - :param latest_node_image_version: LatestNodeImageVersion is the latest AKS - supported node image version. + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS supported node image + version. :type latest_node_image_version: str """ @@ -411,18 +413,21 @@ class AgentPoolUpgradeProfile(Model): 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, } - def __init__(self, **kwargs): + 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.kubernetes_version = kwargs['kubernetes_version'] 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): +class AgentPoolUpgradeProfilePropertiesUpgradesItem(msrest.serialization.Model): """AgentPoolUpgradeProfilePropertiesUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -436,17 +441,20 @@ class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, **kwargs): + 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): +class AgentPoolUpgradeSettings(msrest.serialization.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 + :param max_surge: Count or percentage of additional nodes to be added during upgrade. If empty + uses AKS default. :type max_surge: str """ @@ -454,55 +462,47 @@ class AgentPoolUpgradeSettings(Model): 'max_surge': {'key': 'maxSurge', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AgentPoolUpgradeSettings, self).__init__(**kwargs) self.max_surge = kwargs.get('max_surge', None) -class CloudError(Model): +class CloudError(msrest.serialization.Model): """An error response from the Container service. :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody + :type error: ~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody """ _attribute_map = { 'error': {'key': 'error', 'type': 'CloudErrorBody'}, } - def __init__(self, **kwargs): + 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): +class CloudErrorBody(msrest.serialization.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. + :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. + :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. + :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_12_01.models.CloudErrorBody] + :type details: list[~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody] """ _attribute_map = { @@ -512,7 +512,10 @@ class CloudErrorBody(Model): 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CloudErrorBody, self).__init__(**kwargs) self.code = kwargs.get('code', None) self.message = kwargs.get('message', None) @@ -520,13 +523,230 @@ def __init__(self, **kwargs): self.details = kwargs.get('details', None) -class ContainerServiceDiagnosticsProfile(Model): +class Components1Q1Og48SchemasManagedclusterAllof1(msrest.serialization.Model): + """Components1Q1Og48SchemasManagedclusterAllof1. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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_12_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] + :param pod_identity_profile: Profile of managed cluster pod identity. + :type pod_identity_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile + :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: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile + :param auto_upgrade_profile: Profile of auto upgrade configuration. + :type auto_upgrade_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + '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}'}, + 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, + '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, + '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, + } + + def __init__( + self, + **kwargs + ): + super(Components1Q1Og48SchemasManagedclusterAllof1, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.provisioning_state = None + self.power_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.pod_identity_profile = kwargs.get('pod_identity_profile', 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_upgrade_profile = kwargs.get('auto_upgrade_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) + + +class Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties. + + 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(Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class UserAssignedIdentity(msrest.serialization.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 ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties(UserAssignedIdentity): + """ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties. + + :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(ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties, self).__init__(**kwargs) + + +class ContainerServiceDiagnosticsProfile(msrest.serialization.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. + :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. :type vm_diagnostics: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceVMDiagnostics """ @@ -539,23 +759,23 @@ class ContainerServiceDiagnosticsProfile(Model): 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) - self.vm_diagnostics = kwargs.get('vm_diagnostics', None) + self.vm_diagnostics = kwargs['vm_diagnostics'] -class ContainerServiceLinuxProfile(Model): +class ContainerServiceLinuxProfile(msrest.serialization.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. + :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_12_01.models.ContainerServiceSshConfiguration + :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. + :type ssh: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceSshConfiguration """ _validation = { @@ -568,93 +788,79 @@ class ContainerServiceLinuxProfile(Model): 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceLinuxProfile, self).__init__(**kwargs) - self.admin_username = kwargs.get('admin_username', None) - self.ssh = kwargs.get('ssh', None) + self.admin_username = kwargs['admin_username'] + self.ssh = kwargs['ssh'] -class ContainerServiceMasterProfile(Model): +class ContainerServiceMasterProfile(msrest.serialization.Model): """Profile for the container service master. - 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. - :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. + :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, + 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2020_12_01.models.Count + :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' + :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_12_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. + :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. + :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" . + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static + ip of masters. :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' + :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_12_01.models.ContainerServiceStorageProfileTypes :ivar fqdn: FQDN for the master pool. @@ -664,6 +870,7 @@ class ContainerServiceMasterProfile(Model): _validation = { 'dns_prefix': {'required': True}, 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'fqdn': {'readonly': True}, } @@ -678,11 +885,14 @@ class ContainerServiceMasterProfile(Model): 'fqdn': {'key': 'fqdn', 'type': 'str'}, } - def __init__(self, **kwargs): + 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.count = kwargs.get('count', "1") + self.dns_prefix = kwargs['dns_prefix'] + self.vm_size = kwargs['vm_size'] 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") @@ -690,46 +900,35 @@ def __init__(self, **kwargs): self.fqdn = None -class ContainerServiceNetworkProfile(Model): +class ContainerServiceNetworkProfile(msrest.serialization.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_12_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_12_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_12_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" . + :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_12_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_12_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_12_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. :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" . + :param service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must + not overlap with any Subnet IP ranges. :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" . + :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. :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" . + :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. :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_12_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_12_01.models.LoadBalancerSku + :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_12_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_12_01.models.LoadBalancerSku :param load_balancer_profile: Profile of the cluster load balancer. :type load_balancer_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfile @@ -755,7 +954,10 @@ class ContainerServiceNetworkProfile(Model): 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, } - def __init__(self, **kwargs): + 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) @@ -769,13 +971,13 @@ def __init__(self, **kwargs): self.load_balancer_profile = kwargs.get('load_balancer_profile', None) -class ContainerServiceSshConfiguration(Model): +class ContainerServiceSshConfiguration(msrest.serialization.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. + :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_12_01.models.ContainerServiceSshPublicKey] """ @@ -788,19 +990,21 @@ class ContainerServiceSshConfiguration(Model): 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceSshConfiguration, self).__init__(**kwargs) - self.public_keys = kwargs.get('public_keys', None) + self.public_keys = kwargs['public_keys'] -class ContainerServiceSshPublicKey(Model): +class ContainerServiceSshPublicKey(msrest.serialization.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. + :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 """ @@ -812,24 +1016,24 @@ class ContainerServiceSshPublicKey(Model): 'key_data': {'key': 'keyData', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceSshPublicKey, self).__init__(**kwargs) - self.key_data = kwargs.get('key_data', None) + self.key_data = kwargs['key_data'] -class ContainerServiceVMDiagnostics(Model): +class ContainerServiceVMDiagnostics(msrest.serialization.Model): """Profile for diagnostics on the container service VMs. - 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. - :param enabled: Required. Whether the VM diagnostic agent is provisioned - on the VM. + :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. + :ivar storage_uri: The URI of the storage account where diagnostics are stored. :vartype storage_uri: str """ @@ -843,17 +1047,19 @@ class ContainerServiceVMDiagnostics(Model): 'storage_uri': {'key': 'storageUri', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) + self.enabled = kwargs['enabled'] self.storage_uri = None -class CredentialResult(Model): +class CredentialResult(msrest.serialization.Model): """The credential result response. - 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 credential. :vartype name: str @@ -871,21 +1077,22 @@ class CredentialResult(Model): 'value': {'key': 'value', 'type': 'bytearray'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CredentialResult, self).__init__(**kwargs) self.name = None self.value = None -class CredentialResults(Model): +class CredentialResults(msrest.serialization.Model): """The list of credential result response. - 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 kubeconfigs: Base64-encoded Kubernetes configuration file. - :vartype kubeconfigs: - list[~azure.mgmt.containerservice.v2020_12_01.models.CredentialResult] + :vartype kubeconfigs: list[~azure.mgmt.containerservice.v2020_12_01.models.CredentialResult] """ _validation = { @@ -896,40 +1103,42 @@ class CredentialResults(Model): 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CredentialResults, self).__init__(**kwargs) self.kubeconfigs = None -class KubeletConfig(Model): +class KubeletConfig(msrest.serialization.Model): """Kubelet configurations of agent nodes. :param cpu_manager_policy: CPU Manager policy to use. :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. + :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that specify CPU limits. :type cpu_cfs_quota: bool :param cpu_cfs_quota_period: Sets CPU CFS quota period value. :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. + :param image_gc_high_threshold: The percent of disk usage after which image garbage collection + is always run. :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. + :param image_gc_low_threshold: The percent of disk usage before which image garbage collection + is never run. :type image_gc_low_threshold: int :param topology_manager_policy: Topology Manager policy to use. :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). + :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in + ``*``\ ). :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. + :param fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled + on the node. :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. + :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it + is rotated. :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. + :param container_log_max_files: The maximum number of container log files that can be present + for a container. The number must be ≥ 2. :type container_log_max_files: int :param pod_max_pids: The maximum number of processes per pod. :type pod_max_pids: int @@ -953,7 +1162,10 @@ class KubeletConfig(Model): 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(KubeletConfig, self).__init__(**kwargs) self.cpu_manager_policy = kwargs.get('cpu_manager_policy', None) self.cpu_cfs_quota = kwargs.get('cpu_cfs_quota', None) @@ -968,20 +1180,17 @@ def __init__(self, **kwargs): self.pod_max_pids = kwargs.get('pod_max_pids', None) -class LinuxOSConfig(Model): +class LinuxOSConfig(msrest.serialization.Model): """OS configurations of Linux agent nodes. :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2020_12_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. + :type sysctls: ~azure.mgmt.containerservice.v2020_12_01.models.SysctlConfig + :param transparent_huge_page_enabled: Transparent Huge Page enabled configuration. :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. + :param transparent_huge_page_defrag: Transparent Huge Page defrag configuration. :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. + :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap file will be created on + each node. :type swap_file_size_mb: int """ @@ -992,7 +1201,10 @@ class LinuxOSConfig(Model): 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(LinuxOSConfig, self).__init__(**kwargs) self.sysctls = kwargs.get('sysctls', None) self.transparent_huge_page_enabled = kwargs.get('transparent_huge_page_enabled', None) @@ -1003,25 +1215,21 @@ def __init__(self, **kwargs): class MaintenanceConfiguration(SubResource): """maintenance configuration. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2020_12_01.models.SystemData + :vartype system_data: ~azure.mgmt.containerservice.v2020_12_01.models.SystemData :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] + :type time_in_week: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] + :type not_allowed_time: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] """ _validation = { @@ -1040,30 +1248,61 @@ class MaintenanceConfiguration(SubResource): 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MaintenanceConfiguration, self).__init__(**kwargs) self.system_data = None self.time_in_week = kwargs.get('time_in_week', None) self.not_allowed_time = kwargs.get('not_allowed_time', None) -class Resource(Model): +class MaintenanceConfigurationListResult(msrest.serialization.Model): + """The response from the List maintenance configurations operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of maintenance configurations. + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration] + :ivar next_link: The URL to get the next set of maintenance configuration results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MaintenanceConfigurationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class Resource(msrest.serialization.Model): """The Resource model definition. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -1082,44 +1321,35 @@ class Resource(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + 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.location = kwargs['location'] self.tags = kwargs.get('tags', None) -class ManagedCluster(Resource): +class ManagedCluster(Resource, Components1Q1Og48SchemasManagedclusterAllof1): """Managed cluster. - 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. - :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. + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :ivar max_agent_pools: The max number of agent pools for the managed - cluster. + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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. + :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 @@ -1130,16 +1360,14 @@ class ManagedCluster(Resource): :param agent_pool_profiles: Properties of the agent pool. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. + :param linux_profile: Profile for Linux VMs in the container service cluster. :type linux_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. + :param windows_profile: Profile for Windows VMs in the container service cluster. :type windows_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterWindowsProfile - :param service_principal_profile: Information about a service principal - identity for the cluster to use for manipulating Azure APIs. + :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_12_01.models.ManagedClusterServicePrincipalProfile :param addon_profiles: Profile of managed cluster add-on. @@ -1148,65 +1376,62 @@ class ManagedCluster(Resource): :param pod_identity_profile: Profile of managed cluster pod identity. :type pod_identity_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile - :param node_resource_group: Name of the resource group containing agent - pool nodes. + :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. + :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. :type enable_rbac: bool - :param enable_pod_security_policy: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. + :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. :type enable_pod_security_policy: bool :param network_profile: Profile of network configuration. :type network_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile + :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile :param auto_upgrade_profile: Profile of auto upgrade configuration. :type auto_upgrade_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. :type auto_scaler_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. + :param api_server_access_profile: Access profile for managed cluster API server. :type api_server_access_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAPIServerAccessProfile - :param disk_encryption_set_id: ResourceId of the disk encryption set to - use for enabling encryption at rest. + :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_12_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity + ~azure.mgmt.containerservice.v2020_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + :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 sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKU + :type sku: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKU """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, 'max_agent_pools': {'readonly': True}, 'fqdn': {'readonly': True}, 'private_fqdn': {'readonly': True}, + '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}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, @@ -1229,13 +1454,21 @@ class ManagedCluster(Resource): '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'}, + 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, + 'id': {'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': 'ManagedClusterSKU'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedCluster, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) self.provisioning_state = None self.power_state = None self.max_agent_pools = None @@ -1259,47 +1492,53 @@ def __init__(self, **kwargs): 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) + self.id = None + self.name = None + self.type = None + self.location = kwargs['location'] + self.tags = kwargs.get('tags', None) self.sku = kwargs.get('sku', None) -class ManagedClusterAADProfile(Model): +class ManagedClusterAADProfile(msrest.serialization.Model): """AADProfile specifies attributes for Azure Active Directory integration. :param managed: Whether to enable managed AAD. :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. + :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. :type enable_azure_rbac: 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 admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. + :type admin_group_object_i_ds: 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. + :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'}, 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, - 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'admin_group_object_i_ds': {'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): + def __init__( + self, + **kwargs + ): super(ManagedClusterAADProfile, self).__init__(**kwargs) self.managed = kwargs.get('managed', None) self.enable_azure_rbac = kwargs.get('enable_azure_rbac', None) - self.admin_group_object_ids = kwargs.get('admin_group_object_ids', None) + self.admin_group_object_i_ds = kwargs.get('admin_group_object_i_ds', 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) @@ -1309,20 +1548,19 @@ def __init__(self, **kwargs): class ManagedClusterAccessProfile(Resource): """Managed cluster Access Profile. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] :param kube_config: Base64-encoded Kubernetes configuration file. :type kube_config: bytearray @@ -1344,16 +1582,18 @@ class ManagedClusterAccessProfile(Resource): 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAccessProfile, self).__init__(**kwargs) self.kube_config = kwargs.get('kube_config', None) -class ManagedClusterAddonProfile(Model): +class ManagedClusterAddonProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -1377,37 +1617,16 @@ class ManagedClusterAddonProfile(Model): 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) + self.enabled = kwargs['enabled'] 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. @@ -1425,176 +1644,150 @@ class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): 'object_id': {'key': 'objectId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAddonProfileIdentity, self).__init__(**kwargs) -class ManagedClusterAgentPoolProfileProperties(Model): +class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): """Properties for the container service agent pool profile. - 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 count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for + system pools. The default value is 1. :type count: int - :param vm_size: 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' + :param vm_size: 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_12_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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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_12_01.models.OSType - :param max_count: Maximum number of nodes for auto-scaling + :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_12_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 + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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 + :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" . + :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_12_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" . + :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_12_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool """ _validation = { + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1634,7 +1827,10 @@ class ManagedClusterAgentPoolProfileProperties(Model): 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) self.count = kwargs.get('count', None) self.vm_size = kwargs.get('vm_size', None) @@ -1659,7 +1855,7 @@ def __init__(self, **kwargs): 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.spot_max_price = kwargs.get('spot_max_price', -1) self.tags = kwargs.get('tags', None) self.node_labels = kwargs.get('node_labels', None) self.node_taints = kwargs.get('node_taints', None) @@ -1672,174 +1868,145 @@ def __init__(self, **kwargs): 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. + Variables are only 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 agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for + system pools. The default value is 1. :type count: int - :param vm_size: 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' + :param vm_size: 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_12_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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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_12_01.models.OSType - :param max_count: Maximum number of nodes for auto-scaling + :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_12_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 + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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 + :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" . + :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_12_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" . + :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_12_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. + :param name: Required. Unique name of the agent pool profile in the context of the subscription + and resource group. :type name: str """ _validation = { + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1881,19 +2048,20 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs.get('name', None) + self.name = kwargs['name'] -class ManagedClusterAPIServerAccessProfile(Model): +class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): """Access profile for managed cluster API server. - :param authorized_ip_ranges: Authorized IP Ranges to kubernetes 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. + :param enable_private_cluster: Whether to create the cluster as a private cluster or not. :type enable_private_cluster: bool :param private_dns_zone: Private dns zone mode for private cluster. :type private_dns_zone: str @@ -1905,58 +2073,59 @@ class ManagedClusterAPIServerAccessProfile(Model): 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, } - def __init__(self, **kwargs): + 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) self.private_dns_zone = kwargs.get('private_dns_zone', None) -class ManagedClusterAutoUpgradeProfile(Model): +class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): """Auto upgrade profile for a managed cluster. - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2020_12_01.models.UpgradeChannel + :param upgrade_channel: upgrade channel for auto upgrade. Possible values include: "rapid", + "stable", "patch", "none". + :type upgrade_channel: str or ~azure.mgmt.containerservice.v2020_12_01.models.UpgradeChannel """ _attribute_map = { 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) self.upgrade_channel = kwargs.get('upgrade_channel', None) -class ManagedClusterIdentity(Model): +class ManagedClusterIdentity(msrest.serialization.Model): """Identity for the managed cluster. - 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 principal_id: The principal id of the system assigned identity which - is used by master components. + :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. + :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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. The user identity dictionary key - references will be ARM resource ids in the form: + :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", + "UserAssigned", "None". + :type type: str or ~azure.mgmt.containerservice.v2020_12_01.models.ResourceIdentityType + :param user_assigned_identities: The user identity associated with the managed cluster. This + identity will be used in control plane and only one user assigned identity is allowed. 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.containerservice.v2020_12_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] + ~azure.mgmt.containerservice.v2020_12_01.models.Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties] """ _validation = { @@ -1967,11 +2136,14 @@ class ManagedClusterIdentity(Model): _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -1979,61 +2151,58 @@ def __init__(self, **kwargs): self.user_assigned_identities = kwargs.get('user_assigned_identities', None) -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. +class ManagedClusterListResult(msrest.serialization.Model): + """The response from the List Managed Clusters 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 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 + :param value: The list of managed clusters. + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] + :ivar next_link: The URL to get the next set of managed cluster results. + :vartype next_link: str """ _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, + 'next_link': {'readonly': True}, } _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ManagedCluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None + def __init__( + self, + **kwargs + ): + super(ManagedClusterListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None -class ManagedClusterLoadBalancerProfile(Model): +class ManagedClusterLoadBalancerProfile(msrest.serialization.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: + :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. + :type managed_outbound_i_ps: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load + balancer. :type outbound_ip_prefixes: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: + :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. + :type outbound_i_ps: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_ips: The effective outbound IP resources of the - cluster load balancer. - :type effective_outbound_ips: + :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load + balancer. + :type effective_outbound_i_ps: list[~azure.mgmt.containerservice.v2020_12_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 . + :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. :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 . + :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. :type idle_timeout_in_minutes: int """ @@ -2043,30 +2212,32 @@ class ManagedClusterLoadBalancerProfile(Model): } _attribute_map = { - 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) - self.managed_outbound_ips = kwargs.get('managed_outbound_ips', None) + self.managed_outbound_i_ps = kwargs.get('managed_outbound_i_ps', 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.outbound_i_ps = kwargs.get('outbound_i_ps', None) + self.effective_outbound_i_ps = kwargs.get('effective_outbound_i_ps', 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): +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.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 . + :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. :type count: int """ @@ -2078,12 +2249,15 @@ class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): 'count': {'key': 'count', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) self.count = kwargs.get('count', 1) -class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): """Desired outbound IP Prefix resources for the cluster load balancer. :param public_ip_prefixes: A list of public IP prefix resources. @@ -2095,33 +2269,37 @@ class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) -class ManagedClusterLoadBalancerProfileOutboundIPs(Model): +class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.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_12_01.models.ResourceReference] + :param public_i_ps: A list of public IP resources. + :type public_i_ps: list[~azure.mgmt.containerservice.v2020_12_01.models.ResourceReference] """ _attribute_map = { - 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_ips = kwargs.get('public_ips', None) + self.public_i_ps = kwargs.get('public_i_ps', None) -class ManagedClusterPodIdentity(Model): +class ManagedClusterPodIdentity(msrest.serialization.Model): """ManagedClusterPodIdentity. - 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. @@ -2130,11 +2308,9 @@ class ManagedClusterPodIdentity(Model): :param namespace: Required. Namespace of the pod identity. :type namespace: str :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2020_12_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' + :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.UserAssignedIdentity + :ivar provisioning_state: The current provisioning state of the pod identity. Possible values + include: "Assigned", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningState :ivar provisioning_info: @@ -2158,16 +2334,19 @@ class ManagedClusterPodIdentity(Model): 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.identity = kwargs.get('identity', None) + self.name = kwargs['name'] + self.namespace = kwargs['namespace'] + self.identity = kwargs['identity'] self.provisioning_state = None self.provisioning_info = None -class ManagedClusterPodIdentityException(Model): +class ManagedClusterPodIdentityException(msrest.serialization.Model): """ManagedClusterPodIdentityException. All required parameters must be populated in order to send to Azure. @@ -2192,14 +2371,17 @@ class ManagedClusterPodIdentityException(Model): 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.pod_labels = kwargs.get('pod_labels', None) + self.name = kwargs['name'] + self.namespace = kwargs['namespace'] + self.pod_labels = kwargs['pod_labels'] -class ManagedClusterPodIdentityProfile(Model): +class ManagedClusterPodIdentityProfile(msrest.serialization.Model): """ManagedClusterPodIdentityProfile. :param enabled: Whether the pod identity addon is enabled. @@ -2207,8 +2389,7 @@ class ManagedClusterPodIdentityProfile(Model): :param user_assigned_identities: User assigned pod identity settings. :type user_assigned_identities: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. + :param user_assigned_identity_exceptions: User assigned pod identity exception settings. :type user_assigned_identity_exceptions: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityException] """ @@ -2219,14 +2400,17 @@ class ManagedClusterPodIdentityProfile(Model): 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) self.enabled = kwargs.get('enabled', None) self.user_assigned_identities = kwargs.get('user_assigned_identities', None) self.user_assigned_identity_exceptions = kwargs.get('user_assigned_identity_exceptions', None) -class ManagedClusterPodIdentityProvisioningInfo(Model): +class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): """ManagedClusterPodIdentityProvisioningInfo. :param error: Pod identity assignment error (if any). @@ -2237,28 +2421,27 @@ class ManagedClusterPodIdentityProvisioningInfo(Model): 'error': {'key': 'error', 'type': 'CloudError'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) self.error = kwargs.get('error', None) -class ManagedClusterPoolUpgradeProfile(Model): +class ManagedClusterPoolUpgradeProfile(msrest.serialization.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). + :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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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_12_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] """ @@ -2275,15 +2458,18 @@ class ManagedClusterPoolUpgradeProfile(Model): 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) - self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.kubernetes_version = kwargs['kubernetes_version'] self.name = kwargs.get('name', None) self.os_type = kwargs.get('os_type', "Linux") self.upgrades = kwargs.get('upgrades', None) -class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): +class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): """ManagedClusterPoolUpgradeProfileUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -2297,21 +2483,22 @@ class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, **kwargs): + 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): +class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): """Parameters to be applied to the cluster-autoscaler when enabled. :param balance_similar_node_groups: :type balance_similar_node_groups: str - :param expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2020_12_01.models.Expander + :param expander: Possible values include: "least-waste", "most-pods", "priority", "random". + :type expander: str or ~azure.mgmt.containerservice.v2020_12_01.models.Expander :param max_empty_bulk_delete: :type max_empty_bulk_delete: str :param max_graceful_termination_sec: @@ -2364,7 +2551,10 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) self.expander = kwargs.get('expander', None) @@ -2385,37 +2575,14 @@ def __init__(self, **kwargs): self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', 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. +class ManagedClusterServicePrincipalProfile(msrest.serialization.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. + :param secret: The secret password associated with the service principal in plain text. :type secret: str """ @@ -2428,23 +2595,22 @@ class ManagedClusterServicePrincipalProfile(Model): 'secret': {'key': 'secret', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) - self.client_id = kwargs.get('client_id', None) + self.client_id = kwargs['client_id'] self.secret = kwargs.get('secret', None) -class ManagedClusterSKU(Model): +class ManagedClusterSKU(msrest.serialization.Model): """ManagedClusterSKU. - :param name: Name of a managed cluster SKU. Possible values include: - 'Basic' - :type name: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUTier + :param name: Name of a managed cluster SKU. Possible values include: "Basic". + :type name: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". + :type tier: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUTier """ _attribute_map = { @@ -2452,17 +2618,19 @@ class ManagedClusterSKU(Model): 'tier': {'key': 'tier', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterSKU, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.tier = kwargs.get('tier', None) -class ManagedClusterUpgradeProfile(Model): +class ManagedClusterUpgradeProfile(msrest.serialization.Model): """The list of available upgrades for compute pools. - 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. @@ -2472,12 +2640,11 @@ class ManagedClusterUpgradeProfile(Model): :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. + :param control_plane_profile: Required. The list of available upgrade versions for the control + plane. :type control_plane_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. + :param agent_pool_profiles: Required. The list of available upgrade versions for agent pools. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfile] """ @@ -2498,43 +2665,42 @@ class ManagedClusterUpgradeProfile(Model): 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, } - def __init__(self, **kwargs): + 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) + self.control_plane_profile = kwargs['control_plane_profile'] + self.agent_pool_profiles = kwargs['agent_pool_profiles'] -class ManagedClusterWindowsProfile(Model): +class ManagedClusterWindowsProfile(msrest.serialization.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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters + :param admin_username: Required. Specifies the name of the administrator account. + :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` + **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", + "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", + "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", + "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" + :param admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.LicenseType + :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable + Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". + :type license_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.LicenseType """ _validation = { @@ -2547,18 +2713,45 @@ class ManagedClusterWindowsProfile(Model): 'license_type': {'key': 'licenseType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = kwargs.get('admin_username', None) + self.admin_username = kwargs['admin_username'] self.admin_password = kwargs.get('admin_password', None) self.license_type = kwargs.get('license_type', None) -class OperationValue(Model): +class OperationListResult(msrest.serialization.Model): + """The List Compute Operation operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of compute operations. + :vartype value: list[~azure.mgmt.containerservice.v2020_12_01.models.OperationValue] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationValue]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + + +class OperationValue(msrest.serialization.Model): """Describes the properties of a Compute Operation value. - 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 origin: The origin of the compute operation. :vartype origin: str @@ -2592,7 +2785,10 @@ class OperationValue(Model): 'provider': {'key': 'display.provider', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OperationValue, self).__init__(**kwargs) self.origin = None self.name = None @@ -2602,11 +2798,11 @@ def __init__(self, **kwargs): self.provider = None -class PowerState(Model): +class PowerState(msrest.serialization.Model): """Describes the Power State of the cluster. - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' + :param code: Tells whether the cluster is Running or Stopped. Possible values include: + "Running", "Stopped". :type code: str or ~azure.mgmt.containerservice.v2020_12_01.models.Code """ @@ -2614,15 +2810,18 @@ class PowerState(Model): 'code': {'key': 'code', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PowerState, self).__init__(**kwargs) self.code = kwargs.get('code', None) -class PrivateEndpoint(Model): +class PrivateEndpoint(msrest.serialization.Model): """Private endpoint which a connection belongs to. - :param id: The resource Id for private endpoint + :param id: The resource Id for private endpoint. :type id: str """ @@ -2630,18 +2829,18 @@ class PrivateEndpoint(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateEndpoint, self).__init__(**kwargs) self.id = kwargs.get('id', None) -class PrivateEndpointConnection(Model): +class PrivateEndpointConnection(msrest.serialization.Model): """A private endpoint 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. + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ID of the private endpoint connection. :vartype id: str @@ -2649,16 +2848,14 @@ class PrivateEndpointConnection(Model): :vartype name: str :ivar type: The resource type. :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' + :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", + "Creating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionProvisioningState :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_12_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_endpoint: ~azure.mgmt.containerservice.v2020_12_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.containerservice.v2020_12_01.models.PrivateLinkServiceConnectionState """ @@ -2668,7 +2865,6 @@ class PrivateEndpointConnection(Model): 'name': {'readonly': True}, 'type': {'readonly': True}, 'provisioning_state': {'readonly': True}, - 'private_link_service_connection_state': {'required': True}, } _attribute_map = { @@ -2680,7 +2876,10 @@ class PrivateEndpointConnection(Model): 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateEndpointConnection, self).__init__(**kwargs) self.id = None self.name = None @@ -2690,28 +2889,29 @@ def __init__(self, **kwargs): self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) -class PrivateEndpointConnectionListResult(Model): +class PrivateEndpointConnectionListResult(msrest.serialization.Model): """A list of private endpoint connections. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection] + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) self.value = kwargs.get('value', None) -class PrivateLinkResource(Model): +class PrivateLinkResource(msrest.serialization.Model): """A private link resource. - 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 id: The ID of the private link resource. :type id: str @@ -2721,10 +2921,10 @@ class PrivateLinkResource(Model): :type type: str :param group_id: The group ID of the resource. :type group_id: str - :param required_members: RequiredMembers of the resource + :param required_members: RequiredMembers of the resource. :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. + :ivar private_link_service_id: The private link service ID of the resource, this field is + exposed only to NRP internally. :vartype private_link_service_id: str """ @@ -2741,7 +2941,10 @@ class PrivateLinkResource(Model): 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkResource, self).__init__(**kwargs) self.id = kwargs.get('id', None) self.name = kwargs.get('name', None) @@ -2751,30 +2954,31 @@ def __init__(self, **kwargs): self.private_link_service_id = None -class PrivateLinkResourcesListResult(Model): +class PrivateLinkResourcesListResult(msrest.serialization.Model): """A list of private link resources. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource] + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkResourcesListResult, self).__init__(**kwargs) self.value = kwargs.get('value', None) -class PrivateLinkServiceConnectionState(Model): +class PrivateLinkServiceConnectionState(msrest.serialization.Model): """The state of a private link service connection. - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ConnectionStatus + :param status: The private link service connection status. Possible values include: "Pending", + "Approved", "Rejected", "Disconnected". + :type status: str or ~azure.mgmt.containerservice.v2020_12_01.models.ConnectionStatus :param description: The private link service connection description. :type description: str """ @@ -2784,13 +2988,16 @@ class PrivateLinkServiceConnectionState(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) self.status = kwargs.get('status', None) self.description = kwargs.get('description', None) -class ResourceReference(Model): +class ResourceReference(msrest.serialization.Model): """A reference to an Azure resource. :param id: The fully qualified Azure resource id. @@ -2801,18 +3008,20 @@ class ResourceReference(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ResourceReference, self).__init__(**kwargs) self.id = kwargs.get('id', None) -class SysctlConfig(Model): +class SysctlConfig(msrest.serialization.Model): """Sysctl settings for Linux agent nodes. :param net_core_somaxconn: Sysctl setting net.core.somaxconn. :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. + :param net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. :type net_core_netdev_max_backlog: int :param net_core_rmem_default: Sysctl setting net.core.rmem_default. :type net_core_rmem_default: int @@ -2824,45 +3033,33 @@ class SysctlConfig(Model): :type net_core_wmem_max: int :param net_core_optmem_max: Sysctl setting net.core.optmem_max. :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. + :param net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. + :param net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. :type net_ipv4_tcp_max_tw_buckets: int :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. + :param net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. + :param net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. + :param net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. :type net_ipv4_tcpkeepalive_intvl: int :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. + :param net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. + :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. + :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. + :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. + :param net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. + :param net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. + :param fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. :type fs_inotify_max_user_watches: int :param fs_file_max: Sysctl setting fs.file-max. :type fs_file_max: int @@ -2911,7 +3108,10 @@ class SysctlConfig(Model): 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SysctlConfig, self).__init__(**kwargs) self.net_core_somaxconn = kwargs.get('net_core_somaxconn', None) self.net_core_netdev_max_backlog = kwargs.get('net_core_netdev_max_backlog', None) @@ -2943,27 +3143,24 @@ def __init__(self, **kwargs): self.vm_vfs_cache_pressure = kwargs.get('vm_vfs_cache_pressure', None) -class SystemData(Model): +class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. :param created_by: The identity that created the resource. :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime + :type created_at: ~datetime.datetime :param last_modified_by: The identity that last modified the resource. :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". :type last_modified_by_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -2975,7 +3172,10 @@ class SystemData(Model): 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SystemData, self).__init__(**kwargs) self.created_by = kwargs.get('created_by', None) self.created_by_type = kwargs.get('created_by_type', None) @@ -2985,10 +3185,10 @@ def __init__(self, **kwargs): self.last_modified_at = kwargs.get('last_modified_at', None) -class TagsObject(Model): +class TagsObject(msrest.serialization.Model): """Tags object for patch operations. - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -2996,16 +3196,19 @@ class TagsObject(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TagsObject, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) -class TimeInWeek(Model): +class TimeInWeek(msrest.serialization.Model): """Time in a week. - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + :param day: A day in a week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". :type day: str or ~azure.mgmt.containerservice.v2020_12_01.models.WeekDay :param hour_slots: hour slots in a day. :type hour_slots: list[int] @@ -3016,19 +3219,22 @@ class TimeInWeek(Model): 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TimeInWeek, self).__init__(**kwargs) self.day = kwargs.get('day', None) self.hour_slots = kwargs.get('hour_slots', None) -class TimeSpan(Model): +class TimeSpan(msrest.serialization.Model): """The time span with start and end properties. - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime + :param start: The start of a time span. + :type start: ~datetime.datetime + :param end: The end of a time span. + :type end: ~datetime.datetime """ _attribute_map = { @@ -3036,7 +3242,10 @@ class TimeSpan(Model): 'end': {'key': 'end', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TimeSpan, self).__init__(**kwargs) self.start = kwargs.get('start', None) self.end = kwargs.get('end', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py old mode 100644 new mode 100755 index de71b315522..2b54a24fe94 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py @@ -1,30 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 +import datetime +from typing import Dict, List, Optional, Union +import msrest.serialization -class SubResource(Model): +from ._container_service_client_enums import * + + +class SubResource(msrest.serialization.Model): """Reference to another subresource. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str """ @@ -40,7 +40,10 @@ class SubResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SubResource, self).__init__(**kwargs) self.id = None self.name = None @@ -50,172 +53,143 @@ def __init__(self, **kwargs) -> None: class AgentPool(SubResource): """Agent Pool. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for + system pools. The default value is 1. :type count: int - :param vm_size: 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' + :param vm_size: 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_12_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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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_12_01.models.OSType - :param max_count: Maximum number of nodes for auto-scaling + :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_12_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 + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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 + :param type_properties_type: AgentPoolType represents types of an agent pool. Possible values + include: "VirtualMachineScaleSets", "AvailabilitySet". + :type type_properties_type: str or ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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 + :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" . + :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_12_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" . + :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_12_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool """ @@ -223,6 +197,7 @@ class AgentPool(SubResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -244,7 +219,7 @@ class AgentPool(SubResource): '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'}, + 'type_properties_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'}, @@ -265,7 +240,39 @@ class AgentPool(SubResource): 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, } - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_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, 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, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, **kwargs) -> None: + def __init__( + self, + *, + count: Optional[int] = None, + vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + **kwargs + ): super(AgentPool, self).__init__(**kwargs) self.count = count self.vm_size = vm_size @@ -279,7 +286,7 @@ def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, 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.type_properties_type = type_properties_type self.mode = mode self.orchestrator_version = orchestrator_version self.node_image_version = None @@ -300,11 +307,10 @@ def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, self.enable_encryption_at_host = enable_encryption_at_host -class AgentPoolAvailableVersions(Model): +class AgentPoolAvailableVersions(msrest.serialization.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. + 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 @@ -330,7 +336,12 @@ class AgentPoolAvailableVersions(Model): 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, } - def __init__(self, *, agent_pool_versions=None, **kwargs) -> None: + def __init__( + self, + *, + agent_pool_versions: Optional[List["AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem"]] = None, + **kwargs + ): super(AgentPoolAvailableVersions, self).__init__(**kwargs) self.id = None self.name = None @@ -338,7 +349,7 @@ def __init__(self, *, agent_pool_versions=None, **kwargs) -> None: self.agent_pool_versions = agent_pool_versions -class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. :param default: Whether this version is the default agent pool version. @@ -355,18 +366,55 @@ class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, *, default: bool=None, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + def __init__( + self, + *, + default: Optional[bool] = None, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) self.default = default self.kubernetes_version = kubernetes_version self.is_preview = is_preview -class AgentPoolUpgradeProfile(Model): +class AgentPoolListResult(msrest.serialization.Model): + """The response from the List Agent Pools operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of agent pools. + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] + :ivar next_link: The URL to get the next set of agent pool results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AgentPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["AgentPool"]] = None, + **kwargs + ): + super(AgentPoolListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class AgentPoolUpgradeProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -376,20 +424,16 @@ class AgentPoolUpgradeProfile(Model): :vartype name: str :ivar type: Type of the agent pool upgrade profile. :vartype type: str - :param kubernetes_version: Required. Kubernetes version (major, minor, - patch). + :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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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_12_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - :param latest_node_image_version: LatestNodeImageVersion is the latest AKS - supported node image version. + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS supported node image + version. :type latest_node_image_version: str """ @@ -411,7 +455,15 @@ class AgentPoolUpgradeProfile(Model): '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: + def __init__( + self, + *, + kubernetes_version: str, + os_type: Union[str, "OSType"] = "Linux", + upgrades: Optional[List["AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, + latest_node_image_version: Optional[str] = None, + **kwargs + ): super(AgentPoolUpgradeProfile, self).__init__(**kwargs) self.id = None self.name = None @@ -422,7 +474,7 @@ def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=None, l self.latest_node_image_version = latest_node_image_version -class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): +class AgentPoolUpgradeProfilePropertiesUpgradesItem(msrest.serialization.Model): """AgentPoolUpgradeProfilePropertiesUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -436,17 +488,23 @@ class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + def __init__( + self, + *, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) self.kubernetes_version = kubernetes_version self.is_preview = is_preview -class AgentPoolUpgradeSettings(Model): +class AgentPoolUpgradeSettings(msrest.serialization.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 + :param max_surge: Count or percentage of additional nodes to be added during upgrade. If empty + uses AKS default. :type max_surge: str """ @@ -454,55 +512,51 @@ class AgentPoolUpgradeSettings(Model): 'max_surge': {'key': 'maxSurge', 'type': 'str'}, } - def __init__(self, *, max_surge: str=None, **kwargs) -> None: + def __init__( + self, + *, + max_surge: Optional[str] = None, + **kwargs + ): super(AgentPoolUpgradeSettings, self).__init__(**kwargs) self.max_surge = max_surge -class CloudError(Model): +class CloudError(msrest.serialization.Model): """An error response from the Container service. :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody + :type error: ~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody """ _attribute_map = { 'error': {'key': 'error', 'type': 'CloudErrorBody'}, } - def __init__(self, *, error=None, **kwargs) -> None: + def __init__( + self, + *, + error: Optional["CloudErrorBody"] = None, + **kwargs + ): 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): +class CloudErrorBody(msrest.serialization.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. + :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. + :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. + :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_12_01.models.CloudErrorBody] + :type details: list[~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody] """ _attribute_map = { @@ -512,7 +566,15 @@ class CloudErrorBody(Model): 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, } - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + 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 @@ -520,13 +582,258 @@ def __init__(self, *, code: str=None, message: str=None, target: str=None, detai self.details = details -class ContainerServiceDiagnosticsProfile(Model): +class Components1Q1Og48SchemasManagedclusterAllof1(msrest.serialization.Model): + """Components1Q1Og48SchemasManagedclusterAllof1. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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_12_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] + :param pod_identity_profile: Profile of managed cluster pod identity. + :type pod_identity_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile + :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: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile + :param auto_upgrade_profile: Profile of auto upgrade configuration. + :type auto_upgrade_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + '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}'}, + 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, + '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, + '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, + } + + def __init__( + self, + *, + identity: Optional["ManagedClusterIdentity"] = None, + kubernetes_version: Optional[str] = None, + dns_prefix: Optional[str] = None, + agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, + linux_profile: Optional["ContainerServiceLinuxProfile"] = None, + windows_profile: Optional["ManagedClusterWindowsProfile"] = None, + service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, + addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, + pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, + node_resource_group: Optional[str] = None, + enable_rbac: Optional[bool] = None, + enable_pod_security_policy: Optional[bool] = None, + network_profile: Optional["ContainerServiceNetworkProfile"] = None, + aad_profile: Optional["ManagedClusterAADProfile"] = None, + auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, + auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, + api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, + disk_encryption_set_id: Optional[str] = None, + identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, + **kwargs + ): + super(Components1Q1Og48SchemasManagedclusterAllof1, self).__init__(**kwargs) + self.identity = identity + self.provisioning_state = None + self.power_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.pod_identity_profile = pod_identity_profile + 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_upgrade_profile = auto_upgrade_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 + + +class Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties. + + 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(Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class UserAssignedIdentity(msrest.serialization.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: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): + super(UserAssignedIdentity, self).__init__(**kwargs) + self.resource_id = resource_id + self.client_id = client_id + self.object_id = object_id + + +class ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties(UserAssignedIdentity): + """ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties. + + :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: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): + super(ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) + + +class ContainerServiceDiagnosticsProfile(msrest.serialization.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. + :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. :type vm_diagnostics: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceVMDiagnostics """ @@ -539,23 +846,25 @@ class ContainerServiceDiagnosticsProfile(Model): 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, } - def __init__(self, *, vm_diagnostics, **kwargs) -> None: + def __init__( + self, + *, + vm_diagnostics: "ContainerServiceVMDiagnostics", + **kwargs + ): super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) self.vm_diagnostics = vm_diagnostics -class ContainerServiceLinuxProfile(Model): +class ContainerServiceLinuxProfile(msrest.serialization.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. + :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_12_01.models.ContainerServiceSshConfiguration + :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. + :type ssh: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceSshConfiguration """ _validation = { @@ -568,93 +877,82 @@ class ContainerServiceLinuxProfile(Model): 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, } - def __init__(self, *, admin_username: str, ssh, **kwargs) -> None: + def __init__( + self, + *, + admin_username: str, + ssh: "ContainerServiceSshConfiguration", + **kwargs + ): super(ContainerServiceLinuxProfile, self).__init__(**kwargs) self.admin_username = admin_username self.ssh = ssh -class ContainerServiceMasterProfile(Model): +class ContainerServiceMasterProfile(msrest.serialization.Model): """Profile for the container service master. - 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. - :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. + :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, + 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2020_12_01.models.Count + :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' + :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_12_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. + :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. + :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" . + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static + ip of masters. :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' + :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_12_01.models.ContainerServiceStorageProfileTypes :ivar fqdn: FQDN for the master pool. @@ -664,6 +962,7 @@ class ContainerServiceMasterProfile(Model): _validation = { 'dns_prefix': {'required': True}, 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'fqdn': {'readonly': True}, } @@ -678,7 +977,18 @@ class ContainerServiceMasterProfile(Model): '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: + def __init__( + self, + *, + dns_prefix: str, + vm_size: Union[str, "ContainerServiceVMSizeTypes"], + count: Optional[Union[int, "Count"]] = "1", + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + first_consecutive_static_ip: Optional[str] = "10.240.255.5", + storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, + **kwargs + ): super(ContainerServiceMasterProfile, self).__init__(**kwargs) self.count = count self.dns_prefix = dns_prefix @@ -690,46 +1000,35 @@ def __init__(self, *, dns_prefix: str, vm_size, count: int=1, os_disk_size_gb: i self.fqdn = None -class ContainerServiceNetworkProfile(Model): +class ContainerServiceNetworkProfile(msrest.serialization.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_12_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_12_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_12_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" . + :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_12_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_12_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_12_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. :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" . + :param service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must + not overlap with any Subnet IP ranges. :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" . + :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. :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" . + :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. :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_12_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_12_01.models.LoadBalancerSku + :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_12_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_12_01.models.LoadBalancerSku :param load_balancer_profile: Profile of the cluster load balancer. :type load_balancer_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfile @@ -755,7 +1054,21 @@ class ContainerServiceNetworkProfile(Model): '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: + def __init__( + self, + *, + network_plugin: Optional[Union[str, "NetworkPlugin"]] = "kubenet", + network_policy: Optional[Union[str, "NetworkPolicy"]] = None, + network_mode: Optional[Union[str, "NetworkMode"]] = None, + pod_cidr: Optional[str] = "10.244.0.0/16", + service_cidr: Optional[str] = "10.0.0.0/16", + dns_service_ip: Optional[str] = "10.0.0.10", + docker_bridge_cidr: Optional[str] = "172.17.0.1/16", + outbound_type: Optional[Union[str, "OutboundType"]] = "loadBalancer", + load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, + load_balancer_profile: Optional["ManagedClusterLoadBalancerProfile"] = None, + **kwargs + ): super(ContainerServiceNetworkProfile, self).__init__(**kwargs) self.network_plugin = network_plugin self.network_policy = network_policy @@ -769,13 +1082,13 @@ def __init__(self, *, network_plugin="kubenet", network_policy=None, network_mod self.load_balancer_profile = load_balancer_profile -class ContainerServiceSshConfiguration(Model): +class ContainerServiceSshConfiguration(msrest.serialization.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. + :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_12_01.models.ContainerServiceSshPublicKey] """ @@ -788,19 +1101,23 @@ class ContainerServiceSshConfiguration(Model): 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, } - def __init__(self, *, public_keys, **kwargs) -> None: + def __init__( + self, + *, + public_keys: List["ContainerServiceSshPublicKey"], + **kwargs + ): super(ContainerServiceSshConfiguration, self).__init__(**kwargs) self.public_keys = public_keys -class ContainerServiceSshPublicKey(Model): +class ContainerServiceSshPublicKey(msrest.serialization.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. + :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 """ @@ -812,24 +1129,26 @@ class ContainerServiceSshPublicKey(Model): 'key_data': {'key': 'keyData', 'type': 'str'}, } - def __init__(self, *, key_data: str, **kwargs) -> None: + def __init__( + self, + *, + key_data: str, + **kwargs + ): super(ContainerServiceSshPublicKey, self).__init__(**kwargs) self.key_data = key_data -class ContainerServiceVMDiagnostics(Model): +class ContainerServiceVMDiagnostics(msrest.serialization.Model): """Profile for diagnostics on the container service VMs. - 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. - :param enabled: Required. Whether the VM diagnostic agent is provisioned - on the VM. + :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. + :ivar storage_uri: The URI of the storage account where diagnostics are stored. :vartype storage_uri: str """ @@ -843,17 +1162,21 @@ class ContainerServiceVMDiagnostics(Model): 'storage_uri': {'key': 'storageUri', 'type': 'str'}, } - def __init__(self, *, enabled: bool, **kwargs) -> None: + def __init__( + self, + *, + enabled: bool, + **kwargs + ): super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) self.enabled = enabled self.storage_uri = None -class CredentialResult(Model): +class CredentialResult(msrest.serialization.Model): """The credential result response. - 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 credential. :vartype name: str @@ -871,21 +1194,22 @@ class CredentialResult(Model): 'value': {'key': 'value', 'type': 'bytearray'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(CredentialResult, self).__init__(**kwargs) self.name = None self.value = None -class CredentialResults(Model): +class CredentialResults(msrest.serialization.Model): """The list of credential result response. - 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 kubeconfigs: Base64-encoded Kubernetes configuration file. - :vartype kubeconfigs: - list[~azure.mgmt.containerservice.v2020_12_01.models.CredentialResult] + :vartype kubeconfigs: list[~azure.mgmt.containerservice.v2020_12_01.models.CredentialResult] """ _validation = { @@ -896,40 +1220,42 @@ class CredentialResults(Model): 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(CredentialResults, self).__init__(**kwargs) self.kubeconfigs = None -class KubeletConfig(Model): +class KubeletConfig(msrest.serialization.Model): """Kubelet configurations of agent nodes. :param cpu_manager_policy: CPU Manager policy to use. :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. + :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that specify CPU limits. :type cpu_cfs_quota: bool :param cpu_cfs_quota_period: Sets CPU CFS quota period value. :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. + :param image_gc_high_threshold: The percent of disk usage after which image garbage collection + is always run. :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. + :param image_gc_low_threshold: The percent of disk usage before which image garbage collection + is never run. :type image_gc_low_threshold: int :param topology_manager_policy: Topology Manager policy to use. :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). + :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in + ``*``\ ). :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. + :param fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled + on the node. :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. + :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it + is rotated. :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. + :param container_log_max_files: The maximum number of container log files that can be present + for a container. The number must be ≥ 2. :type container_log_max_files: int :param pod_max_pids: The maximum number of processes per pod. :type pod_max_pids: int @@ -953,7 +1279,22 @@ class KubeletConfig(Model): 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, } - def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cpu_cfs_quota_period: str=None, image_gc_high_threshold: int=None, image_gc_low_threshold: int=None, topology_manager_policy: str=None, allowed_unsafe_sysctls=None, fail_swap_on: bool=None, container_log_max_size_mb: int=None, container_log_max_files: int=None, pod_max_pids: int=None, **kwargs) -> None: + def __init__( + self, + *, + cpu_manager_policy: Optional[str] = None, + cpu_cfs_quota: Optional[bool] = None, + cpu_cfs_quota_period: Optional[str] = None, + image_gc_high_threshold: Optional[int] = None, + image_gc_low_threshold: Optional[int] = None, + topology_manager_policy: Optional[str] = None, + allowed_unsafe_sysctls: Optional[List[str]] = None, + fail_swap_on: Optional[bool] = None, + container_log_max_size_mb: Optional[int] = None, + container_log_max_files: Optional[int] = None, + pod_max_pids: Optional[int] = None, + **kwargs + ): super(KubeletConfig, self).__init__(**kwargs) self.cpu_manager_policy = cpu_manager_policy self.cpu_cfs_quota = cpu_cfs_quota @@ -968,20 +1309,17 @@ def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cp self.pod_max_pids = pod_max_pids -class LinuxOSConfig(Model): +class LinuxOSConfig(msrest.serialization.Model): """OS configurations of Linux agent nodes. :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2020_12_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. + :type sysctls: ~azure.mgmt.containerservice.v2020_12_01.models.SysctlConfig + :param transparent_huge_page_enabled: Transparent Huge Page enabled configuration. :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. + :param transparent_huge_page_defrag: Transparent Huge Page defrag configuration. :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. + :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap file will be created on + each node. :type swap_file_size_mb: int """ @@ -992,7 +1330,15 @@ class LinuxOSConfig(Model): 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, } - def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, transparent_huge_page_defrag: str=None, swap_file_size_mb: int=None, **kwargs) -> None: + def __init__( + self, + *, + sysctls: Optional["SysctlConfig"] = None, + transparent_huge_page_enabled: Optional[str] = None, + transparent_huge_page_defrag: Optional[str] = None, + swap_file_size_mb: Optional[int] = None, + **kwargs + ): super(LinuxOSConfig, self).__init__(**kwargs) self.sysctls = sysctls self.transparent_huge_page_enabled = transparent_huge_page_enabled @@ -1003,25 +1349,21 @@ def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, tra class MaintenanceConfiguration(SubResource): """maintenance configuration. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2020_12_01.models.SystemData + :vartype system_data: ~azure.mgmt.containerservice.v2020_12_01.models.SystemData :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] + :type time_in_week: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] + :type not_allowed_time: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] """ _validation = { @@ -1040,30 +1382,66 @@ class MaintenanceConfiguration(SubResource): 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, } - def __init__(self, *, time_in_week=None, not_allowed_time=None, **kwargs) -> None: + def __init__( + self, + *, + time_in_week: Optional[List["TimeInWeek"]] = None, + not_allowed_time: Optional[List["TimeSpan"]] = None, + **kwargs + ): super(MaintenanceConfiguration, self).__init__(**kwargs) self.system_data = None self.time_in_week = time_in_week self.not_allowed_time = not_allowed_time -class Resource(Model): +class MaintenanceConfigurationListResult(msrest.serialization.Model): + """The response from the List maintenance configurations operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of maintenance configurations. + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration] + :ivar next_link: The URL to get the next set of maintenance configuration results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["MaintenanceConfiguration"]] = None, + **kwargs + ): + super(MaintenanceConfigurationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Resource(msrest.serialization.Model): """The Resource model definition. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -1082,7 +1460,13 @@ class Resource(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, location: str, tags=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -1091,35 +1475,23 @@ def __init__(self, *, location: str, tags=None, **kwargs) -> None: self.tags = tags -class ManagedCluster(Resource): +class ManagedCluster(Resource, Components1Q1Og48SchemasManagedclusterAllof1): """Managed cluster. - 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. - :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. + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :ivar max_agent_pools: The max number of agent pools for the managed - cluster. + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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. + :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 @@ -1130,16 +1502,14 @@ class ManagedCluster(Resource): :param agent_pool_profiles: Properties of the agent pool. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. + :param linux_profile: Profile for Linux VMs in the container service cluster. :type linux_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. + :param windows_profile: Profile for Windows VMs in the container service cluster. :type windows_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterWindowsProfile - :param service_principal_profile: Information about a service principal - identity for the cluster to use for manipulating Azure APIs. + :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_12_01.models.ManagedClusterServicePrincipalProfile :param addon_profiles: Profile of managed cluster add-on. @@ -1148,65 +1518,62 @@ class ManagedCluster(Resource): :param pod_identity_profile: Profile of managed cluster pod identity. :type pod_identity_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile - :param node_resource_group: Name of the resource group containing agent - pool nodes. + :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. + :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. :type enable_rbac: bool - :param enable_pod_security_policy: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. + :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. :type enable_pod_security_policy: bool :param network_profile: Profile of network configuration. :type network_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile + :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile :param auto_upgrade_profile: Profile of auto upgrade configuration. :type auto_upgrade_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. :type auto_scaler_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. + :param api_server_access_profile: Access profile for managed cluster API server. :type api_server_access_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAPIServerAccessProfile - :param disk_encryption_set_id: ResourceId of the disk encryption set to - use for enabling encryption at rest. + :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_12_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity + ~azure.mgmt.containerservice.v2020_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + :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 sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKU + :type sku: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKU """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, 'max_agent_pools': {'readonly': True}, 'fqdn': {'readonly': True}, 'private_fqdn': {'readonly': True}, + '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}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, @@ -1229,13 +1596,44 @@ class ManagedCluster(Resource): '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'}, + 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, + 'id': {'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': '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, pod_identity_profile=None, node_resource_group: str=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, auto_upgrade_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) + def __init__( + self, + *, + location: str, + identity: Optional["ManagedClusterIdentity"] = None, + kubernetes_version: Optional[str] = None, + dns_prefix: Optional[str] = None, + agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, + linux_profile: Optional["ContainerServiceLinuxProfile"] = None, + windows_profile: Optional["ManagedClusterWindowsProfile"] = None, + service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, + addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, + pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, + node_resource_group: Optional[str] = None, + enable_rbac: Optional[bool] = None, + enable_pod_security_policy: Optional[bool] = None, + network_profile: Optional["ContainerServiceNetworkProfile"] = None, + aad_profile: Optional["ManagedClusterAADProfile"] = None, + auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, + auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, + api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, + disk_encryption_set_id: Optional[str] = None, + identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["ManagedClusterSKU"] = None, + **kwargs + ): + super(ManagedCluster, self).__init__(location=location, tags=tags, identity=identity, kubernetes_version=kubernetes_version, dns_prefix=dns_prefix, agent_pool_profiles=agent_pool_profiles, linux_profile=linux_profile, windows_profile=windows_profile, service_principal_profile=service_principal_profile, addon_profiles=addon_profiles, pod_identity_profile=pod_identity_profile, node_resource_group=node_resource_group, enable_rbac=enable_rbac, enable_pod_security_policy=enable_pod_security_policy, network_profile=network_profile, aad_profile=aad_profile, auto_upgrade_profile=auto_upgrade_profile, auto_scaler_profile=auto_scaler_profile, api_server_access_profile=api_server_access_profile, disk_encryption_set_id=disk_encryption_set_id, identity_profile=identity_profile, **kwargs) + self.identity = identity self.provisioning_state = None self.power_state = None self.max_agent_pools = None @@ -1259,47 +1657,61 @@ def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dn 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 + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags self.sku = sku -class ManagedClusterAADProfile(Model): +class ManagedClusterAADProfile(msrest.serialization.Model): """AADProfile specifies attributes for Azure Active Directory integration. :param managed: Whether to enable managed AAD. :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. + :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. :type enable_azure_rbac: 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 admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. + :type admin_group_object_i_ds: 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. + :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'}, 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, - 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'admin_group_object_i_ds': {'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, enable_azure_rbac: 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: + def __init__( + self, + *, + managed: Optional[bool] = None, + enable_azure_rbac: Optional[bool] = None, + admin_group_object_i_ds: Optional[List[str]] = None, + client_app_id: Optional[str] = None, + server_app_id: Optional[str] = None, + server_app_secret: Optional[str] = None, + tenant_id: Optional[str] = None, + **kwargs + ): super(ManagedClusterAADProfile, self).__init__(**kwargs) self.managed = managed self.enable_azure_rbac = enable_azure_rbac - self.admin_group_object_ids = admin_group_object_ids + self.admin_group_object_i_ds = admin_group_object_i_ds self.client_app_id = client_app_id self.server_app_id = server_app_id self.server_app_secret = server_app_secret @@ -1309,20 +1721,19 @@ def __init__(self, *, managed: bool=None, enable_azure_rbac: bool=None, admin_gr class ManagedClusterAccessProfile(Resource): """Managed cluster Access Profile. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] :param kube_config: Base64-encoded Kubernetes configuration file. :type kube_config: bytearray @@ -1344,16 +1755,22 @@ class ManagedClusterAccessProfile(Resource): 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, } - def __init__(self, *, location: str, tags=None, kube_config: bytearray=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + kube_config: Optional[bytearray] = None, + **kwargs + ): super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) self.kube_config = kube_config -class ManagedClusterAddonProfile(Model): +class ManagedClusterAddonProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -1377,37 +1794,19 @@ class ManagedClusterAddonProfile(Model): 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, } - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: + def __init__( + self, + *, + enabled: bool, + config: Optional[Dict[str, str]] = None, + **kwargs + ): 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. @@ -1425,176 +1824,154 @@ class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): 'object_id': {'key': 'objectId', 'type': 'str'}, } - def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + def __init__( + self, + *, + resource_id: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) -class ManagedClusterAgentPoolProfileProperties(Model): +class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): """Properties for the container service agent pool profile. - 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 count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for + system pools. The default value is 1. :type count: int - :param vm_size: 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' + :param vm_size: 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_12_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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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_12_01.models.OSType - :param max_count: Maximum number of nodes for auto-scaling + :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_12_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 + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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 + :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" . + :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_12_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" . + :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_12_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool """ _validation = { + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1634,7 +2011,39 @@ class ManagedClusterAgentPoolProfileProperties(Model): 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, } - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_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, 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, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, **kwargs) -> None: + def __init__( + self, + *, + count: Optional[int] = None, + vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + **kwargs + ): super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) self.count = count self.vm_size = vm_size @@ -1672,174 +2081,145 @@ def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=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. + Variables are only 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 agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for + system pools. The default value is 1. :type count: int - :param vm_size: 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' + :param vm_size: 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_12_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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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_12_01.models.OSType - :param max_count: Maximum number of nodes for auto-scaling + :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_12_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 + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState + :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 + :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" . + :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_12_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" . + :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_12_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. + :param name: Required. Unique name of the agent pool profile in the context of the subscription + and resource group. :type name: str """ _validation = { + 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1881,19 +2261,50 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, *, name: str, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_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, 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, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, **kwargs) -> None: + def __init__( + self, + *, + name: str, + count: Optional[int] = None, + vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + **kwargs + ): super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, kubelet_disk_type=kubelet_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_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, 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, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, enable_encryption_at_host=enable_encryption_at_host, **kwargs) self.name = name -class ManagedClusterAPIServerAccessProfile(Model): +class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): """Access profile for managed cluster API server. - :param authorized_ip_ranges: Authorized IP Ranges to kubernetes 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. + :param enable_private_cluster: Whether to create the cluster as a private cluster or not. :type enable_private_cluster: bool :param private_dns_zone: Private dns zone mode for private cluster. :type private_dns_zone: str @@ -1905,58 +2316,65 @@ class ManagedClusterAPIServerAccessProfile(Model): 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, } - def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=None, private_dns_zone: str=None, **kwargs) -> None: + def __init__( + self, + *, + authorized_ip_ranges: Optional[List[str]] = None, + enable_private_cluster: Optional[bool] = None, + private_dns_zone: Optional[str] = None, + **kwargs + ): super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) self.authorized_ip_ranges = authorized_ip_ranges self.enable_private_cluster = enable_private_cluster self.private_dns_zone = private_dns_zone -class ManagedClusterAutoUpgradeProfile(Model): +class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): """Auto upgrade profile for a managed cluster. - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2020_12_01.models.UpgradeChannel + :param upgrade_channel: upgrade channel for auto upgrade. Possible values include: "rapid", + "stable", "patch", "none". + :type upgrade_channel: str or ~azure.mgmt.containerservice.v2020_12_01.models.UpgradeChannel """ _attribute_map = { 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, } - def __init__(self, *, upgrade_channel=None, **kwargs) -> None: + def __init__( + self, + *, + upgrade_channel: Optional[Union[str, "UpgradeChannel"]] = None, + **kwargs + ): super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) self.upgrade_channel = upgrade_channel -class ManagedClusterIdentity(Model): +class ManagedClusterIdentity(msrest.serialization.Model): """Identity for the managed cluster. - 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 principal_id: The principal id of the system assigned identity which - is used by master components. + :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. + :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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. The user identity dictionary key - references will be ARM resource ids in the form: + :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", + "UserAssigned", "None". + :type type: str or ~azure.mgmt.containerservice.v2020_12_01.models.ResourceIdentityType + :param user_assigned_identities: The user identity associated with the managed cluster. This + identity will be used in control plane and only one user assigned identity is allowed. 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.containerservice.v2020_12_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] + ~azure.mgmt.containerservice.v2020_12_01.models.Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties] """ _validation = { @@ -1967,11 +2385,17 @@ class ManagedClusterIdentity(Model): _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties}'}, } - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ): super(ManagedClusterIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -1979,61 +2403,60 @@ def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> Non self.user_assigned_identities = user_assigned_identities -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. +class ManagedClusterListResult(msrest.serialization.Model): + """The response from the List Managed Clusters 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 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 + :param value: The list of managed clusters. + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] + :ivar next_link: The URL to get the next set of managed cluster results. + :vartype next_link: str """ _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, + 'next_link': {'readonly': True}, } _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ManagedCluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: - super(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None + def __init__( + self, + *, + value: Optional[List["ManagedCluster"]] = None, + **kwargs + ): + super(ManagedClusterListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None -class ManagedClusterLoadBalancerProfile(Model): +class ManagedClusterLoadBalancerProfile(msrest.serialization.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: + :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. + :type managed_outbound_i_ps: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load + balancer. :type outbound_ip_prefixes: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: + :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. + :type outbound_i_ps: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_ips: The effective outbound IP resources of the - cluster load balancer. - :type effective_outbound_ips: + :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load + balancer. + :type effective_outbound_i_ps: list[~azure.mgmt.containerservice.v2020_12_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 . + :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. :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 . + :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. :type idle_timeout_in_minutes: int """ @@ -2043,30 +2466,39 @@ class ManagedClusterLoadBalancerProfile(Model): } _attribute_map = { - 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_i_ps': {'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: + def __init__( + self, + *, + managed_outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = None, + outbound_ip_prefixes: Optional["ManagedClusterLoadBalancerProfileOutboundIPPrefixes"] = None, + outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileOutboundIPs"] = None, + effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, + allocated_outbound_ports: Optional[int] = 0, + idle_timeout_in_minutes: Optional[int] = 30, + **kwargs + ): super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) - self.managed_outbound_ips = managed_outbound_ips + self.managed_outbound_i_ps = managed_outbound_i_ps self.outbound_ip_prefixes = outbound_ip_prefixes - self.outbound_ips = outbound_ips - self.effective_outbound_ips = effective_outbound_ips + self.outbound_i_ps = outbound_i_ps + self.effective_outbound_i_ps = effective_outbound_i_ps self.allocated_outbound_ports = allocated_outbound_ports self.idle_timeout_in_minutes = idle_timeout_in_minutes -class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.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 . + :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. :type count: int """ @@ -2078,12 +2510,17 @@ class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): 'count': {'key': 'count', 'type': 'int'}, } - def __init__(self, *, count: int=1, **kwargs) -> None: + def __init__( + self, + *, + count: Optional[int] = 1, + **kwargs + ): super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) self.count = count -class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): """Desired outbound IP Prefix resources for the cluster load balancer. :param public_ip_prefixes: A list of public IP prefix resources. @@ -2095,33 +2532,41 @@ class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, } - def __init__(self, *, public_ip_prefixes=None, **kwargs) -> None: + def __init__( + self, + *, + public_ip_prefixes: Optional[List["ResourceReference"]] = None, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) self.public_ip_prefixes = public_ip_prefixes -class ManagedClusterLoadBalancerProfileOutboundIPs(Model): +class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.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_12_01.models.ResourceReference] + :param public_i_ps: A list of public IP resources. + :type public_i_ps: list[~azure.mgmt.containerservice.v2020_12_01.models.ResourceReference] """ _attribute_map = { - 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, } - def __init__(self, *, public_ips=None, **kwargs) -> None: + def __init__( + self, + *, + public_i_ps: Optional[List["ResourceReference"]] = None, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_ips = public_ips + self.public_i_ps = public_i_ps -class ManagedClusterPodIdentity(Model): +class ManagedClusterPodIdentity(msrest.serialization.Model): """ManagedClusterPodIdentity. - 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. @@ -2130,11 +2575,9 @@ class ManagedClusterPodIdentity(Model): :param namespace: Required. Namespace of the pod identity. :type namespace: str :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2020_12_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' + :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.UserAssignedIdentity + :ivar provisioning_state: The current provisioning state of the pod identity. Possible values + include: "Assigned", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningState :ivar provisioning_info: @@ -2158,7 +2601,14 @@ class ManagedClusterPodIdentity(Model): 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, } - def __init__(self, *, name: str, namespace: str, identity, **kwargs) -> None: + def __init__( + self, + *, + name: str, + namespace: str, + identity: "UserAssignedIdentity", + **kwargs + ): super(ManagedClusterPodIdentity, self).__init__(**kwargs) self.name = name self.namespace = namespace @@ -2167,7 +2617,7 @@ def __init__(self, *, name: str, namespace: str, identity, **kwargs) -> None: self.provisioning_info = None -class ManagedClusterPodIdentityException(Model): +class ManagedClusterPodIdentityException(msrest.serialization.Model): """ManagedClusterPodIdentityException. All required parameters must be populated in order to send to Azure. @@ -2192,14 +2642,21 @@ class ManagedClusterPodIdentityException(Model): 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, } - def __init__(self, *, name: str, namespace: str, pod_labels, **kwargs) -> None: + def __init__( + self, + *, + name: str, + namespace: str, + pod_labels: Dict[str, str], + **kwargs + ): super(ManagedClusterPodIdentityException, self).__init__(**kwargs) self.name = name self.namespace = namespace self.pod_labels = pod_labels -class ManagedClusterPodIdentityProfile(Model): +class ManagedClusterPodIdentityProfile(msrest.serialization.Model): """ManagedClusterPodIdentityProfile. :param enabled: Whether the pod identity addon is enabled. @@ -2207,8 +2664,7 @@ class ManagedClusterPodIdentityProfile(Model): :param user_assigned_identities: User assigned pod identity settings. :type user_assigned_identities: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. + :param user_assigned_identity_exceptions: User assigned pod identity exception settings. :type user_assigned_identity_exceptions: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityException] """ @@ -2219,14 +2675,21 @@ class ManagedClusterPodIdentityProfile(Model): 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, } - def __init__(self, *, enabled: bool=None, user_assigned_identities=None, user_assigned_identity_exceptions=None, **kwargs) -> None: + def __init__( + self, + *, + enabled: Optional[bool] = None, + user_assigned_identities: Optional[List["ManagedClusterPodIdentity"]] = None, + user_assigned_identity_exceptions: Optional[List["ManagedClusterPodIdentityException"]] = None, + **kwargs + ): super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) self.enabled = enabled self.user_assigned_identities = user_assigned_identities self.user_assigned_identity_exceptions = user_assigned_identity_exceptions -class ManagedClusterPodIdentityProvisioningInfo(Model): +class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): """ManagedClusterPodIdentityProvisioningInfo. :param error: Pod identity assignment error (if any). @@ -2237,28 +2700,29 @@ class ManagedClusterPodIdentityProvisioningInfo(Model): 'error': {'key': 'error', 'type': 'CloudError'}, } - def __init__(self, *, error=None, **kwargs) -> None: + def __init__( + self, + *, + error: Optional["CloudError"] = None, + **kwargs + ): super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) self.error = error -class ManagedClusterPoolUpgradeProfile(Model): +class ManagedClusterPoolUpgradeProfile(msrest.serialization.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). + :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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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_12_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] """ @@ -2275,7 +2739,15 @@ class ManagedClusterPoolUpgradeProfile(Model): 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, } - def __init__(self, *, kubernetes_version: str, name: str=None, os_type="Linux", upgrades=None, **kwargs) -> None: + def __init__( + self, + *, + kubernetes_version: str, + os_type: Union[str, "OSType"] = "Linux", + name: Optional[str] = None, + upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, + **kwargs + ): super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) self.kubernetes_version = kubernetes_version self.name = name @@ -2283,7 +2755,7 @@ def __init__(self, *, kubernetes_version: str, name: str=None, os_type="Linux", self.upgrades = upgrades -class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): +class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): """ManagedClusterPoolUpgradeProfileUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -2297,21 +2769,25 @@ class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + def __init__( + self, + *, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) self.kubernetes_version = kubernetes_version self.is_preview = is_preview -class ManagedClusterPropertiesAutoScalerProfile(Model): +class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): """Parameters to be applied to the cluster-autoscaler when enabled. :param balance_similar_node_groups: :type balance_similar_node_groups: str - :param expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2020_12_01.models.Expander + :param expander: Possible values include: "least-waste", "most-pods", "priority", "random". + :type expander: str or ~azure.mgmt.containerservice.v2020_12_01.models.Expander :param max_empty_bulk_delete: :type max_empty_bulk_delete: str :param max_graceful_termination_sec: @@ -2364,7 +2840,28 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, } - def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_empty_bulk_delete: str=None, max_graceful_termination_sec: str=None, max_node_provision_time: str=None, max_total_unready_percentage: str=None, new_pod_scale_up_delay: str=None, ok_total_unready_count: 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, skip_nodes_with_local_storage: str=None, skip_nodes_with_system_pods: str=None, **kwargs) -> None: + def __init__( + self, + *, + balance_similar_node_groups: Optional[str] = None, + expander: Optional[Union[str, "Expander"]] = None, + max_empty_bulk_delete: Optional[str] = None, + max_graceful_termination_sec: Optional[str] = None, + max_node_provision_time: Optional[str] = None, + max_total_unready_percentage: Optional[str] = None, + new_pod_scale_up_delay: Optional[str] = None, + ok_total_unready_count: Optional[str] = None, + scan_interval: Optional[str] = None, + scale_down_delay_after_add: Optional[str] = None, + scale_down_delay_after_delete: Optional[str] = None, + scale_down_delay_after_failure: Optional[str] = None, + scale_down_unneeded_time: Optional[str] = None, + scale_down_unready_time: Optional[str] = None, + scale_down_utilization_threshold: Optional[str] = None, + skip_nodes_with_local_storage: Optional[str] = None, + skip_nodes_with_system_pods: Optional[str] = None, + **kwargs + ): super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) self.balance_similar_node_groups = balance_similar_node_groups self.expander = expander @@ -2385,37 +2882,14 @@ def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_ self.skip_nodes_with_system_pods = skip_nodes_with_system_pods -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. +class ManagedClusterServicePrincipalProfile(msrest.serialization.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. + :param secret: The secret password associated with the service principal in plain text. :type secret: str """ @@ -2428,23 +2902,25 @@ class ManagedClusterServicePrincipalProfile(Model): 'secret': {'key': 'secret', 'type': 'str'}, } - def __init__(self, *, client_id: str, secret: str=None, **kwargs) -> None: + def __init__( + self, + *, + client_id: str, + secret: Optional[str] = None, + **kwargs + ): super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) self.client_id = client_id self.secret = secret -class ManagedClusterSKU(Model): +class ManagedClusterSKU(msrest.serialization.Model): """ManagedClusterSKU. - :param name: Name of a managed cluster SKU. Possible values include: - 'Basic' - :type name: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUTier + :param name: Name of a managed cluster SKU. Possible values include: "Basic". + :type name: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". + :type tier: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUTier """ _attribute_map = { @@ -2452,17 +2928,22 @@ class ManagedClusterSKU(Model): 'tier': {'key': 'tier', 'type': 'str'}, } - def __init__(self, *, name=None, tier=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[Union[str, "ManagedClusterSKUName"]] = None, + tier: Optional[Union[str, "ManagedClusterSKUTier"]] = None, + **kwargs + ): super(ManagedClusterSKU, self).__init__(**kwargs) self.name = name self.tier = tier -class ManagedClusterUpgradeProfile(Model): +class ManagedClusterUpgradeProfile(msrest.serialization.Model): """The list of available upgrades for compute pools. - 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. @@ -2472,12 +2953,11 @@ class ManagedClusterUpgradeProfile(Model): :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. + :param control_plane_profile: Required. The list of available upgrade versions for the control + plane. :type control_plane_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. + :param agent_pool_profiles: Required. The list of available upgrade versions for agent pools. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPoolUpgradeProfile] """ @@ -2498,7 +2978,13 @@ class ManagedClusterUpgradeProfile(Model): 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, } - def __init__(self, *, control_plane_profile, agent_pool_profiles, **kwargs) -> None: + def __init__( + self, + *, + control_plane_profile: "ManagedClusterPoolUpgradeProfile", + agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], + **kwargs + ): super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) self.id = None self.name = None @@ -2507,34 +2993,30 @@ def __init__(self, *, control_plane_profile, agent_pool_profiles, **kwargs) -> N self.agent_pool_profiles = agent_pool_profiles -class ManagedClusterWindowsProfile(Model): +class ManagedClusterWindowsProfile(msrest.serialization.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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters + :param admin_username: Required. Specifies the name of the administrator account. + :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` + **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", + "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", + "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", + "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" + :param admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.LicenseType + :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable + Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". + :type license_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.LicenseType """ _validation = { @@ -2547,18 +3029,49 @@ class ManagedClusterWindowsProfile(Model): 'license_type': {'key': 'licenseType', 'type': 'str'}, } - def __init__(self, *, admin_username: str, admin_password: str=None, license_type=None, **kwargs) -> None: + def __init__( + self, + *, + admin_username: str, + admin_password: Optional[str] = None, + license_type: Optional[Union[str, "LicenseType"]] = None, + **kwargs + ): super(ManagedClusterWindowsProfile, self).__init__(**kwargs) self.admin_username = admin_username self.admin_password = admin_password self.license_type = license_type -class OperationValue(Model): +class OperationListResult(msrest.serialization.Model): + """The List Compute Operation operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of compute operations. + :vartype value: list[~azure.mgmt.containerservice.v2020_12_01.models.OperationValue] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationValue]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + + +class OperationValue(msrest.serialization.Model): """Describes the properties of a Compute Operation value. - 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 origin: The origin of the compute operation. :vartype origin: str @@ -2592,7 +3105,10 @@ class OperationValue(Model): 'provider': {'key': 'display.provider', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(OperationValue, self).__init__(**kwargs) self.origin = None self.name = None @@ -2602,11 +3118,11 @@ def __init__(self, **kwargs) -> None: self.provider = None -class PowerState(Model): +class PowerState(msrest.serialization.Model): """Describes the Power State of the cluster. - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' + :param code: Tells whether the cluster is Running or Stopped. Possible values include: + "Running", "Stopped". :type code: str or ~azure.mgmt.containerservice.v2020_12_01.models.Code """ @@ -2614,15 +3130,20 @@ class PowerState(Model): 'code': {'key': 'code', 'type': 'str'}, } - def __init__(self, *, code=None, **kwargs) -> None: + def __init__( + self, + *, + code: Optional[Union[str, "Code"]] = None, + **kwargs + ): super(PowerState, self).__init__(**kwargs) self.code = code -class PrivateEndpoint(Model): +class PrivateEndpoint(msrest.serialization.Model): """Private endpoint which a connection belongs to. - :param id: The resource Id for private endpoint + :param id: The resource Id for private endpoint. :type id: str """ @@ -2630,18 +3151,20 @@ class PrivateEndpoint(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, *, id: str=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): super(PrivateEndpoint, self).__init__(**kwargs) self.id = id -class PrivateEndpointConnection(Model): +class PrivateEndpointConnection(msrest.serialization.Model): """A private endpoint 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. + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ID of the private endpoint connection. :vartype id: str @@ -2649,16 +3172,14 @@ class PrivateEndpointConnection(Model): :vartype name: str :ivar type: The resource type. :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' + :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", + "Creating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionProvisioningState :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_12_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_endpoint: ~azure.mgmt.containerservice.v2020_12_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.containerservice.v2020_12_01.models.PrivateLinkServiceConnectionState """ @@ -2668,7 +3189,6 @@ class PrivateEndpointConnection(Model): 'name': {'readonly': True}, 'type': {'readonly': True}, 'provisioning_state': {'readonly': True}, - 'private_link_service_connection_state': {'required': True}, } _attribute_map = { @@ -2680,7 +3200,13 @@ class PrivateEndpointConnection(Model): 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, } - def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: + def __init__( + self, + *, + private_endpoint: Optional["PrivateEndpoint"] = None, + private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, + **kwargs + ): super(PrivateEndpointConnection, self).__init__(**kwargs) self.id = None self.name = None @@ -2690,28 +3216,31 @@ def __init__(self, *, private_link_service_connection_state, private_endpoint=No self.private_link_service_connection_state = private_link_service_connection_state -class PrivateEndpointConnectionListResult(Model): +class PrivateEndpointConnectionListResult(msrest.serialization.Model): """A list of private endpoint connections. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection] + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, } - def __init__(self, *, value=None, **kwargs) -> None: + def __init__( + self, + *, + value: Optional[List["PrivateEndpointConnection"]] = None, + **kwargs + ): super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) self.value = value -class PrivateLinkResource(Model): +class PrivateLinkResource(msrest.serialization.Model): """A private link resource. - 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 id: The ID of the private link resource. :type id: str @@ -2721,10 +3250,10 @@ class PrivateLinkResource(Model): :type type: str :param group_id: The group ID of the resource. :type group_id: str - :param required_members: RequiredMembers of the resource + :param required_members: RequiredMembers of the resource. :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. + :ivar private_link_service_id: The private link service ID of the resource, this field is + exposed only to NRP internally. :vartype private_link_service_id: str """ @@ -2741,7 +3270,16 @@ class PrivateLinkResource(Model): 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, } - def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: str=None, required_members=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + type: Optional[str] = None, + group_id: Optional[str] = None, + required_members: Optional[List[str]] = None, + **kwargs + ): super(PrivateLinkResource, self).__init__(**kwargs) self.id = id self.name = name @@ -2751,30 +3289,33 @@ def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: st self.private_link_service_id = None -class PrivateLinkResourcesListResult(Model): +class PrivateLinkResourcesListResult(msrest.serialization.Model): """A list of private link resources. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource] + :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, } - def __init__(self, *, value=None, **kwargs) -> None: + def __init__( + self, + *, + value: Optional[List["PrivateLinkResource"]] = None, + **kwargs + ): super(PrivateLinkResourcesListResult, self).__init__(**kwargs) self.value = value -class PrivateLinkServiceConnectionState(Model): +class PrivateLinkServiceConnectionState(msrest.serialization.Model): """The state of a private link service connection. - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ConnectionStatus + :param status: The private link service connection status. Possible values include: "Pending", + "Approved", "Rejected", "Disconnected". + :type status: str or ~azure.mgmt.containerservice.v2020_12_01.models.ConnectionStatus :param description: The private link service connection description. :type description: str """ @@ -2784,13 +3325,19 @@ class PrivateLinkServiceConnectionState(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, *, status=None, description: str=None, **kwargs) -> None: + def __init__( + self, + *, + status: Optional[Union[str, "ConnectionStatus"]] = None, + description: Optional[str] = None, + **kwargs + ): super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) self.status = status self.description = description -class ResourceReference(Model): +class ResourceReference(msrest.serialization.Model): """A reference to an Azure resource. :param id: The fully qualified Azure resource id. @@ -2801,18 +3348,22 @@ class ResourceReference(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, *, id: str=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): super(ResourceReference, self).__init__(**kwargs) self.id = id -class SysctlConfig(Model): +class SysctlConfig(msrest.serialization.Model): """Sysctl settings for Linux agent nodes. :param net_core_somaxconn: Sysctl setting net.core.somaxconn. :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. + :param net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. :type net_core_netdev_max_backlog: int :param net_core_rmem_default: Sysctl setting net.core.rmem_default. :type net_core_rmem_default: int @@ -2824,45 +3375,33 @@ class SysctlConfig(Model): :type net_core_wmem_max: int :param net_core_optmem_max: Sysctl setting net.core.optmem_max. :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. + :param net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. + :param net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. :type net_ipv4_tcp_max_tw_buckets: int :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. + :param net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. + :param net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. + :param net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. :type net_ipv4_tcpkeepalive_intvl: int :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. + :param net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. + :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. + :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. + :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. + :param net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. + :param net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. + :param fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. :type fs_inotify_max_user_watches: int :param fs_file_max: Sysctl setting fs.file-max. :type fs_file_max: int @@ -2911,7 +3450,39 @@ class SysctlConfig(Model): 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, } - def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: int=None, net_core_rmem_default: int=None, net_core_rmem_max: int=None, net_core_wmem_default: int=None, net_core_wmem_max: int=None, net_core_optmem_max: int=None, net_ipv4_tcp_max_syn_backlog: int=None, net_ipv4_tcp_max_tw_buckets: int=None, net_ipv4_tcp_fin_timeout: int=None, net_ipv4_tcp_keepalive_time: int=None, net_ipv4_tcp_keepalive_probes: int=None, net_ipv4_tcpkeepalive_intvl: int=None, net_ipv4_tcp_tw_reuse: bool=None, net_ipv4_ip_local_port_range: str=None, net_ipv4_neigh_default_gc_thresh1: int=None, net_ipv4_neigh_default_gc_thresh2: int=None, net_ipv4_neigh_default_gc_thresh3: int=None, net_netfilter_nf_conntrack_max: int=None, net_netfilter_nf_conntrack_buckets: int=None, fs_inotify_max_user_watches: int=None, fs_file_max: int=None, fs_aio_max_nr: int=None, fs_nr_open: int=None, kernel_threads_max: int=None, vm_max_map_count: int=None, vm_swappiness: int=None, vm_vfs_cache_pressure: int=None, **kwargs) -> None: + def __init__( + self, + *, + net_core_somaxconn: Optional[int] = None, + net_core_netdev_max_backlog: Optional[int] = None, + net_core_rmem_default: Optional[int] = None, + net_core_rmem_max: Optional[int] = None, + net_core_wmem_default: Optional[int] = None, + net_core_wmem_max: Optional[int] = None, + net_core_optmem_max: Optional[int] = None, + net_ipv4_tcp_max_syn_backlog: Optional[int] = None, + net_ipv4_tcp_max_tw_buckets: Optional[int] = None, + net_ipv4_tcp_fin_timeout: Optional[int] = None, + net_ipv4_tcp_keepalive_time: Optional[int] = None, + net_ipv4_tcp_keepalive_probes: Optional[int] = None, + net_ipv4_tcpkeepalive_intvl: Optional[int] = None, + net_ipv4_tcp_tw_reuse: Optional[bool] = None, + net_ipv4_ip_local_port_range: Optional[str] = None, + net_ipv4_neigh_default_gc_thresh1: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh2: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh3: Optional[int] = None, + net_netfilter_nf_conntrack_max: Optional[int] = None, + net_netfilter_nf_conntrack_buckets: Optional[int] = None, + fs_inotify_max_user_watches: Optional[int] = None, + fs_file_max: Optional[int] = None, + fs_aio_max_nr: Optional[int] = None, + fs_nr_open: Optional[int] = None, + kernel_threads_max: Optional[int] = None, + vm_max_map_count: Optional[int] = None, + vm_swappiness: Optional[int] = None, + vm_vfs_cache_pressure: Optional[int] = None, + **kwargs + ): super(SysctlConfig, self).__init__(**kwargs) self.net_core_somaxconn = net_core_somaxconn self.net_core_netdev_max_backlog = net_core_netdev_max_backlog @@ -2943,27 +3514,24 @@ def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: self.vm_vfs_cache_pressure = vm_vfs_cache_pressure -class SystemData(Model): +class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. :param created_by: The identity that created the resource. :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime + :type created_at: ~datetime.datetime :param last_modified_by: The identity that last modified the resource. :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". :type last_modified_by_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -2975,7 +3543,17 @@ class SystemData(Model): 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type @@ -2985,10 +3563,10 @@ def __init__(self, *, created_by: str=None, created_by_type=None, created_at=Non self.last_modified_at = last_modified_at -class TagsObject(Model): +class TagsObject(msrest.serialization.Model): """Tags object for patch operations. - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -2996,16 +3574,21 @@ class TagsObject(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, tags=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(TagsObject, self).__init__(**kwargs) self.tags = tags -class TimeInWeek(Model): +class TimeInWeek(msrest.serialization.Model): """Time in a week. - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + :param day: A day in a week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". :type day: str or ~azure.mgmt.containerservice.v2020_12_01.models.WeekDay :param hour_slots: hour slots in a day. :type hour_slots: list[int] @@ -3016,19 +3599,25 @@ class TimeInWeek(Model): 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, } - def __init__(self, *, day=None, hour_slots=None, **kwargs) -> None: + def __init__( + self, + *, + day: Optional[Union[str, "WeekDay"]] = None, + hour_slots: Optional[List[int]] = None, + **kwargs + ): super(TimeInWeek, self).__init__(**kwargs) self.day = day self.hour_slots = hour_slots -class TimeSpan(Model): +class TimeSpan(msrest.serialization.Model): """The time span with start and end properties. - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime + :param start: The start of a time span. + :type start: ~datetime.datetime + :param end: The end of a time span. + :type end: ~datetime.datetime """ _attribute_map = { @@ -3036,7 +3625,13 @@ class TimeSpan(Model): 'end': {'key': 'end', 'type': 'iso-8601'}, } - def __init__(self, *, start=None, end=None, **kwargs) -> None: + def __init__( + self, + *, + start: Optional[datetime.datetime] = None, + end: Optional[datetime.datetime] = None, + **kwargs + ): super(TimeSpan, self).__init__(**kwargs) self.start = start self.end = end diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_paged_models.py deleted file mode 100644 index 1abf8f1b7a5..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_paged_models.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 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 MaintenanceConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`MaintenanceConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[MaintenanceConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(MaintenanceConfigurationPaged, 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_12_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py old mode 100644 new mode 100755 index d7bfa3f00fe..3942e0ca6a0 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py @@ -1,12 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ._operations import Operations diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py old mode 100644 new mode 100755 index 82e2b27e7ae..d5e36d9ff13 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py @@ -1,127 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2020_12_01.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. - :ivar api_version: Client Api Version. Constant value: "2020-12-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-12-01" - - self.config = config + self._config = config def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.AgentPoolListResult"] """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. + 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_12_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('AgentPoolListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AgentPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore def get( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPool" """Gets the agent pool. - Gets the details of the agent pool by managed cluster and resource - group. + 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 @@ -129,115 +143,122 @@ def get( :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_12_01.models.AgentPool or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPool, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPool + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore def _create_or_update_initial( - self, resource_group_name, resource_name, agent_pool_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + parameters, # type: "_models.AgentPool" + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPool" + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_or_update.metadata['url'] + url = self._create_or_update_initial.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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, 'AgentPool') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'AgentPool') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) + if response.status_code == 201: - deserialized = self._deserialize('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) 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): + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + parameters, # type: "_models.AgentPool" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AgentPool"] """Creates or updates an agent pool. Creates or updates an agent pool in the specified managed cluster. @@ -248,92 +269,121 @@ def create_or_update( :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_12_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_12_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool]] - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Create or Update an agent pool operation. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either AgentPool or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + 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, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore def _delete_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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): + 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an agent pool. Deletes the agent pool in the specified managed cluster. @@ -344,46 +394,72 @@ def delete( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: 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}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore def get_upgrade_profile( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPoolUpgradeProfile" """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. + 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 @@ -391,63 +467,60 @@ def get_upgrade_profile( :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_12_01.models.AgentPoolUpgradeProfile - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get_upgrade_profile.metadata['url'] + url = self.get_upgrade_profile.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('AgentPoolUpgradeProfile', response) + deserialized = self._deserialize('AgentPoolUpgradeProfile', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore def get_available_agent_pool_versions( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPoolAvailableVersions" """Gets a list of supported versions for the specified agent pool. Gets a list of supported versions for the specified agent pool. @@ -456,109 +529,112 @@ def get_available_agent_pool_versions( :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_12_01.models.AgentPoolAvailableVersions - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolAvailableVersions, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolAvailableVersions + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get_available_agent_pool_versions.metadata['url'] + url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('AgentPoolAvailableVersions', response) + deserialized = self._deserialize('AgentPoolAvailableVersions', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} - + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore def _upgrade_node_image_version_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.AgentPool"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.upgrade_node_image_version.metadata['url'] + url = self._upgrade_node_image_version_initial.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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 == 202: - deserialized = self._deserialize('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def upgrade_node_image_version( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + + def begin_upgrade_node_image_version( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AgentPool"] """Upgrade node image version of an agent pool to the latest. Upgrade node image version of an agent pool to the latest. @@ -569,42 +645,59 @@ def upgrade_node_image_version( :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 AgentPool or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._upgrade_node_image_version_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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._upgrade_node_image_version_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py old mode 100644 new mode 100755 index 3a73520450d..0d7f59ca557 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py @@ -1,129 +1,139 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 MaintenanceConfigurationsOperations(object): """MaintenanceConfigurationsOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.containerservice.v2020_12_01.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. - :ivar api_version: Client Api Version. Constant value: "2020-12-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-12-01" - - self.config = config + self._config = config def list_by_managed_cluster( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of maintenance configurations in the specified managed - cluster. + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MaintenanceConfigurationListResult"] + """Gets a list of maintenance configurations in the specified managed cluster. - Gets a list of maintenance configurations in the specified managed - cluster. The operation returns properties of each maintenance - configuration. + Gets a list of maintenance configurations in the specified managed cluster. The operation + returns properties of each maintenance configuration. :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 MaintenanceConfiguration - :rtype: - ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfigurationPaged[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfigurationListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_managed_cluster.metadata['url'] + url = self.list_by_managed_cluster.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MaintenanceConfigurationListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MaintenanceConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} + return ItemPaged( + get_next, extract_data + ) + list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore def get( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + config_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.MaintenanceConfiguration" """Gets the maintenance configuration. - Gets the details of maintenance configurations by managed cluster and - resource group. + Gets the details of maintenance configurations by managed cluster and resource group. :param resource_group_name: The name of the resource group. :type resource_group_name: str @@ -131,120 +141,138 @@ def get( :type resource_name: str :param config_name: The name of the maintenance configuration. :type 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: MaintenanceConfiguration or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str') + 'configName': self._serialize.url("config_name", 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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('MaintenanceConfiguration', response) + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + def create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + config_name, # type: str + parameters, # type: "_models.MaintenanceConfiguration" + **kwargs # type: Any + ): + # type: (...) -> "_models.MaintenanceConfiguration" + """Creates or updates a maintenance configurations. - def _create_or_update_initial( - self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, **operation_config): - parameters = models.MaintenanceConfiguration(time_in_week=time_in_week, not_allowed_time=not_allowed_time) + Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. + :type config_name: str + :param parameters: Parameters supplied to the Create or Update a default maintenance + configuration. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create_or_update.metadata['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'), + '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str') + 'configName': self._serialize.url("config_name", 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') + query_parameters = {} # type: Dict[str, Any] + 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, 'MaintenanceConfiguration') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'MaintenanceConfiguration') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if response.status_code == 200: - deserialized = self._deserialize('MaintenanceConfiguration', response) + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore - def create_or_update( - self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a maintenance configurations. + def delete( + self, + resource_group_name, # type: str + resource_name, # type: str + config_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a maintenance configuration. - Creates or updates a maintenance configuration in the specified managed - cluster. + Deletes the maintenance configuration in the specified managed cluster. :param resource_group_name: The name of the resource group. :type resource_group_name: str @@ -252,136 +280,46 @@ def create_or_update( :type resource_name: str :param config_name: The name of the maintenance configuration. :type config_name: str - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - MaintenanceConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration]] - :raises: :class:`CloudError` + :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 """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=config_name, - time_in_week=time_in_week, - not_allowed_time=not_allowed_time, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('MaintenanceConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = 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}/maintenanceConfigurations/{configName}'} - + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" - def _delete_initial( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, **operation_config): # Construct URL - url = self.delete.metadata['url'] + url = self.delete.metadata['url'] # type: ignore 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'), '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str') + 'configName': self._serialize.url("config_name", 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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a maintenance configuration. - - Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. - :type 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:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=config_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: 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}/maintenanceConfigurations/{configName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py old mode 100644 new mode 100755 index d8060fe2f32..e424b772204 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py @@ -1,747 +1,768 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2020_12_01.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. - :ivar api_version: Client Api Version. Constant value: "2020-12-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-12-01" - - self.config = config + self._config = config def list( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ManagedClusterListResult"] """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_12_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :raises: :class:`CloudError` + Gets a list of managed clusters in the specified subscription. The operation returns properties + of each managed cluster. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters'} # type: ignore 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. + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ManagedClusterListResult"] + """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. + 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_12_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_resource_group.metadata['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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1) + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_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'} + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters'} # type: ignore def get_upgrade_profile( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedClusterUpgradeProfile" """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. + 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_12_01.models.ManagedClusterUpgradeProfile - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get_upgrade_profile.metadata['url'] + url = self.get_upgrade_profile.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedClusterUpgradeProfile', response) + deserialized = self._deserialize('ManagedClusterUpgradeProfile', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore def get_access_profile( - self, resource_group_name, resource_name, role_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + role_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedClusterAccessProfile" """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) - . + 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 + `_ or + `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. + :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_12_01.models.ManagedClusterAccessProfile - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterAccessProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAccessProfile + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get_access_profile.metadata['url'] + url = self.get_access_profile.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedClusterAccessProfile', response) + deserialized = self._deserialize('ManagedClusterAccessProfile', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore def list_cluster_admin_credentials( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" """Gets cluster admin credential of a managed cluster. - Gets cluster admin credential of the managed cluster with a specified - resource group and name. + 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_12_01.models.CredentialResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.list_cluster_admin_credentials.metadata['url'] + url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CredentialResults', response) + deserialized = self._deserialize('CredentialResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore def list_cluster_user_credentials( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" """Gets cluster user credential of a managed cluster. - Gets cluster user credential of the managed cluster with a specified - resource group and name. + 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_12_01.models.CredentialResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.list_cluster_user_credentials.metadata['url'] + url = self.list_cluster_user_credentials.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CredentialResults', response) + deserialized = self._deserialize('CredentialResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore def list_cluster_monitoring_user_credentials( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" """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. + 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_12_01.models.CredentialResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.list_cluster_monitoring_user_credentials.metadata['url'] + url = self.list_cluster_monitoring_user_credentials.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CredentialResults', response) + deserialized = self._deserialize('CredentialResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore def get( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" """Gets a managed cluster. - Gets the details of the managed cluster with a specified resource group - and name. + 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedCluster, or the result of cls(response) :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore def _create_or_update_initial( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedCluster" + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_or_update.metadata['url'] + url = self._create_or_update_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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, 'ManagedCluster') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'ManagedCluster') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) + if response.status_code == 201: - deserialized = self._deserialize('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_or_update( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedCluster" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ManagedCluster"] """Creates or updates a managed cluster. - Creates or updates a managed cluster with the specified configuration - for agents and Kubernetes version. + 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_12_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_12_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster]] - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Create or Update a Managed Cluster operation. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ManagedCluster', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore def _update_tags_initial( - self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.TagsObject" + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.update_tags.metadata['url'] + url = self._update_tags_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.patch(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(parameters, 'TagsObject') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_tags( - self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def begin_update_tags( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.TagsObject" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ManagedCluster"] """Updates tags on a managed cluster. Updates a managed cluster with the specified tags. @@ -750,88 +771,116 @@ def update_tags( :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_12_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster]] - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ManagedCluster', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore def _delete_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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, {}) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - def delete( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes a managed cluster. Deletes the managed cluster with a specified resource group and name. @@ -840,85 +889,117 @@ def delete( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore 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) + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.reset_service_principal_profile.metadata['url'] + url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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(parameters, 'ManagedClusterServicePrincipalProfile') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(parameters, 'ManagedClusterServicePrincipalProfile') + 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]: - exp = CloudError(response) - exp.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): + 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, {}) + + _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + def begin_reset_service_principal_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Reset Service Principal Profile of a managed cluster. Update the service principal Profile for a managed cluster. @@ -927,90 +1008,121 @@ def reset_service_principal_profile( :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` + :param parameters: Parameters supplied to the Reset Service Principal Profile operation for a + Managed Cluster. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterServicePrincipalProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore def _reset_aad_profile_initial( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterAADProfile" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.reset_aad_profile.metadata['url'] + url = self._reset_aad_profile_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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(parameters, 'ManagedClusterAADProfile') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(parameters, 'ManagedClusterAADProfile') + 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]: - exp = CloudError(response) - exp.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): + 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, {}) + + _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + def begin_reset_aad_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterAADProfile" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Reset AAD Profile of a managed cluster. Update the AAD Profile for a managed cluster. @@ -1019,84 +1131,114 @@ def reset_aad_profile( :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_12_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` + :param parameters: Parameters supplied to the Reset AAD Profile operation for a Managed + Cluster. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore def _rotate_cluster_certificates_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.rotate_cluster_certificates.metadata['url'] + url = self._rotate_cluster_certificates_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + if cls: + return cls(pipeline_response, None, {}) - def rotate_cluster_certificates( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + def begin_rotate_cluster_certificates( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Rotate certificates of a managed cluster. Rotate certificates of a managed cluster. @@ -1105,79 +1247,110 @@ def rotate_cluster_certificates( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore def _stop_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.stop.metadata['url'] + url = self._stop_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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, {}) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore - def stop( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + def begin_stop( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Stop Managed Cluster. Stops a Running Managed Cluster. @@ -1186,79 +1359,110 @@ def stop( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.ContainerService/managedClusters/{resourceName}/stop'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore def _start_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.start.metadata['url'] + url = self._start_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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, {}) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore - def start( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + def begin_start( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Start Managed Cluster. Starts a Stopped Managed Cluster. @@ -1267,35 +1471,54 @@ def start( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.ContainerService/managedClusters/{resourceName}/start'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py old mode 100644 new mode 100755 index b2d2fa8b264..d49593528c7 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py @@ -1,102 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2020_12_01.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. - :ivar api_version: Client Api Version. Constant value: "2020-12-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-12-01" - - self.config = config + self._config = config def list( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.OperationListResult"] """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_12_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2020_12_01.models.OperationValue] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['url'] - + url = self.list.metadata['url'] # type: ignore # 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + 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 None, iter(list_of_elem) + + def get_next(next_link=None): request = prepare_request(next_link) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py old mode 100644 new mode 100755 index 7399464c724..2fafddf9052 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py @@ -1,185 +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. # -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +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 +from .. import models as _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 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. + 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.containerservice.v2020_12_01.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. - :ivar api_version: Client Api Version. Constant value: "2020-12-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-12-01" - - self.config = config + self._config = config def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private endpoint connections in the specified managed - cluster. + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateEndpointConnectionListResult" + """Gets a list of private endpoint connections in the specified managed cluster. - Gets a list of private endpoint connections in the specified managed - cluster. The operation returns properties of each private endpoint - connection. + Gets a list of private endpoint connections in the specified managed cluster. The operation + returns properties of each private endpoint connection. :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: PrivateEndpointConnectionListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionListResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateEndpointConnectionListResult', response) + deserialized = self._deserialize('PrivateEndpointConnectionListResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore def get( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateEndpointConnection" """Gets the private endpoint connection. - Gets the details of the private endpoint connection by managed cluster - and resource group. + Gets the details of the private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. + :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.containerservice.v2020_12_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateEndpointConnection', response) + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def update( - self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + parameters, # type: "_models.PrivateEndpointConnection" + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateEndpointConnection" """Updates a private endpoint connection. Updates a private endpoint connection in the specified managed cluster. @@ -188,161 +190,177 @@ def update( :type resource_group_name: str :param resource_name: The name of the managed cluster resource. :type resource_name: str - :param private_endpoint_connection_name: The name of the private - endpoint connection. + :param private_endpoint_connection_name: The name of the private endpoint connection. :type private_endpoint_connection_name: str - :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.containerservice.v2020_12_01.models.PrivateLinkServiceConnectionState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpoint - :param dict custom_headers: headers that will 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.containerservice.v2020_12_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Update a private endpoint connection operation. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError """ - parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.update.metadata['url'] + url = self.update.metadata['url'] # type: ignore 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'), '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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') + query_parameters = {} # type: Dict[str, Any] + 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, 'PrivateEndpointConnection') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'PrivateEndpointConnection') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateEndpointConnection', response) + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def _delete_initial( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore 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'), '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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 delete( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes a private endpoint connection. - Deletes the private endpoint connection in the specified managed - cluster. + Deletes the private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. + :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 None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: 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}/privateEndpointConnections/{privateEndpointConnectionName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py old mode 100644 new mode 100755 index 90d19cc64af..e61301522a1 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py @@ -1,106 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2020_12_01.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. - :ivar api_version: Client Api Version. Constant value: "2020-12-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-12-01" - - self.config = config + self._config = config def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateLinkResourcesListResult" """Gets a list of private link resources in the specified managed cluster. - Gets a list of private link resources in the specified managed cluster. - The operation returns properties of each private link resource. + Gets a list of private link resources in the specified managed cluster. The operation returns + properties of each private link resource. :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: PrivateLinkResourcesListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResourcesListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResourcesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResourcesListResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + accept = "application/json" + # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateLinkResourcesListResult', response) + deserialized = self._deserialize('PrivateLinkResourcesListResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py old mode 100644 new mode 100755 index 04ef59705ae..c89c87d67a7 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py @@ -1,46 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 ResolvePrivateLinkServiceIdOperations(object): """ResolvePrivateLinkServiceIdOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.containerservice.v2020_12_01.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. - :ivar api_version: Client Api Version. Constant value: "2020-12-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-12-01" - - self.config = config + self._config = config def post( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.PrivateLinkResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateLinkResource" """Gets the private link service ID for the specified managed cluster. Gets the private link service ID the specified managed cluster. @@ -49,64 +60,56 @@ def post( :type resource_group_name: str :param resource_name: The name of the managed cluster resource. :type resource_name: str - :param parameters: Parameters (name, groupId) supplied in order to - resolve a private link service ID. - :type parameters: - ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource - :param dict custom_headers: headers that will 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.containerservice.v2020_12_01.models.PrivateLinkResource or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :param parameters: Parameters (name, groupId) supplied in order to resolve a private link + service ID. + :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResource, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.post.metadata['url'] + url = self.post.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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, 'PrivateLinkResource') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(parameters, 'PrivateLinkResource') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateLinkResource', response) + deserialized = self._deserialize('PrivateLinkResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/version.py deleted file mode 100644 index 22afdcf8c3b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/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 = "2020-12-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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/v2021_02_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/_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 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/v2021_02_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/_container_service_client.py deleted file mode 100644 index 7fed16ccf0e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/_container_service_client.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.service_client import SDKClient -from msrest import Serializer, Deserializer - -from ._configuration import ContainerServiceClientConfiguration -from .operations import Operations -from .operations import ManagedClustersOperations -from .operations import MaintenanceConfigurationsOperations -from .operations import AgentPoolsOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ResolvePrivateLinkServiceIdOperations -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.v2021_02_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2021_02_01.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurations operations - :vartype maintenance_configurations: azure.mgmt.containerservice.v2021_02_01.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2021_02_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2021_02_01.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResources operations - :vartype private_link_resources: azure.mgmt.containerservice.v2021_02_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceId operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2021_02_01.operations.ResolvePrivateLinkServiceIdOperations - - :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 = '2021-02-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.maintenance_configurations = MaintenanceConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.agent_pools = AgentPoolsOperations( - 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/__init__.py deleted file mode 100644 index 78c9a8ebc1e..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/__init__.py +++ /dev/null @@ -1,270 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 KubeletConfig - from ._models_py3 import LinuxOSConfig - from ._models_py3 import MaintenanceConfiguration - 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 ManagedClusterAutoUpgradeProfile - from ._models_py3 import ManagedClusterIdentity - from ._models_py3 import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models_py3 import ManagedClusterLoadBalancerProfile - from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models_py3 import ManagedClusterPodIdentity - from ._models_py3 import ManagedClusterPodIdentityException - from ._models_py3 import ManagedClusterPodIdentityProfile - from ._models_py3 import ManagedClusterPodIdentityProvisioningInfo - 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 PowerState - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourcesListResult - from ._models_py3 import PrivateLinkServiceConnectionState - from ._models_py3 import Resource - from ._models_py3 import ResourceReference - from ._models_py3 import RunCommandRequest - from ._models_py3 import RunCommandResult - from ._models_py3 import SubResource - from ._models_py3 import SysctlConfig - from ._models_py3 import SystemData - from ._models_py3 import TagsObject - from ._models_py3 import TimeInWeek - from ._models_py3 import TimeSpan - 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 KubeletConfig - from ._models import LinuxOSConfig - from ._models import MaintenanceConfiguration - 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 ManagedClusterAutoUpgradeProfile - from ._models import ManagedClusterIdentity - from ._models import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models import ManagedClusterLoadBalancerProfile - from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models import ManagedClusterPodIdentity - from ._models import ManagedClusterPodIdentityException - from ._models import ManagedClusterPodIdentityProfile - from ._models import ManagedClusterPodIdentityProvisioningInfo - 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 PowerState - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointConnectionListResult - from ._models import PrivateLinkResource - from ._models import PrivateLinkResourcesListResult - from ._models import PrivateLinkServiceConnectionState - from ._models import Resource - from ._models import ResourceReference - from ._models import RunCommandRequest - from ._models import RunCommandResult - from ._models import SubResource - from ._models import SysctlConfig - from ._models import SystemData - from ._models import TagsObject - from ._models import TimeInWeek - from ._models import TimeSpan - from ._models import UserAssignedIdentity -from ._paged_models import AgentPoolPaged -from ._paged_models import MaintenanceConfigurationPaged -from ._paged_models import ManagedClusterPaged -from ._paged_models import OperationValuePaged -from ._container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - OSDiskType, - KubeletDiskType, - OSType, - AgentPoolType, - AgentPoolMode, - Code, - ScaleSetPriority, - ScaleSetEvictionPolicy, - LicenseType, - NetworkPlugin, - NetworkPolicy, - NetworkMode, - OutboundType, - LoadBalancerSku, - CreatedByType, - WeekDay, - ManagedClusterPodIdentityProvisioningState, - UpgradeChannel, - Expander, - ResourceIdentityType, - ManagedClusterSKUName, - ManagedClusterSKUTier, - PrivateEndpointConnectionProvisioningState, - ConnectionStatus, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'AgentPoolUpgradeSettings', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CredentialResult', - 'CredentialResults', - 'KubeletConfig', - 'LinuxOSConfig', - 'MaintenanceConfiguration', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAddonProfileIdentity', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterAutoUpgradeProfile', - 'ManagedClusterIdentity', - 'ManagedClusterIdentityUserAssignedIdentitiesValue', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPodIdentity', - 'ManagedClusterPodIdentityException', - 'ManagedClusterPodIdentityProfile', - 'ManagedClusterPodIdentityProvisioningInfo', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterSKU', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'PowerState', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkResource', - 'PrivateLinkResourcesListResult', - 'PrivateLinkServiceConnectionState', - 'Resource', - 'ResourceReference', - 'RunCommandRequest', - 'RunCommandResult', - 'SubResource', - 'SysctlConfig', - 'SystemData', - 'TagsObject', - 'TimeInWeek', - 'TimeSpan', - 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'MaintenanceConfigurationPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSDiskType', - 'KubeletDiskType', - 'OSType', - 'AgentPoolType', - 'AgentPoolMode', - 'Code', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'LicenseType', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', - 'LoadBalancerSku', - 'CreatedByType', - 'WeekDay', - 'ManagedClusterPodIdentityProvisioningState', - 'UpgradeChannel', - 'Expander', - 'ResourceIdentityType', - 'ManagedClusterSKUName', - 'ManagedClusterSKUTier', - 'PrivateEndpointConnectionProvisioningState', - 'ConnectionStatus', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_container_service_client_enums.py deleted file mode 100644 index 7c248fbbfd8..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,357 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 OSDiskType(str, Enum): - - managed = "Managed" - ephemeral = "Ephemeral" - - -class KubeletDiskType(str, Enum): - - os = "OS" - temporary = "Temporary" - - -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 Code(str, Enum): - - running = "Running" - stopped = "Stopped" - - -class ScaleSetPriority(str, Enum): - - spot = "Spot" - regular = "Regular" - - -class ScaleSetEvictionPolicy(str, Enum): - - delete = "Delete" - deallocate = "Deallocate" - - -class LicenseType(str, Enum): - - none = "None" - windows_server = "Windows_Server" - - -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 CreatedByType(str, Enum): - - user = "User" - application = "Application" - managed_identity = "ManagedIdentity" - key = "Key" - - -class WeekDay(str, Enum): - - sunday = "Sunday" - monday = "Monday" - tuesday = "Tuesday" - wednesday = "Wednesday" - thursday = "Thursday" - friday = "Friday" - saturday = "Saturday" - - -class ManagedClusterPodIdentityProvisioningState(str, Enum): - - assigned = "Assigned" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class UpgradeChannel(str, Enum): - - rapid = "rapid" - stable = "stable" - patch = "patch" - none = "none" - - -class Expander(str, Enum): - - least_waste = "least-waste" - most_pods = "most-pods" - priority = "priority" - random = "random" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - none = "None" - - -class ManagedClusterSKUName(str, Enum): - - basic = "Basic" - - -class ManagedClusterSKUTier(str, Enum): - - paid = "Paid" - free = "Free" - - -class PrivateEndpointConnectionProvisioningState(str, Enum): - - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - failed = "Failed" - - -class ConnectionStatus(str, Enum): - - pending = "Pending" - approved = "Approved" - rejected = "Rejected" - disconnected = "Disconnected" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models.py deleted file mode 100644 index a2d7743e9ea..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models.py +++ /dev/null @@ -1,3137 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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.v2021_02_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_02_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.v2021_02_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_02_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.v2021_02_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_02_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'properties.nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(AgentPool, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_state = None - self.availability_zones = kwargs.get('availability_zones', None) - self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) - self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', 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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', None) - self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', 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.v2021_02_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.v2021_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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 KubeletConfig(Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. - :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. - :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. - :type container_log_max_files: int - :param pod_max_pids: The maximum number of processes per pod. - :type pod_max_pids: int - """ - - _validation = { - 'container_log_max_files': {'minimum': 2}, - } - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, - 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, - 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = kwargs.get('cpu_manager_policy', None) - self.cpu_cfs_quota = kwargs.get('cpu_cfs_quota', None) - self.cpu_cfs_quota_period = kwargs.get('cpu_cfs_quota_period', None) - self.image_gc_high_threshold = kwargs.get('image_gc_high_threshold', None) - self.image_gc_low_threshold = kwargs.get('image_gc_low_threshold', None) - self.topology_manager_policy = kwargs.get('topology_manager_policy', None) - self.allowed_unsafe_sysctls = kwargs.get('allowed_unsafe_sysctls', None) - self.fail_swap_on = kwargs.get('fail_swap_on', None) - self.container_log_max_size_mb = kwargs.get('container_log_max_size_mb', None) - self.container_log_max_files = kwargs.get('container_log_max_files', None) - self.pod_max_pids = kwargs.get('pod_max_pids', None) - - -class LinuxOSConfig(Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2021_02_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = kwargs.get('sysctls', None) - self.transparent_huge_page_enabled = kwargs.get('transparent_huge_page_enabled', None) - self.transparent_huge_page_defrag = kwargs.get('transparent_huge_page_defrag', None) - self.swap_file_size_mb = kwargs.get('swap_file_size_mb', None) - - -class MaintenanceConfiguration(SubResource): - """maintenance configuration. - - 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 - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2021_02_01.models.SystemData - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_02_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_02_01.models.TimeSpan] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, - 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, - } - - def __init__(self, **kwargs): - super(MaintenanceConfiguration, self).__init__(**kwargs) - self.system_data = None - self.time_in_week = kwargs.get('time_in_week', None) - self.not_allowed_time = kwargs.get('not_allowed_time', 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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 - :param fqdn_subdomain: FQDN subdomain specified when creating private - cluster with custom private dns zone. - :type fqdn_subdomain: str - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - :ivar private_fqdn: FQDN of private cluster. - :vartype private_fqdn: str - :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy - config. - :vartype azure_portal_fqdn: str - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterSKU - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - 'azure_portal_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, - 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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.power_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_subdomain = kwargs.get('fqdn_subdomain', None) - self.fqdn = None - self.private_fqdn = None - self.azure_portal_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.pod_identity_profile = kwargs.get('pod_identity_profile', 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_upgrade_profile = kwargs.get('auto_upgrade_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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.enable_azure_rbac = kwargs.get('enable_azure_rbac', 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.v2021_02_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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.v2021_02_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_02_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.v2021_02_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_02_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.v2021_02_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_02_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_state = None - self.availability_zones = kwargs.get('availability_zones', None) - self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) - self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', 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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', None) - self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', 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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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.v2021_02_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_02_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.v2021_02_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_02_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.v2021_02_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_02_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - '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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - 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) - self.private_dns_zone = kwargs.get('private_dns_zone', None) - - -class ManagedClusterAutoUpgradeProfile(Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2021_02_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = kwargs.get('upgrade_channel', 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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2021_02_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterIdentity, 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 ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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.v2021_02_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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 ManagedClusterPodIdentity(Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2021_02_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.identity = kwargs.get('identity', None) - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.pod_labels = kwargs.get('pod_labels', None) - - -class ManagedClusterPodIdentityProfile(Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod - identity addon in cluster using Kubenet network plugin. - :type allow_network_plugin_kubenet: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'allow_network_plugin_kubenet': {'key': 'allowNetworkPluginKubenet', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.allow_network_plugin_kubenet = kwargs.get('allow_network_plugin_kubenet', None) - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) - self.user_assigned_identity_exceptions = kwargs.get('user_assigned_identity_exceptions', None) - - -class ManagedClusterPodIdentityProvisioningInfo(Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2021_02_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = kwargs.get('error', 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.v2021_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_02_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 expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2021_02_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_node_provision_time: - :type max_node_provision_time: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) - self.expander = kwargs.get('expander', None) - self.max_empty_bulk_delete = kwargs.get('max_empty_bulk_delete', None) - self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) - self.max_node_provision_time = kwargs.get('max_node_provision_time', None) - self.max_total_unready_percentage = kwargs.get('max_total_unready_percentage', None) - self.new_pod_scale_up_delay = kwargs.get('new_pod_scale_up_delay', None) - self.ok_total_unready_count = kwargs.get('ok_total_unready_count', 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.skip_nodes_with_local_storage = kwargs.get('skip_nodes_with_local_storage', None) - self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', 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.v2021_02_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters - :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', '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) - self.license_type = kwargs.get('license_type', 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 PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2021_02_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PowerState, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_02_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_02_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.containerservice.v2021_02_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_02_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.group_id = kwargs.get('group_id', None) - self.required_members = kwargs.get('required_members', None) - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_02_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2021_02_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', 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 RunCommandRequest(Model): - """run command request. - - :param command: command to run. - :type command: str - :param context: base64 encoded zip file, contains files required by the - command - :type context: str - :param cluster_token: AuthToken issued for AKS AAD Server App. - :type cluster_token: str - """ - - _attribute_map = { - 'command': {'key': 'command', 'type': 'str'}, - 'context': {'key': 'context', 'type': 'str'}, - 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RunCommandRequest, self).__init__(**kwargs) - self.command = kwargs.get('command', None) - self.context = kwargs.get('context', None) - self.cluster_token = kwargs.get('cluster_token', None) - - -class RunCommandResult(Model): - """run command result. - - :param id: command id. - :type id: str - :param provisioning_state: provisioning State - :type provisioning_state: str - :param exit_code: exit code of the command - :type exit_code: int - :param started_at: time when the command started. - :type started_at: datetime - :param finished_at: time when the command finished. - :type finished_at: datetime - :param logs: command output. - :type logs: str - :param reason: explain why provisioningState is set to failed (if so). - :type reason: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'exit_code': {'key': 'properties.exitCode', 'type': 'int'}, - 'started_at': {'key': 'properties.startedAt', 'type': 'iso-8601'}, - 'finished_at': {'key': 'properties.finishedAt', 'type': 'iso-8601'}, - 'logs': {'key': 'properties.logs', 'type': 'str'}, - 'reason': {'key': 'properties.reason', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RunCommandResult, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.exit_code = kwargs.get('exit_code', None) - self.started_at = kwargs.get('started_at', None) - self.finished_at = kwargs.get('finished_at', None) - self.logs = kwargs.get('logs', None) - self.reason = kwargs.get('reason', None) - - -class SysctlConfig(Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_default: Sysctl setting net.core.rmem_default. - :type net_core_rmem_default: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_default: Sysctl setting net.core.wmem_default. - :type net_core_wmem_default: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = kwargs.get('net_core_somaxconn', None) - self.net_core_netdev_max_backlog = kwargs.get('net_core_netdev_max_backlog', None) - self.net_core_rmem_default = kwargs.get('net_core_rmem_default', None) - self.net_core_rmem_max = kwargs.get('net_core_rmem_max', None) - self.net_core_wmem_default = kwargs.get('net_core_wmem_default', None) - self.net_core_wmem_max = kwargs.get('net_core_wmem_max', None) - self.net_core_optmem_max = kwargs.get('net_core_optmem_max', None) - self.net_ipv4_tcp_max_syn_backlog = kwargs.get('net_ipv4_tcp_max_syn_backlog', None) - self.net_ipv4_tcp_max_tw_buckets = kwargs.get('net_ipv4_tcp_max_tw_buckets', None) - self.net_ipv4_tcp_fin_timeout = kwargs.get('net_ipv4_tcp_fin_timeout', None) - self.net_ipv4_tcp_keepalive_time = kwargs.get('net_ipv4_tcp_keepalive_time', None) - self.net_ipv4_tcp_keepalive_probes = kwargs.get('net_ipv4_tcp_keepalive_probes', None) - self.net_ipv4_tcpkeepalive_intvl = kwargs.get('net_ipv4_tcpkeepalive_intvl', None) - self.net_ipv4_tcp_tw_reuse = kwargs.get('net_ipv4_tcp_tw_reuse', None) - self.net_ipv4_ip_local_port_range = kwargs.get('net_ipv4_ip_local_port_range', None) - self.net_ipv4_neigh_default_gc_thresh1 = kwargs.get('net_ipv4_neigh_default_gc_thresh1', None) - self.net_ipv4_neigh_default_gc_thresh2 = kwargs.get('net_ipv4_neigh_default_gc_thresh2', None) - self.net_ipv4_neigh_default_gc_thresh3 = kwargs.get('net_ipv4_neigh_default_gc_thresh3', None) - self.net_netfilter_nf_conntrack_max = kwargs.get('net_netfilter_nf_conntrack_max', None) - self.net_netfilter_nf_conntrack_buckets = kwargs.get('net_netfilter_nf_conntrack_buckets', None) - self.fs_inotify_max_user_watches = kwargs.get('fs_inotify_max_user_watches', None) - self.fs_file_max = kwargs.get('fs_file_max', None) - self.fs_aio_max_nr = kwargs.get('fs_aio_max_nr', None) - self.fs_nr_open = kwargs.get('fs_nr_open', None) - self.kernel_threads_max = kwargs.get('kernel_threads_max', None) - self.vm_max_map_count = kwargs.get('vm_max_map_count', None) - self.vm_swappiness = kwargs.get('vm_swappiness', None) - self.vm_vfs_cache_pressure = kwargs.get('vm_vfs_cache_pressure', None) - - -class SystemData(Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', 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 TimeInWeek(Model): - """Time in a week. - - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' - :type day: str or ~azure.mgmt.containerservice.v2021_02_01.models.WeekDay - :param hour_slots: hour slots in a day. - :type hour_slots: list[int] - """ - - _attribute_map = { - 'day': {'key': 'day', 'type': 'str'}, - 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(TimeInWeek, self).__init__(**kwargs) - self.day = kwargs.get('day', None) - self.hour_slots = kwargs.get('hour_slots', None) - - -class TimeSpan(Model): - """The time span with start and end properties. - - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime - """ - - _attribute_map = { - 'start': {'key': 'start', 'type': 'iso-8601'}, - 'end': {'key': 'end', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(TimeSpan, self).__init__(**kwargs) - self.start = kwargs.get('start', None) - self.end = kwargs.get('end', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models_py3.py deleted file mode 100644 index 6984a0a5a66..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_models_py3.py +++ /dev/null @@ -1,3137 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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.v2021_02_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_02_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.v2021_02_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_02_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.v2021_02_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_02_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'properties.nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_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, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=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.os_disk_type = os_disk_type - self.kubelet_disk_type = kubelet_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_state = None - self.availability_zones = availability_zones - self.enable_node_public_ip = enable_node_public_ip - self.node_public_ip_prefix_id = node_public_ip_prefix_id - 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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - self.enable_encryption_at_host = enable_encryption_at_host - - -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.v2021_02_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.v2021_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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 KubeletConfig(Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. - :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. - :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. - :type container_log_max_files: int - :param pod_max_pids: The maximum number of processes per pod. - :type pod_max_pids: int - """ - - _validation = { - 'container_log_max_files': {'minimum': 2}, - } - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, - 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, - 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, - } - - def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cpu_cfs_quota_period: str=None, image_gc_high_threshold: int=None, image_gc_low_threshold: int=None, topology_manager_policy: str=None, allowed_unsafe_sysctls=None, fail_swap_on: bool=None, container_log_max_size_mb: int=None, container_log_max_files: int=None, pod_max_pids: int=None, **kwargs) -> None: - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = cpu_manager_policy - self.cpu_cfs_quota = cpu_cfs_quota - self.cpu_cfs_quota_period = cpu_cfs_quota_period - self.image_gc_high_threshold = image_gc_high_threshold - self.image_gc_low_threshold = image_gc_low_threshold - self.topology_manager_policy = topology_manager_policy - self.allowed_unsafe_sysctls = allowed_unsafe_sysctls - self.fail_swap_on = fail_swap_on - self.container_log_max_size_mb = container_log_max_size_mb - self.container_log_max_files = container_log_max_files - self.pod_max_pids = pod_max_pids - - -class LinuxOSConfig(Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2021_02_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, transparent_huge_page_defrag: str=None, swap_file_size_mb: int=None, **kwargs) -> None: - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = sysctls - self.transparent_huge_page_enabled = transparent_huge_page_enabled - self.transparent_huge_page_defrag = transparent_huge_page_defrag - self.swap_file_size_mb = swap_file_size_mb - - -class MaintenanceConfiguration(SubResource): - """maintenance configuration. - - 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 - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2021_02_01.models.SystemData - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_02_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_02_01.models.TimeSpan] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, - 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, - } - - def __init__(self, *, time_in_week=None, not_allowed_time=None, **kwargs) -> None: - super(MaintenanceConfiguration, self).__init__(**kwargs) - self.system_data = None - self.time_in_week = time_in_week - self.not_allowed_time = not_allowed_time - - -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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 - :param fqdn_subdomain: FQDN subdomain specified when creating private - cluster with custom private dns zone. - :type fqdn_subdomain: str - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - :ivar private_fqdn: FQDN of private cluster. - :vartype private_fqdn: str - :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy - config. - :vartype azure_portal_fqdn: str - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterSKU - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - 'azure_portal_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, - 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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, fqdn_subdomain: str=None, agent_pool_profiles=None, linux_profile=None, windows_profile=None, service_principal_profile=None, addon_profiles=None, pod_identity_profile=None, node_resource_group: str=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, auto_upgrade_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.power_state = None - self.max_agent_pools = None - self.kubernetes_version = kubernetes_version - self.dns_prefix = dns_prefix - self.fqdn_subdomain = fqdn_subdomain - self.fqdn = None - self.private_fqdn = None - self.azure_portal_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.pod_identity_profile = pod_identity_profile - 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_upgrade_profile = auto_upgrade_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 enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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, enable_azure_rbac: 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.enable_azure_rbac = enable_azure_rbac - 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.v2021_02_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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.v2021_02_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_02_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.v2021_02_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_02_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.v2021_02_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_02_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__(self, *, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_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, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=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.os_disk_type = os_disk_type - self.kubelet_disk_type = kubelet_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_state = None - self.availability_zones = availability_zones - self.enable_node_public_ip = enable_node_public_ip - self.node_public_ip_prefix_id = node_public_ip_prefix_id - 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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - self.enable_encryption_at_host = enable_encryption_at_host - - -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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: 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.v2021_02_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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. - May not be changed after creation. Possible values include: 'Managed', - 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_02_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.v2021_02_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_02_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_02_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_02_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.v2021_02_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_02_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_02_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str, count: int=None, vm_size=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_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, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, **kwargs) -> None: - super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, kubelet_disk_type=kubelet_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_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, upgrade_settings=upgrade_settings, availability_zones=availability_zones, enable_node_public_ip=enable_node_public_ip, node_public_ip_prefix_id=node_public_ip_prefix_id, 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, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, enable_encryption_at_host=enable_encryption_at_host, **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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=None, private_dns_zone: str=None, **kwargs) -> None: - super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) - self.authorized_ip_ranges = authorized_ip_ranges - self.enable_private_cluster = enable_private_cluster - self.private_dns_zone = private_dns_zone - - -class ManagedClusterAutoUpgradeProfile(Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2021_02_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__(self, *, upgrade_channel=None, **kwargs) -> None: - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = upgrade_channel - - -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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2021_02_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedClusterIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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.v2021_02_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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 ManagedClusterPodIdentity(Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2021_02_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__(self, *, name: str, namespace: str, identity, **kwargs) -> None: - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.identity = identity - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__(self, *, name: str, namespace: str, pod_labels, **kwargs) -> None: - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.pod_labels = pod_labels - - -class ManagedClusterPodIdentityProfile(Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod - identity addon in cluster using Kubenet network plugin. - :type allow_network_plugin_kubenet: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2021_02_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'allow_network_plugin_kubenet': {'key': 'allowNetworkPluginKubenet', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__(self, *, enabled: bool=None, allow_network_plugin_kubenet: bool=None, user_assigned_identities=None, user_assigned_identity_exceptions=None, **kwargs) -> None: - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = enabled - self.allow_network_plugin_kubenet = allow_network_plugin_kubenet - self.user_assigned_identities = user_assigned_identities - self.user_assigned_identity_exceptions = user_assigned_identity_exceptions - - -class ManagedClusterPodIdentityProvisioningInfo(Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2021_02_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = error - - -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.v2021_02_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_02_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 expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2021_02_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_node_provision_time: - :type max_node_provision_time: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_empty_bulk_delete: str=None, max_graceful_termination_sec: str=None, max_node_provision_time: str=None, max_total_unready_percentage: str=None, new_pod_scale_up_delay: str=None, ok_total_unready_count: 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, skip_nodes_with_local_storage: str=None, skip_nodes_with_system_pods: str=None, **kwargs) -> None: - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = balance_similar_node_groups - self.expander = expander - self.max_empty_bulk_delete = max_empty_bulk_delete - self.max_graceful_termination_sec = max_graceful_termination_sec - self.max_node_provision_time = max_node_provision_time - self.max_total_unready_percentage = max_total_unready_percentage - self.new_pod_scale_up_delay = new_pod_scale_up_delay - self.ok_total_unready_count = ok_total_unready_count - 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.skip_nodes_with_local_storage = skip_nodes_with_local_storage - self.skip_nodes_with_system_pods = skip_nodes_with_system_pods - - -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.v2021_02_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters - :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', 'type': 'str'}, - } - - def __init__(self, *, admin_username: str, admin_password: str=None, license_type=None, **kwargs) -> None: - super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password - self.license_type = license_type - - -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 PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2021_02_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, *, code=None, **kwargs) -> None: - super(PowerState, self).__init__(**kwargs) - self.code = code - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = id - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_02_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_02_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.containerservice.v2021_02_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_02_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: str=None, required_members=None, **kwargs) -> None: - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = id - self.name = name - self.type = type - self.group_id = group_id - self.required_members = required_members - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_02_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2021_02_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, status=None, description: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - - -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 RunCommandRequest(Model): - """run command request. - - :param command: command to run. - :type command: str - :param context: base64 encoded zip file, contains files required by the - command - :type context: str - :param cluster_token: AuthToken issued for AKS AAD Server App. - :type cluster_token: str - """ - - _attribute_map = { - 'command': {'key': 'command', 'type': 'str'}, - 'context': {'key': 'context', 'type': 'str'}, - 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, - } - - def __init__(self, *, command: str=None, context: str=None, cluster_token: str=None, **kwargs) -> None: - super(RunCommandRequest, self).__init__(**kwargs) - self.command = command - self.context = context - self.cluster_token = cluster_token - - -class RunCommandResult(Model): - """run command result. - - :param id: command id. - :type id: str - :param provisioning_state: provisioning State - :type provisioning_state: str - :param exit_code: exit code of the command - :type exit_code: int - :param started_at: time when the command started. - :type started_at: datetime - :param finished_at: time when the command finished. - :type finished_at: datetime - :param logs: command output. - :type logs: str - :param reason: explain why provisioningState is set to failed (if so). - :type reason: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'exit_code': {'key': 'properties.exitCode', 'type': 'int'}, - 'started_at': {'key': 'properties.startedAt', 'type': 'iso-8601'}, - 'finished_at': {'key': 'properties.finishedAt', 'type': 'iso-8601'}, - 'logs': {'key': 'properties.logs', 'type': 'str'}, - 'reason': {'key': 'properties.reason', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, provisioning_state: str=None, exit_code: int=None, started_at=None, finished_at=None, logs: str=None, reason: str=None, **kwargs) -> None: - super(RunCommandResult, self).__init__(**kwargs) - self.id = id - self.provisioning_state = provisioning_state - self.exit_code = exit_code - self.started_at = started_at - self.finished_at = finished_at - self.logs = logs - self.reason = reason - - -class SysctlConfig(Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_default: Sysctl setting net.core.rmem_default. - :type net_core_rmem_default: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_default: Sysctl setting net.core.wmem_default. - :type net_core_wmem_default: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: int=None, net_core_rmem_default: int=None, net_core_rmem_max: int=None, net_core_wmem_default: int=None, net_core_wmem_max: int=None, net_core_optmem_max: int=None, net_ipv4_tcp_max_syn_backlog: int=None, net_ipv4_tcp_max_tw_buckets: int=None, net_ipv4_tcp_fin_timeout: int=None, net_ipv4_tcp_keepalive_time: int=None, net_ipv4_tcp_keepalive_probes: int=None, net_ipv4_tcpkeepalive_intvl: int=None, net_ipv4_tcp_tw_reuse: bool=None, net_ipv4_ip_local_port_range: str=None, net_ipv4_neigh_default_gc_thresh1: int=None, net_ipv4_neigh_default_gc_thresh2: int=None, net_ipv4_neigh_default_gc_thresh3: int=None, net_netfilter_nf_conntrack_max: int=None, net_netfilter_nf_conntrack_buckets: int=None, fs_inotify_max_user_watches: int=None, fs_file_max: int=None, fs_aio_max_nr: int=None, fs_nr_open: int=None, kernel_threads_max: int=None, vm_max_map_count: int=None, vm_swappiness: int=None, vm_vfs_cache_pressure: int=None, **kwargs) -> None: - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = net_core_somaxconn - self.net_core_netdev_max_backlog = net_core_netdev_max_backlog - self.net_core_rmem_default = net_core_rmem_default - self.net_core_rmem_max = net_core_rmem_max - self.net_core_wmem_default = net_core_wmem_default - self.net_core_wmem_max = net_core_wmem_max - self.net_core_optmem_max = net_core_optmem_max - self.net_ipv4_tcp_max_syn_backlog = net_ipv4_tcp_max_syn_backlog - self.net_ipv4_tcp_max_tw_buckets = net_ipv4_tcp_max_tw_buckets - self.net_ipv4_tcp_fin_timeout = net_ipv4_tcp_fin_timeout - self.net_ipv4_tcp_keepalive_time = net_ipv4_tcp_keepalive_time - self.net_ipv4_tcp_keepalive_probes = net_ipv4_tcp_keepalive_probes - self.net_ipv4_tcpkeepalive_intvl = net_ipv4_tcpkeepalive_intvl - self.net_ipv4_tcp_tw_reuse = net_ipv4_tcp_tw_reuse - self.net_ipv4_ip_local_port_range = net_ipv4_ip_local_port_range - self.net_ipv4_neigh_default_gc_thresh1 = net_ipv4_neigh_default_gc_thresh1 - self.net_ipv4_neigh_default_gc_thresh2 = net_ipv4_neigh_default_gc_thresh2 - self.net_ipv4_neigh_default_gc_thresh3 = net_ipv4_neigh_default_gc_thresh3 - self.net_netfilter_nf_conntrack_max = net_netfilter_nf_conntrack_max - self.net_netfilter_nf_conntrack_buckets = net_netfilter_nf_conntrack_buckets - self.fs_inotify_max_user_watches = fs_inotify_max_user_watches - self.fs_file_max = fs_file_max - self.fs_aio_max_nr = fs_aio_max_nr - self.fs_nr_open = fs_nr_open - self.kernel_threads_max = kernel_threads_max - self.vm_max_map_count = vm_max_map_count - self.vm_swappiness = vm_swappiness - self.vm_vfs_cache_pressure = vm_vfs_cache_pressure - - -class SystemData(Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or - ~azure.mgmt.containerservice.v2021_02_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: - super(SystemData, self).__init__(**kwargs) - self.created_by = created_by - self.created_by_type = created_by_type - self.created_at = created_at - self.last_modified_by = last_modified_by - self.last_modified_by_type = last_modified_by_type - self.last_modified_at = last_modified_at - - -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 TimeInWeek(Model): - """Time in a week. - - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' - :type day: str or ~azure.mgmt.containerservice.v2021_02_01.models.WeekDay - :param hour_slots: hour slots in a day. - :type hour_slots: list[int] - """ - - _attribute_map = { - 'day': {'key': 'day', 'type': 'str'}, - 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, - } - - def __init__(self, *, day=None, hour_slots=None, **kwargs) -> None: - super(TimeInWeek, self).__init__(**kwargs) - self.day = day - self.hour_slots = hour_slots - - -class TimeSpan(Model): - """The time span with start and end properties. - - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime - """ - - _attribute_map = { - 'start': {'key': 'start', 'type': 'iso-8601'}, - 'end': {'key': 'end', 'type': 'iso-8601'}, - } - - def __init__(self, *, start=None, end=None, **kwargs) -> None: - super(TimeSpan, self).__init__(**kwargs) - self.start = start - self.end = end diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_paged_models.py deleted file mode 100644 index 725952adaf8..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/models/_paged_models.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 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 MaintenanceConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`MaintenanceConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[MaintenanceConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(MaintenanceConfigurationPaged, 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/v2021_02_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_agent_pools_operations.py deleted file mode 100644 index 703435e5b60..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,610 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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: "2021-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-02-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.v2021_02_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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'} - - - def _upgrade_node_image_version_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.upgrade_node_image_version.metadata['url'] - path_format_arguments = { - '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.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 == 202: - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def upgrade_node_image_version( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Upgrade node image version of an agent pool to the latest. - - Upgrade node image version of an agent pool to the latest. - - :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 AgentPool or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_02_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_02_01.models.AgentPool]] - :raises: :class:`CloudError` - """ - raw_result = self._upgrade_node_image_version_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): - 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) - upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_maintenance_configurations_operations.py deleted file mode 100644 index fc4f3c96c7c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_maintenance_configurations_operations.py +++ /dev/null @@ -1,387 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class MaintenanceConfigurationsOperations(object): - """MaintenanceConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2021-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-02-01" - - self.config = config - - def list_by_managed_cluster( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of maintenance configurations in the specified managed - cluster. - - Gets a list of maintenance configurations in the specified managed - cluster. The operation returns properties of each maintenance - configuration. - - :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 MaintenanceConfiguration - :rtype: - ~azure.mgmt.containerservice.v2021_02_01.models.MaintenanceConfigurationPaged[~azure.mgmt.containerservice.v2021_02_01.models.MaintenanceConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_managed_cluster.metadata['url'] - path_format_arguments = { - '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.MaintenanceConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} - - def get( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, **operation_config): - """Gets the maintenance configuration. - - Gets the details of maintenance configurations 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 config_name: The name of the maintenance configuration. - :type 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: MaintenanceConfiguration or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_02_01.models.MaintenanceConfiguration - 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]$'), - 'configName': self._serialize.url("config_name", 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('MaintenanceConfiguration', 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}/maintenanceConfigurations/{configName}'} - - - def _create_or_update_initial( - self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, **operation_config): - parameters = models.MaintenanceConfiguration(time_in_week=time_in_week, not_allowed_time=not_allowed_time) - - # 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]$'), - 'configName': self._serialize.url("config_name", 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, 'MaintenanceConfiguration') - - # Construct and send request - request = self._client.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('MaintenanceConfiguration', 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, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a maintenance configurations. - - Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. - :type config_name: str - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_02_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_02_01.models.TimeSpan] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - MaintenanceConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_02_01.models.MaintenanceConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_02_01.models.MaintenanceConfiguration]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=config_name, - time_in_week=time_in_week, - not_allowed_time=not_allowed_time, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('MaintenanceConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = 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}/maintenanceConfigurations/{configName}'} - - - def _delete_initial( - self, resource_group_name, resource_name, 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', 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]$'), - 'configName': self._serialize.url("config_name", 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, 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, config_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a maintenance configuration. - - Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. - :type 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:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_managed_clusters_operations.py deleted file mode 100644 index e9f7f05452f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1473 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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: "2021-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-02-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.v2021_02_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_02_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.v2021_02_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_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.v2021_02_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_02_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.v2021_02_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_02_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.v2021_02_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'} - - - def _stop_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - '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 stop( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stop Managed Cluster. - - Stops a Running 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._stop_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) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} - - - def _start_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - '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 start( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Start Managed Cluster. - - Starts a Stopped 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._start_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) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} - - - def _run_command_initial( - self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.run_command.metadata['url'] - path_format_arguments = { - '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(request_payload, 'RunCommandRequest') - - # 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('RunCommandResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def run_command( - self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, polling=True, **operation_config): - """Run Command against Managed Kubernetes Service. - - Submit a command to run against managed kubernetes service, it will - create a pod to run the command. - - :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 request_payload: Parameters supplied to the RunCommand - operation. - :type request_payload: - ~azure.mgmt.containerservice.v2021_02_01.models.RunCommandRequest - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RunCommandResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_02_01.models.RunCommandResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_02_01.models.RunCommandResult]] - :raises: :class:`CloudError` - """ - raw_result = self._run_command_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - request_payload=request_payload, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RunCommandResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} - - def get_command_result( - self, resource_group_name, resource_name, command_id, custom_headers=None, raw=False, **operation_config): - """Get command result. - - Get command result from previous runCommand invoke. - - :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 command_id: Id of the command request. - :type command_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: RunCommandResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_02_01.models.RunCommandResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_command_result.metadata['url'] - path_format_arguments = { - '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]$'), - 'commandId': self._serialize.url("command_id", command_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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 - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('RunCommandResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_operations.py deleted file mode 100644 index 81433d715ef..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_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: "2021-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-02-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.v2021_02_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2021_02_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/v2021_02_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index 7e0068570c4..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,348 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -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: Client Api Version. Constant value: "2021-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-02-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private endpoint connections in the specified managed - cluster. - - Gets a list of private endpoint connections in the specified managed - cluster. The operation returns properties of each private endpoint - connection. - - :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: PrivateEndpointConnectionListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_02_01.models.PrivateEndpointConnectionListResult - 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'), - '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('PrivateEndpointConnectionListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} - - def get( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the private endpoint connection. - - Gets the details of the private endpoint connection 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 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.containerservice.v2021_02_01.models.PrivateEndpointConnection - 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - def update( - self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): - """Updates a private endpoint connection. - - Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. - :type private_endpoint_connection_name: str - :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.containerservice.v2021_02_01.models.PrivateLinkServiceConnectionState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_02_01.models.PrivateEndpoint - :param dict custom_headers: headers that will 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.containerservice.v2021_02_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) - - # 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', 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - - def _delete_initial( - self, resource_group_name, resource_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'), - '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]$'), - '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') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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 - - def delete( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a private endpoint connection. - - Deletes the private endpoint connection 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 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 None or - ClientRawResponse 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, - private_endpoint_connection_name=private_endpoint_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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_private_link_resources_operations.py deleted file mode 100644 index 6971ca8fd27..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_private_link_resources_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 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: Client Api Version. Constant value: "2021-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-02-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private link resources in the specified managed cluster. - - Gets a list of private link resources in the specified managed cluster. - The operation returns properties of each private link resource. - - :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: PrivateLinkResourcesListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_02_01.models.PrivateLinkResourcesListResult - 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'), - '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('PrivateLinkResourcesListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_resolve_private_link_service_id_operations.py deleted file mode 100644 index e53b737880f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/_resolve_private_link_service_id_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 ResolvePrivateLinkServiceIdOperations(object): - """ResolvePrivateLinkServiceIdOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2021-02-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-02-01" - - self.config = config - - def post( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets the private link service ID for the specified managed cluster. - - Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to - resolve a private link service ID. - :type parameters: - ~azure.mgmt.containerservice.v2021_02_01.models.PrivateLinkResource - :param dict custom_headers: headers that will 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.containerservice.v2021_02_01.models.PrivateLinkResource 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'), - '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, 'PrivateLinkResource') - - # 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('PrivateLinkResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/version.py deleted file mode 100644 index 28b76590866..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/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 = "2021-02-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/__init__.py deleted file mode 100644 index b7cb9d01cb1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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/v2021_03_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/_configuration.py deleted file mode 100644 index e94fbc7005d..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/_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 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/v2021_03_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/_container_service_client.py deleted file mode 100644 index 64f594ce8fb..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/_container_service_client.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.service_client import SDKClient -from msrest import Serializer, Deserializer - -from ._configuration import ContainerServiceClientConfiguration -from .operations import Operations -from .operations import ManagedClustersOperations -from .operations import MaintenanceConfigurationsOperations -from .operations import AgentPoolsOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ResolvePrivateLinkServiceIdOperations -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.v2021_03_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations - :vartype managed_clusters: azure.mgmt.containerservice.v2021_03_01.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurations operations - :vartype maintenance_configurations: azure.mgmt.containerservice.v2021_03_01.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPools operations - :vartype agent_pools: azure.mgmt.containerservice.v2021_03_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2021_03_01.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResources operations - :vartype private_link_resources: azure.mgmt.containerservice.v2021_03_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceId operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2021_03_01.operations.ResolvePrivateLinkServiceIdOperations - - :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 = '2021-03-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.maintenance_configurations = MaintenanceConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.agent_pools = AgentPoolsOperations( - 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/__init__.py deleted file mode 100644 index 3eb3201a59a..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/__init__.py +++ /dev/null @@ -1,288 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 ExtendedLocation - from ._models_py3 import KubeletConfig - from ._models_py3 import LinuxOSConfig - from ._models_py3 import MaintenanceConfiguration - 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 ManagedClusterAutoUpgradeProfile - from ._models_py3 import ManagedClusterHTTPProxyConfig - from ._models_py3 import ManagedClusterIdentity - from ._models_py3 import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models_py3 import ManagedClusterLoadBalancerProfile - from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models_py3 import ManagedClusterPodIdentity - from ._models_py3 import ManagedClusterPodIdentityException - from ._models_py3 import ManagedClusterPodIdentityProfile - from ._models_py3 import ManagedClusterPodIdentityProvisioningInfo - 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 OSOptionProfile - from ._models_py3 import OSOptionProperty - from ._models_py3 import PowerState - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourcesListResult - from ._models_py3 import PrivateLinkServiceConnectionState - from ._models_py3 import Resource - from ._models_py3 import ResourceReference - from ._models_py3 import RunCommandRequest - from ._models_py3 import RunCommandResult - from ._models_py3 import SubResource - from ._models_py3 import SysctlConfig - from ._models_py3 import SystemData - from ._models_py3 import TagsObject - from ._models_py3 import TimeInWeek - from ._models_py3 import TimeSpan - 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 ExtendedLocation - from ._models import KubeletConfig - from ._models import LinuxOSConfig - from ._models import MaintenanceConfiguration - 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 ManagedClusterAutoUpgradeProfile - from ._models import ManagedClusterHTTPProxyConfig - from ._models import ManagedClusterIdentity - from ._models import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models import ManagedClusterLoadBalancerProfile - from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models import ManagedClusterPodIdentity - from ._models import ManagedClusterPodIdentityException - from ._models import ManagedClusterPodIdentityProfile - from ._models import ManagedClusterPodIdentityProvisioningInfo - 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 OSOptionProfile - from ._models import OSOptionProperty - from ._models import PowerState - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointConnectionListResult - from ._models import PrivateLinkResource - from ._models import PrivateLinkResourcesListResult - from ._models import PrivateLinkServiceConnectionState - from ._models import Resource - from ._models import ResourceReference - from ._models import RunCommandRequest - from ._models import RunCommandResult - from ._models import SubResource - from ._models import SysctlConfig - from ._models import SystemData - from ._models import TagsObject - from ._models import TimeInWeek - from ._models import TimeSpan - from ._models import UserAssignedIdentity -from ._paged_models import AgentPoolPaged -from ._paged_models import MaintenanceConfigurationPaged -from ._paged_models import ManagedClusterPaged -from ._paged_models import OperationValuePaged -from ._container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - OSDiskType, - KubeletDiskType, - OSType, - OSSKU, - AgentPoolType, - AgentPoolMode, - Code, - ScaleSetPriority, - ScaleSetEvictionPolicy, - GPUInstanceProfile, - LicenseType, - NetworkPlugin, - NetworkPolicy, - NetworkMode, - OutboundType, - LoadBalancerSku, - CreatedByType, - WeekDay, - ManagedClusterPodIdentityProvisioningState, - UpgradeChannel, - Expander, - ResourceIdentityType, - ManagedClusterSKUName, - ManagedClusterSKUTier, - ExtendedLocationTypes, - PrivateEndpointConnectionProvisioningState, - ConnectionStatus, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'AgentPoolUpgradeSettings', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CredentialResult', - 'CredentialResults', - 'ExtendedLocation', - 'KubeletConfig', - 'LinuxOSConfig', - 'MaintenanceConfiguration', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAddonProfileIdentity', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterAutoUpgradeProfile', - 'ManagedClusterHTTPProxyConfig', - 'ManagedClusterIdentity', - 'ManagedClusterIdentityUserAssignedIdentitiesValue', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPodIdentity', - 'ManagedClusterPodIdentityException', - 'ManagedClusterPodIdentityProfile', - 'ManagedClusterPodIdentityProvisioningInfo', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterSKU', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationValue', - 'OSOptionProfile', - 'OSOptionProperty', - 'PowerState', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkResource', - 'PrivateLinkResourcesListResult', - 'PrivateLinkServiceConnectionState', - 'Resource', - 'ResourceReference', - 'RunCommandRequest', - 'RunCommandResult', - 'SubResource', - 'SysctlConfig', - 'SystemData', - 'TagsObject', - 'TimeInWeek', - 'TimeSpan', - 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'MaintenanceConfigurationPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSDiskType', - 'KubeletDiskType', - 'OSType', - 'OSSKU', - 'AgentPoolType', - 'AgentPoolMode', - 'Code', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', - 'GPUInstanceProfile', - 'LicenseType', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', - 'LoadBalancerSku', - 'CreatedByType', - 'WeekDay', - 'ManagedClusterPodIdentityProvisioningState', - 'UpgradeChannel', - 'Expander', - 'ResourceIdentityType', - 'ManagedClusterSKUName', - 'ManagedClusterSKUTier', - 'ExtendedLocationTypes', - 'PrivateEndpointConnectionProvisioningState', - 'ConnectionStatus', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_container_service_client_enums.py deleted file mode 100644 index 07d226f1f08..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_container_service_client_enums.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. -# -------------------------------------------------------------------------- - -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 OSDiskType(str, Enum): - - managed = "Managed" - ephemeral = "Ephemeral" - - -class KubeletDiskType(str, Enum): - - os = "OS" - temporary = "Temporary" - - -class OSType(str, Enum): - - linux = "Linux" - windows = "Windows" - - -class OSSKU(str, Enum): - - ubuntu = "Ubuntu" - cbl_mariner = "CBLMariner" - - -class AgentPoolType(str, Enum): - - virtual_machine_scale_sets = "VirtualMachineScaleSets" - availability_set = "AvailabilitySet" - - -class AgentPoolMode(str, Enum): - - system = "System" - user = "User" - - -class Code(str, Enum): - - running = "Running" - stopped = "Stopped" - - -class ScaleSetPriority(str, Enum): - - spot = "Spot" - regular = "Regular" - - -class ScaleSetEvictionPolicy(str, Enum): - - delete = "Delete" - deallocate = "Deallocate" - - -class GPUInstanceProfile(str, Enum): - - mig1g = "MIG1g" - mig2g = "MIG2g" - mig3g = "MIG3g" - mig4g = "MIG4g" - mig7g = "MIG7g" - - -class LicenseType(str, Enum): - - none = "None" - windows_server = "Windows_Server" - - -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 CreatedByType(str, Enum): - - user = "User" - application = "Application" - managed_identity = "ManagedIdentity" - key = "Key" - - -class WeekDay(str, Enum): - - sunday = "Sunday" - monday = "Monday" - tuesday = "Tuesday" - wednesday = "Wednesday" - thursday = "Thursday" - friday = "Friday" - saturday = "Saturday" - - -class ManagedClusterPodIdentityProvisioningState(str, Enum): - - assigned = "Assigned" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class UpgradeChannel(str, Enum): - - rapid = "rapid" - stable = "stable" - patch = "patch" - node_image = "node-image" - none = "none" - - -class Expander(str, Enum): - - least_waste = "least-waste" - most_pods = "most-pods" - priority = "priority" - random = "random" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - none = "None" - - -class ManagedClusterSKUName(str, Enum): - - basic = "Basic" - - -class ManagedClusterSKUTier(str, Enum): - - paid = "Paid" - free = "Free" - - -class ExtendedLocationTypes(str, Enum): - - edge_zone = "EdgeZone" - - -class PrivateEndpointConnectionProvisioningState(str, Enum): - - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - failed = "Failed" - - -class ConnectionStatus(str, Enum): - - pending = "Pending" - approved = "Approved" - rejected = "Rejected" - disconnected = "Disconnected" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models.py deleted file mode 100644 index 44761131706..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models.py +++ /dev/null @@ -1,3212 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: Size of agent VMs. - :type vm_size: str - :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_03_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' - :type os_sku: str or ~azure.mgmt.containerservice.v2021_03_01.models.OSSKU - :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.v2021_03_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_03_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.v2021_03_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_03_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param enable_fips: Whether to use FIPS enabled OS - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_03_01.models.GPUInstanceProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, - 'os_type': {'key': 'properties.osType', 'type': 'str'}, - 'os_sku': {'key': 'properties.osSKU', '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'properties.nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFIPS', 'type': 'bool'}, - 'gpu_instance_profile': {'key': 'properties.gpuInstanceProfile', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AgentPool, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_subnet_id', None) - self.max_pods = kwargs.get('max_pods', None) - self.os_type = kwargs.get('os_type', "Linux") - self.os_sku = kwargs.get('os_sku', None) - 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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_state = None - self.availability_zones = kwargs.get('availability_zones', None) - self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) - self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', 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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', None) - self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', None) - self.enable_fips = kwargs.get('enable_fips', None) - self.gpu_instance_profile = kwargs.get('gpu_instance_profile', 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.v2021_03_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.v2021_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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 ExtendedLocation(Model): - """The complex type of the extended location. - - :param name: The name of the extended location. - :type name: str - :param type: The type of the extended location. Possible values include: - 'EdgeZone' - :type type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ExtendedLocationTypes - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ExtendedLocation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - - -class KubeletConfig(Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. - :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. - :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. - :type container_log_max_files: int - :param pod_max_pids: The maximum number of processes per pod. - :type pod_max_pids: int - """ - - _validation = { - 'container_log_max_files': {'minimum': 2}, - } - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, - 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, - 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = kwargs.get('cpu_manager_policy', None) - self.cpu_cfs_quota = kwargs.get('cpu_cfs_quota', None) - self.cpu_cfs_quota_period = kwargs.get('cpu_cfs_quota_period', None) - self.image_gc_high_threshold = kwargs.get('image_gc_high_threshold', None) - self.image_gc_low_threshold = kwargs.get('image_gc_low_threshold', None) - self.topology_manager_policy = kwargs.get('topology_manager_policy', None) - self.allowed_unsafe_sysctls = kwargs.get('allowed_unsafe_sysctls', None) - self.fail_swap_on = kwargs.get('fail_swap_on', None) - self.container_log_max_size_mb = kwargs.get('container_log_max_size_mb', None) - self.container_log_max_files = kwargs.get('container_log_max_files', None) - self.pod_max_pids = kwargs.get('pod_max_pids', None) - - -class LinuxOSConfig(Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2021_03_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = kwargs.get('sysctls', None) - self.transparent_huge_page_enabled = kwargs.get('transparent_huge_page_enabled', None) - self.transparent_huge_page_defrag = kwargs.get('transparent_huge_page_defrag', None) - self.swap_file_size_mb = kwargs.get('swap_file_size_mb', None) - - -class MaintenanceConfiguration(SubResource): - """maintenance configuration. - - 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 - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2021_03_01.models.SystemData - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_03_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_03_01.models.TimeSpan] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, - 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, - } - - def __init__(self, **kwargs): - super(MaintenanceConfiguration, self).__init__(**kwargs) - self.system_data = None - self.time_in_week = kwargs.get('time_in_week', None) - self.not_allowed_time = kwargs.get('not_allowed_time', 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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 - :param fqdn_subdomain: FQDN subdomain specified when creating private - cluster with custom private dns zone. - :type fqdn_subdomain: str - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - :ivar private_fqdn: FQDN of private cluster. - :vartype private_fqdn: str - :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy - config. - :vartype azure_portal_fqdn: str - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param private_link_resources: Private link resources associated with the - cluster. - :type private_link_resources: - list[~azure.mgmt.containerservice.v2021_03_01.models.PrivateLinkResource] - :param disable_local_accounts: If set to true, getting static credential - will be disabled for this cluster. Expected to only be used for AAD - clusters. - :type disable_local_accounts: bool - :param http_proxy_config: Configurations for provisioning the cluster with - HTTP proxy servers. - :type http_proxy_config: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterHTTPProxyConfig - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterSKU - :param extended_location: The extended location of the Virtual Machine. - :type extended_location: - ~azure.mgmt.containerservice.v2021_03_01.models.ExtendedLocation - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - 'azure_portal_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, - 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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}'}, - 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, - 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, - 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - } - - def __init__(self, **kwargs): - super(ManagedCluster, self).__init__(**kwargs) - self.provisioning_state = None - self.power_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_subdomain = kwargs.get('fqdn_subdomain', None) - self.fqdn = None - self.private_fqdn = None - self.azure_portal_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.pod_identity_profile = kwargs.get('pod_identity_profile', 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_upgrade_profile = kwargs.get('auto_upgrade_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.private_link_resources = kwargs.get('private_link_resources', None) - self.disable_local_accounts = kwargs.get('disable_local_accounts', None) - self.http_proxy_config = kwargs.get('http_proxy_config', None) - self.identity = kwargs.get('identity', None) - self.sku = kwargs.get('sku', None) - self.extended_location = kwargs.get('extended_location', None) - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - :param managed: Whether to enable managed AAD. - :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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.enable_azure_rbac = kwargs.get('enable_azure_rbac', 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.v2021_03_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: Size of agent VMs. - :type vm_size: str - :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_03_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' - :type os_sku: str or ~azure.mgmt.containerservice.v2021_03_01.models.OSSKU - :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.v2021_03_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_03_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.v2021_03_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_03_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param enable_fips: Whether to use FIPS enabled OS - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_03_01.models.GPUInstanceProfile - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'maxPods', 'type': 'int'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'os_sku': {'key': 'osSKU', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, - 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_subnet_id', None) - self.max_pods = kwargs.get('max_pods', None) - self.os_type = kwargs.get('os_type', "Linux") - self.os_sku = kwargs.get('os_sku', None) - 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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_state = None - self.availability_zones = kwargs.get('availability_zones', None) - self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) - self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', 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) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', None) - self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', None) - self.enable_fips = kwargs.get('enable_fips', None) - self.gpu_instance_profile = kwargs.get('gpu_instance_profile', 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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: Size of agent VMs. - :type vm_size: str - :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_03_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' - :type os_sku: str or ~azure.mgmt.containerservice.v2021_03_01.models.OSSKU - :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.v2021_03_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_03_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.v2021_03_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_03_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param enable_fips: Whether to use FIPS enabled OS - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_03_01.models.GPUInstanceProfile - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'maxPods', 'type': 'int'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'os_sku': {'key': 'osSKU', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, - 'gpu_instance_profile': {'key': 'gpuInstanceProfile', '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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - 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) - self.private_dns_zone = kwargs.get('private_dns_zone', None) - - -class ManagedClusterAutoUpgradeProfile(Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'node-image', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2021_03_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = kwargs.get('upgrade_channel', None) - - -class ManagedClusterHTTPProxyConfig(Model): - """Configurations for provisioning the cluster with HTTP proxy servers. - - :param http_proxy: HTTP proxy server endpoint to use. - :type http_proxy: str - :param https_proxy: HTTPS proxy server endpoint to use. - :type https_proxy: str - :param no_proxy: Endpoints that should not go through proxy. - :type no_proxy: list[str] - :param trusted_ca: Alternative CA cert to use for connecting to proxy - servers. - :type trusted_ca: str - """ - - _attribute_map = { - 'http_proxy': {'key': 'httpProxy', 'type': 'str'}, - 'https_proxy': {'key': 'httpsProxy', 'type': 'str'}, - 'no_proxy': {'key': 'noProxy', 'type': '[str]'}, - 'trusted_ca': {'key': 'trustedCa', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterHTTPProxyConfig, self).__init__(**kwargs) - self.http_proxy = kwargs.get('http_proxy', None) - self.https_proxy = kwargs.get('https_proxy', None) - self.no_proxy = kwargs.get('no_proxy', None) - self.trusted_ca = kwargs.get('trusted_ca', 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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2021_03_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterIdentity, 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 ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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.v2021_03_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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 ManagedClusterPodIdentity(Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param binding_selector: Binding selector to use for the - AzureIdentityBinding resource. - :type binding_selector: str - :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2021_03_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'binding_selector': {'key': 'bindingSelector', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.binding_selector = kwargs.get('binding_selector', None) - self.identity = kwargs.get('identity', None) - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.pod_labels = kwargs.get('pod_labels', None) - - -class ManagedClusterPodIdentityProfile(Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod - identity addon in cluster using Kubenet network plugin. - :type allow_network_plugin_kubenet: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'allow_network_plugin_kubenet': {'key': 'allowNetworkPluginKubenet', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.allow_network_plugin_kubenet = kwargs.get('allow_network_plugin_kubenet', None) - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) - self.user_assigned_identity_exceptions = kwargs.get('user_assigned_identity_exceptions', None) - - -class ManagedClusterPodIdentityProvisioningInfo(Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2021_03_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = kwargs.get('error', 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.v2021_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_03_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 expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2021_03_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_node_provision_time: - :type max_node_provision_time: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) - self.expander = kwargs.get('expander', None) - self.max_empty_bulk_delete = kwargs.get('max_empty_bulk_delete', None) - self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) - self.max_node_provision_time = kwargs.get('max_node_provision_time', None) - self.max_total_unready_percentage = kwargs.get('max_total_unready_percentage', None) - self.new_pod_scale_up_delay = kwargs.get('new_pod_scale_up_delay', None) - self.ok_total_unready_count = kwargs.get('ok_total_unready_count', 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.skip_nodes_with_local_storage = kwargs.get('skip_nodes_with_local_storage', None) - self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', 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.v2021_03_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters - :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.LicenseType - :param enable_csi_proxy: Whether to enable CSI proxy. - :type enable_csi_proxy: bool - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', 'type': 'str'}, - 'enable_csi_proxy': {'key': 'enableCSIProxy', 'type': 'bool'}, - } - - 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) - self.license_type = kwargs.get('license_type', None) - self.enable_csi_proxy = kwargs.get('enable_csi_proxy', 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 OSOptionProfile(Model): - """The OS option 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: Id of the OS option profile. - :vartype id: str - :ivar name: Name of the OS option profile. - :vartype name: str - :ivar type: Type of the OS option profile. - :vartype type: str - :param os_option_property_list: Required. The list of OS option - properties. - :type os_option_property_list: - list[~azure.mgmt.containerservice.v2021_03_01.models.OSOptionProperty] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'os_option_property_list': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'os_option_property_list': {'key': 'properties.osOptionPropertyList', 'type': '[OSOptionProperty]'}, - } - - def __init__(self, **kwargs): - super(OSOptionProfile, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.os_option_property_list = kwargs.get('os_option_property_list', None) - - -class OSOptionProperty(Model): - """OS option property. - - All required parameters must be populated in order to send to Azure. - - :param os_type: Required. OS type. - :type os_type: str - :param enable_fips_image: Required. Whether FIPS image is enabled. - :type enable_fips_image: bool - """ - - _validation = { - 'os_type': {'required': True}, - 'enable_fips_image': {'required': True}, - } - - _attribute_map = { - 'os_type': {'key': 'os-type', 'type': 'str'}, - 'enable_fips_image': {'key': 'enable-fips-image', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(OSOptionProperty, self).__init__(**kwargs) - self.os_type = kwargs.get('os_type', None) - self.enable_fips_image = kwargs.get('enable_fips_image', None) - - -class PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2021_03_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PowerState, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_03_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_03_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.containerservice.v2021_03_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_03_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, **kwargs): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.group_id = kwargs.get('group_id', None) - self.required_members = kwargs.get('required_members', None) - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_03_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', 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 RunCommandRequest(Model): - """run command request. - - All required parameters must be populated in order to send to Azure. - - :param command: Required. command to run. - :type command: str - :param context: base64 encoded zip file, contains files required by the - command - :type context: str - :param cluster_token: AuthToken issued for AKS AAD Server App. - :type cluster_token: str - """ - - _validation = { - 'command': {'required': True}, - } - - _attribute_map = { - 'command': {'key': 'command', 'type': 'str'}, - 'context': {'key': 'context', 'type': 'str'}, - 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RunCommandRequest, self).__init__(**kwargs) - self.command = kwargs.get('command', None) - self.context = kwargs.get('context', None) - self.cluster_token = kwargs.get('cluster_token', None) - - -class RunCommandResult(Model): - """run command result. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: command id. - :vartype id: str - :ivar provisioning_state: provisioning State - :vartype provisioning_state: str - :ivar exit_code: exit code of the command - :vartype exit_code: int - :ivar started_at: time when the command started. - :vartype started_at: datetime - :ivar finished_at: time when the command finished. - :vartype finished_at: datetime - :ivar logs: command output. - :vartype logs: str - :ivar reason: explain why provisioningState is set to failed (if so). - :vartype reason: str - """ - - _validation = { - 'id': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'exit_code': {'readonly': True}, - 'started_at': {'readonly': True}, - 'finished_at': {'readonly': True}, - 'logs': {'readonly': True}, - 'reason': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'exit_code': {'key': 'properties.exitCode', 'type': 'int'}, - 'started_at': {'key': 'properties.startedAt', 'type': 'iso-8601'}, - 'finished_at': {'key': 'properties.finishedAt', 'type': 'iso-8601'}, - 'logs': {'key': 'properties.logs', 'type': 'str'}, - 'reason': {'key': 'properties.reason', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RunCommandResult, self).__init__(**kwargs) - self.id = None - self.provisioning_state = None - self.exit_code = None - self.started_at = None - self.finished_at = None - self.logs = None - self.reason = None - - -class SysctlConfig(Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_default: Sysctl setting net.core.rmem_default. - :type net_core_rmem_default: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_default: Sysctl setting net.core.wmem_default. - :type net_core_wmem_default: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = kwargs.get('net_core_somaxconn', None) - self.net_core_netdev_max_backlog = kwargs.get('net_core_netdev_max_backlog', None) - self.net_core_rmem_default = kwargs.get('net_core_rmem_default', None) - self.net_core_rmem_max = kwargs.get('net_core_rmem_max', None) - self.net_core_wmem_default = kwargs.get('net_core_wmem_default', None) - self.net_core_wmem_max = kwargs.get('net_core_wmem_max', None) - self.net_core_optmem_max = kwargs.get('net_core_optmem_max', None) - self.net_ipv4_tcp_max_syn_backlog = kwargs.get('net_ipv4_tcp_max_syn_backlog', None) - self.net_ipv4_tcp_max_tw_buckets = kwargs.get('net_ipv4_tcp_max_tw_buckets', None) - self.net_ipv4_tcp_fin_timeout = kwargs.get('net_ipv4_tcp_fin_timeout', None) - self.net_ipv4_tcp_keepalive_time = kwargs.get('net_ipv4_tcp_keepalive_time', None) - self.net_ipv4_tcp_keepalive_probes = kwargs.get('net_ipv4_tcp_keepalive_probes', None) - self.net_ipv4_tcpkeepalive_intvl = kwargs.get('net_ipv4_tcpkeepalive_intvl', None) - self.net_ipv4_tcp_tw_reuse = kwargs.get('net_ipv4_tcp_tw_reuse', None) - self.net_ipv4_ip_local_port_range = kwargs.get('net_ipv4_ip_local_port_range', None) - self.net_ipv4_neigh_default_gc_thresh1 = kwargs.get('net_ipv4_neigh_default_gc_thresh1', None) - self.net_ipv4_neigh_default_gc_thresh2 = kwargs.get('net_ipv4_neigh_default_gc_thresh2', None) - self.net_ipv4_neigh_default_gc_thresh3 = kwargs.get('net_ipv4_neigh_default_gc_thresh3', None) - self.net_netfilter_nf_conntrack_max = kwargs.get('net_netfilter_nf_conntrack_max', None) - self.net_netfilter_nf_conntrack_buckets = kwargs.get('net_netfilter_nf_conntrack_buckets', None) - self.fs_inotify_max_user_watches = kwargs.get('fs_inotify_max_user_watches', None) - self.fs_file_max = kwargs.get('fs_file_max', None) - self.fs_aio_max_nr = kwargs.get('fs_aio_max_nr', None) - self.fs_nr_open = kwargs.get('fs_nr_open', None) - self.kernel_threads_max = kwargs.get('kernel_threads_max', None) - self.vm_max_map_count = kwargs.get('vm_max_map_count', None) - self.vm_swappiness = kwargs.get('vm_swappiness', None) - self.vm_vfs_cache_pressure = kwargs.get('vm_vfs_cache_pressure', None) - - -class SystemData(Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', 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 TimeInWeek(Model): - """Time in a week. - - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' - :type day: str or ~azure.mgmt.containerservice.v2021_03_01.models.WeekDay - :param hour_slots: hour slots in a day. - :type hour_slots: list[int] - """ - - _attribute_map = { - 'day': {'key': 'day', 'type': 'str'}, - 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(TimeInWeek, self).__init__(**kwargs) - self.day = kwargs.get('day', None) - self.hour_slots = kwargs.get('hour_slots', None) - - -class TimeSpan(Model): - """The time span with start and end properties. - - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime - """ - - _attribute_map = { - 'start': {'key': 'start', 'type': 'iso-8601'}, - 'end': {'key': 'end', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(TimeSpan, self).__init__(**kwargs) - self.start = kwargs.get('start', None) - self.end = kwargs.get('end', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models_py3.py deleted file mode 100644 index 7a3f7e34645..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_models_py3.py +++ /dev/null @@ -1,3212 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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. - - :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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: Size of agent VMs. - :type vm_size: str - :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_03_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' - :type os_sku: str or ~azure.mgmt.containerservice.v2021_03_01.models.OSSKU - :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.v2021_03_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_03_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.v2021_03_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_03_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param enable_fips: Whether to use FIPS enabled OS - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_03_01.models.GPUInstanceProfile - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, - 'os_type': {'key': 'properties.osType', 'type': 'str'}, - 'os_sku': {'key': 'properties.osSKU', '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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'properties.nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, - 'enable_fips': {'key': 'properties.enableFIPS', 'type': 'bool'}, - 'gpu_instance_profile': {'key': 'properties.gpuInstanceProfile', 'type': 'str'}, - } - - def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, agent_pool_type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_fips: bool=None, gpu_instance_profile=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.os_disk_type = os_disk_type - self.kubelet_disk_type = kubelet_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_subnet_id - self.max_pods = max_pods - self.os_type = os_type - self.os_sku = os_sku - 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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_state = None - self.availability_zones = availability_zones - self.enable_node_public_ip = enable_node_public_ip - self.node_public_ip_prefix_id = node_public_ip_prefix_id - 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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - self.enable_encryption_at_host = enable_encryption_at_host - self.enable_fips = enable_fips - self.gpu_instance_profile = gpu_instance_profile - - -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.v2021_03_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.v2021_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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 ExtendedLocation(Model): - """The complex type of the extended location. - - :param name: The name of the extended location. - :type name: str - :param type: The type of the extended location. Possible values include: - 'EdgeZone' - :type type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ExtendedLocationTypes - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, type=None, **kwargs) -> None: - super(ExtendedLocation, self).__init__(**kwargs) - self.name = name - self.type = type - - -class KubeletConfig(Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. - :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. - :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. - :type container_log_max_files: int - :param pod_max_pids: The maximum number of processes per pod. - :type pod_max_pids: int - """ - - _validation = { - 'container_log_max_files': {'minimum': 2}, - } - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, - 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, - 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, - } - - def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cpu_cfs_quota_period: str=None, image_gc_high_threshold: int=None, image_gc_low_threshold: int=None, topology_manager_policy: str=None, allowed_unsafe_sysctls=None, fail_swap_on: bool=None, container_log_max_size_mb: int=None, container_log_max_files: int=None, pod_max_pids: int=None, **kwargs) -> None: - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = cpu_manager_policy - self.cpu_cfs_quota = cpu_cfs_quota - self.cpu_cfs_quota_period = cpu_cfs_quota_period - self.image_gc_high_threshold = image_gc_high_threshold - self.image_gc_low_threshold = image_gc_low_threshold - self.topology_manager_policy = topology_manager_policy - self.allowed_unsafe_sysctls = allowed_unsafe_sysctls - self.fail_swap_on = fail_swap_on - self.container_log_max_size_mb = container_log_max_size_mb - self.container_log_max_files = container_log_max_files - self.pod_max_pids = pod_max_pids - - -class LinuxOSConfig(Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2021_03_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, transparent_huge_page_defrag: str=None, swap_file_size_mb: int=None, **kwargs) -> None: - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = sysctls - self.transparent_huge_page_enabled = transparent_huge_page_enabled - self.transparent_huge_page_defrag = transparent_huge_page_defrag - self.swap_file_size_mb = swap_file_size_mb - - -class MaintenanceConfiguration(SubResource): - """maintenance configuration. - - 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 - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2021_03_01.models.SystemData - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_03_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_03_01.models.TimeSpan] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, - 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, - } - - def __init__(self, *, time_in_week=None, not_allowed_time=None, **kwargs) -> None: - super(MaintenanceConfiguration, self).__init__(**kwargs) - self.system_data = None - self.time_in_week = time_in_week - self.not_allowed_time = not_allowed_time - - -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 power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 - :param fqdn_subdomain: FQDN subdomain specified when creating private - cluster with custom private dns zone. - :type fqdn_subdomain: str - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - :ivar private_fqdn: FQDN of private cluster. - :vartype private_fqdn: str - :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy - config. - :vartype azure_portal_fqdn: str - :param agent_pool_profiles: Properties of the agent pool. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param private_link_resources: Private link resources associated with the - cluster. - :type private_link_resources: - list[~azure.mgmt.containerservice.v2021_03_01.models.PrivateLinkResource] - :param disable_local_accounts: If set to true, getting static credential - will be disabled for this cluster. Expected to only be used for AAD - clusters. - :type disable_local_accounts: bool - :param http_proxy_config: Configurations for provisioning the cluster with - HTTP proxy servers. - :type http_proxy_config: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterHTTPProxyConfig - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterIdentity - :param sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterSKU - :param extended_location: The extended location of the Virtual Machine. - :type extended_location: - ~azure.mgmt.containerservice.v2021_03_01.models.ExtendedLocation - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - 'azure_portal_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, - 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, - 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, - 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, - 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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}'}, - 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, - 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, - 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - } - - def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dns_prefix: str=None, fqdn_subdomain: str=None, agent_pool_profiles=None, linux_profile=None, windows_profile=None, service_principal_profile=None, addon_profiles=None, pod_identity_profile=None, node_resource_group: str=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, auto_upgrade_profile=None, auto_scaler_profile=None, api_server_access_profile=None, disk_encryption_set_id: str=None, identity_profile=None, private_link_resources=None, disable_local_accounts: bool=None, http_proxy_config=None, identity=None, sku=None, extended_location=None, **kwargs) -> None: - super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) - self.provisioning_state = None - self.power_state = None - self.max_agent_pools = None - self.kubernetes_version = kubernetes_version - self.dns_prefix = dns_prefix - self.fqdn_subdomain = fqdn_subdomain - self.fqdn = None - self.private_fqdn = None - self.azure_portal_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.pod_identity_profile = pod_identity_profile - 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_upgrade_profile = auto_upgrade_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.private_link_resources = private_link_resources - self.disable_local_accounts = disable_local_accounts - self.http_proxy_config = http_proxy_config - self.identity = identity - self.sku = sku - self.extended_location = extended_location - - -class ManagedClusterAADProfile(Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - :param managed: Whether to enable managed AAD. - :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. - :type enable_azure_rbac: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', '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, enable_azure_rbac: 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.enable_azure_rbac = enable_azure_rbac - 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.v2021_03_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. - - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: Size of agent VMs. - :type vm_size: str - :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_03_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' - :type os_sku: str or ~azure.mgmt.containerservice.v2021_03_01.models.OSSKU - :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.v2021_03_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_03_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.v2021_03_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_03_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param enable_fips: Whether to use FIPS enabled OS - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_03_01.models.GPUInstanceProfile - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'maxPods', 'type': 'int'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'os_sku': {'key': 'osSKU', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, - 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, - } - - def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_fips: bool=None, gpu_instance_profile=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.os_disk_type = os_disk_type - self.kubelet_disk_type = kubelet_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_subnet_id - self.max_pods = max_pods - self.os_type = os_type - self.os_sku = os_sku - 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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_state = None - self.availability_zones = availability_zones - self.enable_node_public_ip = enable_node_public_ip - self.node_public_ip_prefix_id = node_public_ip_prefix_id - 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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - self.enable_encryption_at_host = enable_encryption_at_host - self.enable_fips = enable_fips - self.gpu_instance_profile = gpu_instance_profile - - -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: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 100 (inclusive) for user pools and in - the range of 1 to 100 (inclusive) for system pools. The default value is - 1. - :type count: int - :param vm_size: Size of agent VMs. - :type vm_size: str - :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. - :type pod_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.v2021_03_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' - :type os_sku: str or ~azure.mgmt.containerservice.v2021_03_01.models.OSSKU - :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.v2021_03_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_03_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_03_01.models.PowerState - :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 node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. - :type node_public_ip_prefix_id: str - :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.v2021_03_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.v2021_03_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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_03_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_03_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost - :type enable_encryption_at_host: bool - :param enable_fips: Whether to use FIPS enabled OS - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_03_01.models.GPUInstanceProfile - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. - :type name: str - """ - - _validation = { - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, - 'max_pods': {'key': 'maxPods', 'type': 'int'}, - 'os_type': {'key': 'osType', 'type': 'str'}, - 'os_sku': {'key': 'osSKU', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, - 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, - 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, - 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_fips: bool=None, gpu_instance_profile=None, **kwargs) -> None: - super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, kubelet_disk_type=kubelet_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_subnet_id, max_pods=max_pods, os_type=os_type, os_sku=os_sku, max_count=max_count, min_count=min_count, enable_auto_scaling=enable_auto_scaling, type=type, mode=mode, orchestrator_version=orchestrator_version, upgrade_settings=upgrade_settings, availability_zones=availability_zones, enable_node_public_ip=enable_node_public_ip, node_public_ip_prefix_id=node_public_ip_prefix_id, 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, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, enable_encryption_at_host=enable_encryption_at_host, enable_fips=enable_fips, gpu_instance_profile=gpu_instance_profile, **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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=None, private_dns_zone: str=None, **kwargs) -> None: - super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) - self.authorized_ip_ranges = authorized_ip_ranges - self.enable_private_cluster = enable_private_cluster - self.private_dns_zone = private_dns_zone - - -class ManagedClusterAutoUpgradeProfile(Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'node-image', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2021_03_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__(self, *, upgrade_channel=None, **kwargs) -> None: - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = upgrade_channel - - -class ManagedClusterHTTPProxyConfig(Model): - """Configurations for provisioning the cluster with HTTP proxy servers. - - :param http_proxy: HTTP proxy server endpoint to use. - :type http_proxy: str - :param https_proxy: HTTPS proxy server endpoint to use. - :type https_proxy: str - :param no_proxy: Endpoints that should not go through proxy. - :type no_proxy: list[str] - :param trusted_ca: Alternative CA cert to use for connecting to proxy - servers. - :type trusted_ca: str - """ - - _attribute_map = { - 'http_proxy': {'key': 'httpProxy', 'type': 'str'}, - 'https_proxy': {'key': 'httpsProxy', 'type': 'str'}, - 'no_proxy': {'key': 'noProxy', 'type': '[str]'}, - 'trusted_ca': {'key': 'trustedCa', 'type': 'str'}, - } - - def __init__(self, *, http_proxy: str=None, https_proxy: str=None, no_proxy=None, trusted_ca: str=None, **kwargs) -> None: - super(ManagedClusterHTTPProxyConfig, self).__init__(**kwargs) - self.http_proxy = http_proxy - self.https_proxy = https_proxy - self.no_proxy = no_proxy - self.trusted_ca = trusted_ca - - -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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. 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.containerservice.v2021_03_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] - """ - - _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedClusterIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. - - 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(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = 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.v2021_03_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. - :type outbound_ip_prefixes: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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 ManagedClusterPodIdentity(Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param binding_selector: Binding selector to use for the - AzureIdentityBinding resource. - :type binding_selector: str - :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2021_03_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'binding_selector': {'key': 'bindingSelector', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__(self, *, name: str, namespace: str, identity, binding_selector: str=None, **kwargs) -> None: - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.binding_selector = binding_selector - self.identity = identity - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__(self, *, name: str, namespace: str, pod_labels, **kwargs) -> None: - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.pod_labels = pod_labels - - -class ManagedClusterPodIdentityProfile(Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod - identity addon in cluster using Kubenet network plugin. - :type allow_network_plugin_kubenet: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2021_03_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'allow_network_plugin_kubenet': {'key': 'allowNetworkPluginKubenet', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__(self, *, enabled: bool=None, allow_network_plugin_kubenet: bool=None, user_assigned_identities=None, user_assigned_identity_exceptions=None, **kwargs) -> None: - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = enabled - self.allow_network_plugin_kubenet = allow_network_plugin_kubenet - self.user_assigned_identities = user_assigned_identities - self.user_assigned_identity_exceptions = user_assigned_identity_exceptions - - -class ManagedClusterPodIdentityProvisioningInfo(Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2021_03_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = error - - -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.v2021_03_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_03_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 expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2021_03_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_node_provision_time: - :type max_node_provision_time: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_empty_bulk_delete: str=None, max_graceful_termination_sec: str=None, max_node_provision_time: str=None, max_total_unready_percentage: str=None, new_pod_scale_up_delay: str=None, ok_total_unready_count: 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, skip_nodes_with_local_storage: str=None, skip_nodes_with_system_pods: str=None, **kwargs) -> None: - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = balance_similar_node_groups - self.expander = expander - self.max_empty_bulk_delete = max_empty_bulk_delete - self.max_graceful_termination_sec = max_graceful_termination_sec - self.max_node_provision_time = max_node_provision_time - self.max_total_unready_percentage = max_total_unready_percentage - self.new_pod_scale_up_delay = new_pod_scale_up_delay - self.ok_total_unready_count = ok_total_unready_count - 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.skip_nodes_with_local_storage = skip_nodes_with_local_storage - self.skip_nodes_with_system_pods = skip_nodes_with_system_pods - - -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.v2021_03_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters - :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.LicenseType - :param enable_csi_proxy: Whether to enable CSI proxy. - :type enable_csi_proxy: bool - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', 'type': 'str'}, - 'enable_csi_proxy': {'key': 'enableCSIProxy', 'type': 'bool'}, - } - - def __init__(self, *, admin_username: str, admin_password: str=None, license_type=None, enable_csi_proxy: bool=None, **kwargs) -> None: - super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password - self.license_type = license_type - self.enable_csi_proxy = enable_csi_proxy - - -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 OSOptionProfile(Model): - """The OS option 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: Id of the OS option profile. - :vartype id: str - :ivar name: Name of the OS option profile. - :vartype name: str - :ivar type: Type of the OS option profile. - :vartype type: str - :param os_option_property_list: Required. The list of OS option - properties. - :type os_option_property_list: - list[~azure.mgmt.containerservice.v2021_03_01.models.OSOptionProperty] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'os_option_property_list': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'os_option_property_list': {'key': 'properties.osOptionPropertyList', 'type': '[OSOptionProperty]'}, - } - - def __init__(self, *, os_option_property_list, **kwargs) -> None: - super(OSOptionProfile, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.os_option_property_list = os_option_property_list - - -class OSOptionProperty(Model): - """OS option property. - - All required parameters must be populated in order to send to Azure. - - :param os_type: Required. OS type. - :type os_type: str - :param enable_fips_image: Required. Whether FIPS image is enabled. - :type enable_fips_image: bool - """ - - _validation = { - 'os_type': {'required': True}, - 'enable_fips_image': {'required': True}, - } - - _attribute_map = { - 'os_type': {'key': 'os-type', 'type': 'str'}, - 'enable_fips_image': {'key': 'enable-fips-image', 'type': 'bool'}, - } - - def __init__(self, *, os_type: str, enable_fips_image: bool, **kwargs) -> None: - super(OSOptionProperty, self).__init__(**kwargs) - self.os_type = os_type - self.enable_fips_image = enable_fips_image - - -class PowerState(Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' - :type code: str or ~azure.mgmt.containerservice.v2021_03_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__(self, *, code=None, **kwargs) -> None: - super(PowerState, self).__init__(**kwargs) - self.code = code - - -class PrivateEndpoint(Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = id - - -class PrivateEndpointConnection(Model): - """A private endpoint 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: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2021_03_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_03_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.containerservice.v2021_03_01.models.PrivateLinkServiceConnectionState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - - -class PrivateEndpointConnectionListResult(Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_03_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkResource(Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: str=None, required_members=None, **kwargs) -> None: - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = id - self.name = name - self.type = type - self.group_id = group_id - self.required_members = required_members - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(Model): - """A list of private link resources. - - :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_03_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__(self, *, value=None, **kwargs) -> None: - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2021_03_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, status=None, description: str=None, **kwargs) -> None: - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - - -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 RunCommandRequest(Model): - """run command request. - - All required parameters must be populated in order to send to Azure. - - :param command: Required. command to run. - :type command: str - :param context: base64 encoded zip file, contains files required by the - command - :type context: str - :param cluster_token: AuthToken issued for AKS AAD Server App. - :type cluster_token: str - """ - - _validation = { - 'command': {'required': True}, - } - - _attribute_map = { - 'command': {'key': 'command', 'type': 'str'}, - 'context': {'key': 'context', 'type': 'str'}, - 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, - } - - def __init__(self, *, command: str, context: str=None, cluster_token: str=None, **kwargs) -> None: - super(RunCommandRequest, self).__init__(**kwargs) - self.command = command - self.context = context - self.cluster_token = cluster_token - - -class RunCommandResult(Model): - """run command result. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: command id. - :vartype id: str - :ivar provisioning_state: provisioning State - :vartype provisioning_state: str - :ivar exit_code: exit code of the command - :vartype exit_code: int - :ivar started_at: time when the command started. - :vartype started_at: datetime - :ivar finished_at: time when the command finished. - :vartype finished_at: datetime - :ivar logs: command output. - :vartype logs: str - :ivar reason: explain why provisioningState is set to failed (if so). - :vartype reason: str - """ - - _validation = { - 'id': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'exit_code': {'readonly': True}, - 'started_at': {'readonly': True}, - 'finished_at': {'readonly': True}, - 'logs': {'readonly': True}, - 'reason': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'exit_code': {'key': 'properties.exitCode', 'type': 'int'}, - 'started_at': {'key': 'properties.startedAt', 'type': 'iso-8601'}, - 'finished_at': {'key': 'properties.finishedAt', 'type': 'iso-8601'}, - 'logs': {'key': 'properties.logs', 'type': 'str'}, - 'reason': {'key': 'properties.reason', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(RunCommandResult, self).__init__(**kwargs) - self.id = None - self.provisioning_state = None - self.exit_code = None - self.started_at = None - self.finished_at = None - self.logs = None - self.reason = None - - -class SysctlConfig(Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_default: Sysctl setting net.core.rmem_default. - :type net_core_rmem_default: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_default: Sysctl setting net.core.wmem_default. - :type net_core_wmem_default: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: int=None, net_core_rmem_default: int=None, net_core_rmem_max: int=None, net_core_wmem_default: int=None, net_core_wmem_max: int=None, net_core_optmem_max: int=None, net_ipv4_tcp_max_syn_backlog: int=None, net_ipv4_tcp_max_tw_buckets: int=None, net_ipv4_tcp_fin_timeout: int=None, net_ipv4_tcp_keepalive_time: int=None, net_ipv4_tcp_keepalive_probes: int=None, net_ipv4_tcpkeepalive_intvl: int=None, net_ipv4_tcp_tw_reuse: bool=None, net_ipv4_ip_local_port_range: str=None, net_ipv4_neigh_default_gc_thresh1: int=None, net_ipv4_neigh_default_gc_thresh2: int=None, net_ipv4_neigh_default_gc_thresh3: int=None, net_netfilter_nf_conntrack_max: int=None, net_netfilter_nf_conntrack_buckets: int=None, fs_inotify_max_user_watches: int=None, fs_file_max: int=None, fs_aio_max_nr: int=None, fs_nr_open: int=None, kernel_threads_max: int=None, vm_max_map_count: int=None, vm_swappiness: int=None, vm_vfs_cache_pressure: int=None, **kwargs) -> None: - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = net_core_somaxconn - self.net_core_netdev_max_backlog = net_core_netdev_max_backlog - self.net_core_rmem_default = net_core_rmem_default - self.net_core_rmem_max = net_core_rmem_max - self.net_core_wmem_default = net_core_wmem_default - self.net_core_wmem_max = net_core_wmem_max - self.net_core_optmem_max = net_core_optmem_max - self.net_ipv4_tcp_max_syn_backlog = net_ipv4_tcp_max_syn_backlog - self.net_ipv4_tcp_max_tw_buckets = net_ipv4_tcp_max_tw_buckets - self.net_ipv4_tcp_fin_timeout = net_ipv4_tcp_fin_timeout - self.net_ipv4_tcp_keepalive_time = net_ipv4_tcp_keepalive_time - self.net_ipv4_tcp_keepalive_probes = net_ipv4_tcp_keepalive_probes - self.net_ipv4_tcpkeepalive_intvl = net_ipv4_tcpkeepalive_intvl - self.net_ipv4_tcp_tw_reuse = net_ipv4_tcp_tw_reuse - self.net_ipv4_ip_local_port_range = net_ipv4_ip_local_port_range - self.net_ipv4_neigh_default_gc_thresh1 = net_ipv4_neigh_default_gc_thresh1 - self.net_ipv4_neigh_default_gc_thresh2 = net_ipv4_neigh_default_gc_thresh2 - self.net_ipv4_neigh_default_gc_thresh3 = net_ipv4_neigh_default_gc_thresh3 - self.net_netfilter_nf_conntrack_max = net_netfilter_nf_conntrack_max - self.net_netfilter_nf_conntrack_buckets = net_netfilter_nf_conntrack_buckets - self.fs_inotify_max_user_watches = fs_inotify_max_user_watches - self.fs_file_max = fs_file_max - self.fs_aio_max_nr = fs_aio_max_nr - self.fs_nr_open = fs_nr_open - self.kernel_threads_max = kernel_threads_max - self.vm_max_map_count = vm_max_map_count - self.vm_swappiness = vm_swappiness - self.vm_vfs_cache_pressure = vm_vfs_cache_pressure - - -class SystemData(Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or - ~azure.mgmt.containerservice.v2021_03_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: - super(SystemData, self).__init__(**kwargs) - self.created_by = created_by - self.created_by_type = created_by_type - self.created_at = created_at - self.last_modified_by = last_modified_by - self.last_modified_by_type = last_modified_by_type - self.last_modified_at = last_modified_at - - -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 TimeInWeek(Model): - """Time in a week. - - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' - :type day: str or ~azure.mgmt.containerservice.v2021_03_01.models.WeekDay - :param hour_slots: hour slots in a day. - :type hour_slots: list[int] - """ - - _attribute_map = { - 'day': {'key': 'day', 'type': 'str'}, - 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, - } - - def __init__(self, *, day=None, hour_slots=None, **kwargs) -> None: - super(TimeInWeek, self).__init__(**kwargs) - self.day = day - self.hour_slots = hour_slots - - -class TimeSpan(Model): - """The time span with start and end properties. - - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime - """ - - _attribute_map = { - 'start': {'key': 'start', 'type': 'iso-8601'}, - 'end': {'key': 'end', 'type': 'iso-8601'}, - } - - def __init__(self, *, start=None, end=None, **kwargs) -> None: - super(TimeSpan, self).__init__(**kwargs) - self.start = start - self.end = end diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_paged_models.py deleted file mode 100644 index f923a1981eb..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/models/_paged_models.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 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 MaintenanceConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`MaintenanceConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[MaintenanceConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(MaintenanceConfigurationPaged, 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/v2021_03_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_agent_pools_operations.py deleted file mode 100644 index 968f00fc4cd..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,610 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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: "2021-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-03-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.v2021_03_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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'} - - - def _upgrade_node_image_version_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.upgrade_node_image_version.metadata['url'] - path_format_arguments = { - '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.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 == 202: - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def upgrade_node_image_version( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Upgrade node image version of an agent pool to the latest. - - Upgrade node image version of an agent pool to the latest. - - :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 AgentPool or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_03_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_03_01.models.AgentPool]] - :raises: :class:`CloudError` - """ - raw_result = self._upgrade_node_image_version_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): - 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) - upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_maintenance_configurations_operations.py deleted file mode 100644 index 48f470ac8a6..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_maintenance_configurations_operations.py +++ /dev/null @@ -1,387 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class MaintenanceConfigurationsOperations(object): - """MaintenanceConfigurationsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2021-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-03-01" - - self.config = config - - def list_by_managed_cluster( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of maintenance configurations in the specified managed - cluster. - - Gets a list of maintenance configurations in the specified managed - cluster. The operation returns properties of each maintenance - configuration. - - :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 MaintenanceConfiguration - :rtype: - ~azure.mgmt.containerservice.v2021_03_01.models.MaintenanceConfigurationPaged[~azure.mgmt.containerservice.v2021_03_01.models.MaintenanceConfiguration] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_managed_cluster.metadata['url'] - path_format_arguments = { - '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.MaintenanceConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} - - def get( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, **operation_config): - """Gets the maintenance configuration. - - Gets the details of maintenance configurations 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 config_name: The name of the maintenance configuration. - :type 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: MaintenanceConfiguration or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_03_01.models.MaintenanceConfiguration - 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]$'), - 'configName': self._serialize.url("config_name", 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('MaintenanceConfiguration', 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}/maintenanceConfigurations/{configName}'} - - - def _create_or_update_initial( - self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, **operation_config): - parameters = models.MaintenanceConfiguration(time_in_week=time_in_week, not_allowed_time=not_allowed_time) - - # 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]$'), - 'configName': self._serialize.url("config_name", 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, 'MaintenanceConfiguration') - - # Construct and send request - request = self._client.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('MaintenanceConfiguration', 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, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a maintenance configurations. - - Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. - :type config_name: str - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_03_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_03_01.models.TimeSpan] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - MaintenanceConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_03_01.models.MaintenanceConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_03_01.models.MaintenanceConfiguration]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=config_name, - time_in_week=time_in_week, - not_allowed_time=not_allowed_time, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('MaintenanceConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = 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}/maintenanceConfigurations/{configName}'} - - - def _delete_initial( - self, resource_group_name, resource_name, 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', 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]$'), - 'configName': self._serialize.url("config_name", 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, 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, config_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a maintenance configuration. - - Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. - :type 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:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_managed_clusters_operations.py deleted file mode 100644 index cf7bc5784f7..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1539 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import 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: "2021-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-03-01" - - self.config = config - - def get_os_options( - self, location, resource_type=None, custom_headers=None, raw=False, **operation_config): - """Gets supported OS options in the specified subscription. - - Gets supported OS options in the specified subscription. - - :param location: The name of a supported Azure region. - :type location: str - :param resource_type: resource type for which the OS options needs to - be returned - :type resource_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: OSOptionProfile or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_03_01.models.OSOptionProfile or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_os_options.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') - if resource_type is not None: - query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('OSOptionProfile', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} - - 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.v2021_03_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_03_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.v2021_03_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_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.v2021_03_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_03_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.v2021_03_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_03_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.v2021_03_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'} - - - def _stop_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - '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 stop( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Stop Managed Cluster. - - Stops a Running 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._stop_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) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} - - - def _start_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - '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 start( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Start Managed Cluster. - - Starts a Stopped 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._start_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) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} - - - def _run_command_initial( - self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.run_command.metadata['url'] - path_format_arguments = { - '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(request_payload, 'RunCommandRequest') - - # 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('RunCommandResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def run_command( - self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, polling=True, **operation_config): - """Run Command against Managed Kubernetes Service. - - Submit a command to run against managed kubernetes service, it will - create a pod to run the command. - - :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 request_payload: Parameters supplied to the RunCommand - operation. - :type request_payload: - ~azure.mgmt.containerservice.v2021_03_01.models.RunCommandRequest - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RunCommandResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_03_01.models.RunCommandResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_03_01.models.RunCommandResult]] - :raises: :class:`CloudError` - """ - raw_result = self._run_command_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - request_payload=request_payload, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('RunCommandResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} - - def get_command_result( - self, resource_group_name, resource_name, command_id, custom_headers=None, raw=False, **operation_config): - """Get command result. - - Get command result from previous runCommand invoke. - - :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 command_id: Id of the command request. - :type command_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: RunCommandResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_03_01.models.RunCommandResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get_command_result.metadata['url'] - path_format_arguments = { - '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]$'), - 'commandId': self._serialize.url("command_id", command_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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 - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('RunCommandResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_operations.py deleted file mode 100644 index e2784d91191..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_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: "2021-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-03-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.v2021_03_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2021_03_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/v2021_03_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index f219423e72f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,348 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -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: Client Api Version. Constant value: "2021-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-03-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private endpoint connections in the specified managed - cluster. - - Gets a list of private endpoint connections in the specified managed - cluster. The operation returns properties of each private endpoint - connection. - - :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: PrivateEndpointConnectionListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_03_01.models.PrivateEndpointConnectionListResult - 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'), - '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('PrivateEndpointConnectionListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} - - def get( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): - """Gets the private endpoint connection. - - Gets the details of the private endpoint connection 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 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.containerservice.v2021_03_01.models.PrivateEndpointConnection - 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - def update( - self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): - """Updates a private endpoint connection. - - Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. - :type private_endpoint_connection_name: str - :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.containerservice.v2021_03_01.models.PrivateLinkServiceConnectionState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_03_01.models.PrivateEndpoint - :param dict custom_headers: headers that will 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.containerservice.v2021_03_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) - - # 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', 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]$'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - - - def _delete_initial( - self, resource_group_name, resource_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'), - '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]$'), - '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') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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 - - def delete( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a private endpoint connection. - - Deletes the private endpoint connection 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 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 None or - ClientRawResponse 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, - private_endpoint_connection_name=private_endpoint_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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_private_link_resources_operations.py deleted file mode 100644 index e5e5dbfc1bb..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_private_link_resources_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 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: Client Api Version. Constant value: "2021-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-03-01" - - self.config = config - - def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private link resources in the specified managed cluster. - - Gets a list of private link resources in the specified managed cluster. - The operation returns properties of each private link resource. - - :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: PrivateLinkResourcesListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_03_01.models.PrivateLinkResourcesListResult - 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'), - '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('PrivateLinkResourcesListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_resolve_private_link_service_id_operations.py deleted file mode 100644 index 37503ef6ba1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/operations/_resolve_private_link_service_id_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 ResolvePrivateLinkServiceIdOperations(object): - """ResolvePrivateLinkServiceIdOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2021-03-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2021-03-01" - - self.config = config - - def post( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): - """Gets the private link service ID for the specified managed cluster. - - Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to - resolve a private link service ID. - :type parameters: - ~azure.mgmt.containerservice.v2021_03_01.models.PrivateLinkResource - :param dict custom_headers: headers that will 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.containerservice.v2021_03_01.models.PrivateLinkResource 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'), - '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, 'PrivateLinkResource') - - # 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('PrivateLinkResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/version.py deleted file mode 100644 index f25a2116ec1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_03_01/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 = "2021-03-01" - diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py old mode 100644 new mode 100755 index b7cb9d01cb1..eb3d7ba7a26 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py @@ -1,19 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ContainerServiceClientConfiguration from ._container_service_client import ContainerServiceClient -__all__ = ['ContainerServiceClient', 'ContainerServiceClientConfiguration'] - -from .version import VERSION - -__version__ = VERSION +__all__ = ['ContainerServiceClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py old mode 100644 new mode 100755 index e94fbc7005d..9a90721ebc2 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py @@ -1,50 +1,70 @@ # coding=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 azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. -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. + :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, 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) - 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.credential = credential self.subscription_id = subscription_id + self.api_version = "2021-05-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py old mode 100644 new mode 100755 index 19799dc92a8..c6f8ea5a9a8 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py @@ -1,16 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 azure.core.credentials import TokenCredential + from azure.core.pipeline.transport import HttpRequest, HttpResponse from ._configuration import ContainerServiceClientConfiguration from .operations import Operations @@ -23,59 +29,91 @@ from . import models -class ContainerServiceClient(SDKClient): +class ContainerServiceClient(object): """The Container Service Client. - :ivar config: Configuration for client. - :vartype config: ContainerServiceClientConfiguration - :ivar operations: Operations operations :vartype operations: azure.mgmt.containerservice.v2021_05_01.operations.Operations - :ivar managed_clusters: ManagedClusters operations + :ivar managed_clusters: ManagedClustersOperations operations :vartype managed_clusters: azure.mgmt.containerservice.v2021_05_01.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurations operations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations :vartype maintenance_configurations: azure.mgmt.containerservice.v2021_05_01.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPools operations + :ivar agent_pools: AgentPoolsOperations operations :vartype agent_pools: azure.mgmt.containerservice.v2021_05_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnections operations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations :vartype private_endpoint_connections: azure.mgmt.containerservice.v2021_05_01.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResources operations + :ivar private_link_resources: PrivateLinkResourcesOperations operations :vartype private_link_resources: azure.mgmt.containerservice.v2021_05_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceId operations + :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2021_05_01.operations.ResolvePrivateLinkServiceIdOperations - - :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. + :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 + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ 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) + 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 = ContainerServiceClientConfiguration(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 = '2021-05-01' self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.managed_clusters = ManagedClustersOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.maintenance_configurations = MaintenanceConfigurationsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.agent_pools = AgentPoolsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.private_endpoint_connections = PrivateEndpointConnectionsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.private_link_resources = PrivateLinkResourcesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> ContainerServiceClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/__init__.py old mode 100644 new mode 100755 similarity index 73% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/version.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/__init__.py index 391827c689e..4ad2bb20096 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2018_08_01_preview/version.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/__init__.py @@ -1,13 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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. # -------------------------------------------------------------------------- -VERSION = "2018-08-01-preview" - +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient'] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_configuration.py new file mode 100755 index 00000000000..de11b983ca1 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_configuration.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 Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class ContainerServiceClientConfiguration(Configuration): + """Configuration for ContainerServiceClient. + + 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-05-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_container_service_client.py new file mode 100755 index 00000000000..6134e940c07 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/_container_service_client.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, Optional, TYPE_CHECKING + +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +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 import ContainerServiceClientConfiguration +from .operations import Operations +from .operations import ManagedClustersOperations +from .operations import MaintenanceConfigurationsOperations +from .operations import AgentPoolsOperations +from .operations import PrivateEndpointConnectionsOperations +from .operations import PrivateLinkResourcesOperations +from .operations import ResolvePrivateLinkServiceIdOperations +from .. import models + + +class ContainerServiceClient(object): + """The Container Service Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2021_05_01.aio.operations.Operations + :ivar managed_clusters: ManagedClustersOperations operations + :vartype managed_clusters: azure.mgmt.containerservice.v2021_05_01.aio.operations.ManagedClustersOperations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations + :vartype maintenance_configurations: azure.mgmt.containerservice.v2021_05_01.aio.operations.MaintenanceConfigurationsOperations + :ivar agent_pools: AgentPoolsOperations operations + :vartype agent_pools: azure.mgmt.containerservice.v2021_05_01.aio.operations.AgentPoolsOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: azure.mgmt.containerservice.v2021_05_01.aio.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: azure.mgmt.containerservice.v2021_05_01.aio.operations.PrivateLinkResourcesOperations + :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations + :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2021_05_01.aio.operations.ResolvePrivateLinkServiceIdOperations + :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 + :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False + 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.maintenance_configurations = MaintenanceConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.agent_pools = AgentPoolsOperations( + 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "ContainerServiceClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/__init__.py old mode 100644 new mode 100755 similarity index 95% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/__init__.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/__init__.py index d7bfa3f00fe..3942e0ca6a0 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_02_01/operations/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/__init__.py @@ -1,12 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ._operations import Operations diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_agent_pools_operations.py new file mode 100755 index 00000000000..0509972712f --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_agent_pools_operations.py @@ -0,0 +1,689 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class AgentPoolsOperations: + """AgentPoolsOperations 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.containerservice.v2021_05_01.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, + resource_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.AgentPoolListResult"]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AgentPoolListResult', 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.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.AgentPool": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPool, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> "_models.AgentPool": + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'AgentPool') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> AsyncLROPoller["_models.AgentPool"]: + """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.v2021_05_01.models.AgentPool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either AgentPool or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + async def get_upgrade_profile( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.AgentPoolUpgradeProfile": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.get_upgrade_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPoolUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore + + async def get_available_agent_pool_versions( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.AgentPoolAvailableVersions": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolAvailableVersions, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolAvailableVersions + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('AgentPoolAvailableVersions', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore + + async def _upgrade_node_image_version_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> Optional["_models.AgentPool"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self._upgrade_node_image_version_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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 == 202: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + + async def begin_upgrade_node_image_version( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> AsyncLROPoller["_models.AgentPool"]: + """Upgrade node image version of an agent pool to the latest. + + Upgrade node image version of an agent pool to the latest. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._upgrade_node_image_version_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_maintenance_configurations_operations.py new file mode 100755 index 00000000000..b10621f7b93 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_maintenance_configurations_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MaintenanceConfigurationsOperations: + """MaintenanceConfigurationsOperations 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.containerservice.v2021_05_01.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_managed_cluster( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.MaintenanceConfigurationListResult"]: + """Gets a list of maintenance configurations in the specified managed cluster. + + Gets a list of maintenance configurations in the specified managed cluster. The operation + returns properties of each maintenance configuration. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfigurationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_managed_cluster.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MaintenanceConfigurationListResult', 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_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any + ) -> "_models.MaintenanceConfiguration": + """Gets the maintenance configuration. + + Gets the details of maintenance configurations 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 config_name: The name of the maintenance configuration. + :type config_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # 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'), + '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]$'), + 'configName': self._serialize.url("config_name", config_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('MaintenanceConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + parameters: "_models.MaintenanceConfiguration", + **kwargs: Any + ) -> "_models.MaintenanceConfiguration": + """Creates or updates a maintenance configurations. + + Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. + :type config_name: str + :param parameters: Parameters supplied to the Create or Update a default maintenance + configuration. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "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'), + '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]$'), + 'configName': self._serialize.url("config_name", config_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MaintenanceConfiguration') + 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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any + ) -> None: + """Deletes a maintenance configuration. + + Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. + :type config_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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # 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'), + '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]$'), + 'configName': self._serialize.url("config_name", config_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_managed_clusters_operations.py new file mode 100755 index 00000000000..4fc5b8a6549 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_managed_clusters_operations.py @@ -0,0 +1,1844 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ManagedClustersOperations: + """ManagedClustersOperations 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.containerservice.v2021_05_01.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_os_options( + self, + location: str, + resource_type: Optional[str] = None, + **kwargs: Any + ) -> "_models.OSOptionProfile": + """Gets supported OS options in the specified subscription. + + Gets supported OS options in the specified subscription. + + :param location: The name of a supported Azure region. + :type location: str + :param resource_type: resource type for which the OS options needs to be returned. + :type resource_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OSOptionProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OSOptionProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.get_os_options.metadata['url'] # type: ignore + 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') + if resource_type is not None: + query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('OSOptionProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} # type: ignore + + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ManagedClusterListResult"]: + """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. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ManagedClusterListResult"]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore + + async def get_upgrade_profile( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterUpgradeProfile": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.get_upgrade_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore + + async def get_access_profile( + self, + resource_group_name: str, + resource_name: str, + role_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterAccessProfile": + """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 + `_ or + `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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterAccessProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAccessProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.get_access_profile.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedClusterAccessProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore + + async def list_cluster_admin_credentials( + self, + resource_group_name: str, + resource_name: str, + server_fqdn: Optional[str] = None, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 server_fqdn: server fqdn type for credentials to be returned. + :type server_fqdn: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if server_fqdn is not None: + query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore + + async def list_cluster_user_credentials( + self, + resource_group_name: str, + resource_name: str, + server_fqdn: Optional[str] = None, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 server_fqdn: server fqdn type for credentials to be returned. + :type server_fqdn: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_user_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if server_fqdn is not None: + query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore + + async def list_cluster_monitoring_user_credentials( + self, + resource_group_name: str, + resource_name: str, + server_fqdn: Optional[str] = None, + **kwargs: Any + ) -> "_models.CredentialResults": + """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 server_fqdn: server fqdn type for credentials to be returned. + :type server_fqdn: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.list_cluster_monitoring_user_credentials.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if server_fqdn is not None: + query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedCluster": + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedCluster, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedCluster') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> AsyncLROPoller["_models.ManagedCluster"]: + """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.v2021_05_01.models.ManagedCluster + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _update_tags_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_tags_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'TagsObject') + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_update_tags( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> AsyncLROPoller["_models.ManagedCluster"]: + """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 parameters: Parameters supplied to the Update Managed Cluster Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + async def _reset_service_principal_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') + 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, {}) + + _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + async def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 parameters: Parameters supplied to the Reset Service Principal Profile operation for a + Managed Cluster. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterServicePrincipalProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + async def _reset_aad_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._reset_aad_profile_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ManagedClusterAADProfile') + 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, {}) + + _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + async def begin_reset_aad_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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.v2021_05_01.models.ManagedClusterAADProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + async def _rotate_cluster_certificates_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self._rotate_cluster_certificates_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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, 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, {}) + + _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + async def begin_rotate_cluster_certificates( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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, 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, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Stop Managed Cluster. + + Stops a Running 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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, 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, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Start Managed Cluster. + + Starts a Stopped 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + + async def _run_command_initial( + self, + resource_group_name: str, + resource_name: str, + request_payload: "_models.RunCommandRequest", + **kwargs: Any + ) -> Optional["_models.RunCommandResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._run_command_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(request_payload, 'RunCommandRequest') + 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) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('RunCommandResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _run_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + + async def begin_run_command( + self, + resource_group_name: str, + resource_name: str, + request_payload: "_models.RunCommandRequest", + **kwargs: Any + ) -> AsyncLROPoller["_models.RunCommandResult"]: + """Run Command against Managed Kubernetes Service. + + Submit a command to run against managed kubernetes service, it will create a pod to run the + command. + + :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 request_payload: Parameters supplied to the RunCommand operation. + :type request_payload: ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either RunCommandResult or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.RunCommandResult"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._run_command_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + request_payload=request_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('RunCommandResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + + async def get_command_result( + self, + resource_group_name: str, + resource_name: str, + command_id: str, + **kwargs: Any + ) -> Optional["_models.RunCommandResult"]: + """Get command result. + + Get command result from previous runCommand invoke. + + :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 command_id: Id of the command request. + :type command_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RunCommandResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self.get_command_result.metadata['url'] # type: ignore + path_format_arguments = { + '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]$'), + 'commandId': self._serialize.url("command_id", command_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'] = self._serialize.header("accept", accept, 'str') + + 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, 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('RunCommandResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} # type: ignore + + def list_outbound_network_dependencies_endpoints( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OutboundEnvironmentEndpointCollection"]: + """Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. + + Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + specified managed cluster. The operation returns properties of each egress endpoint. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OutboundEnvironmentEndpointCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpointCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OutboundEnvironmentEndpointCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_outbound_network_dependencies_endpoints.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OutboundEnvironmentEndpointCollection', 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_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_operations.py new file mode 100755 index 00000000000..5bb49c542c2 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations 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.containerservice.v2021_05_01.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: Any + ) -> AsyncIterable["_models.OperationListResult"]: + """Gets a list of compute operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + 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 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.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_endpoint_connections_operations.py new file mode 100755 index 00000000000..5881a84458d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,357 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateEndpointConnectionsOperations: + """PrivateEndpointConnectionsOperations 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.containerservice.v2021_05_01.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, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnectionListResult": + """Gets a list of private endpoint connections in the specified managed cluster. + + Gets a list of private endpoint connections in the specified managed cluster. The operation + returns properties of each private endpoint connection. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateEndpointConnectionListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Gets the private endpoint connection. + + Gets the details of the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # 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'), + '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]$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + parameters: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Updates a private endpoint connection. + + Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :param parameters: Parameters supplied to the Update a private endpoint connection operation. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "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'), + '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]$'), + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') + 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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + '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]$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a private endpoint connection. + + Deletes the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + '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]$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_link_resources_operations.py new file mode 100755 index 00000000000..dd9f79796f6 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_private_link_resources_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. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateLinkResourcesOperations: + """PrivateLinkResourcesOperations 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.containerservice.v2021_05_01.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, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.PrivateLinkResourcesListResult": + """Gets a list of private link resources in the specified managed cluster. + + Gets a list of private link resources in the specified managed cluster. The operation returns + properties of each private link resource. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResourcesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResourcesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + # 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'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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('PrivateLinkResourcesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_resolve_private_link_service_id_operations.py new file mode 100755 index 00000000000..930df4ecfc5 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/aio/operations/_resolve_private_link_service_id_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 Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ResolvePrivateLinkServiceIdOperations: + """ResolvePrivateLinkServiceIdOperations 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.containerservice.v2021_05_01.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 post( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.PrivateLinkResource", + **kwargs: Any + ) -> "_models.PrivateLinkResource": + """Gets the private link service ID for the specified managed cluster. + + Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to resolve a private link + service ID. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResource, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.post.metadata['url'] # type: ignore + path_format_arguments = { + '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'PrivateLinkResource') + 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('PrivateLinkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py old mode 100644 new mode 100755 index f8893541ba3..5ef1b816ad0 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py @@ -1,21 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 AgentPool from ._models_py3 import AgentPoolAvailableVersions from ._models_py3 import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem + from ._models_py3 import AgentPoolListResult from ._models_py3 import AgentPoolUpgradeProfile from ._models_py3 import AgentPoolUpgradeProfilePropertiesUpgradesItem from ._models_py3 import AgentPoolUpgradeSettings + from ._models_py3 import CloudError + from ._models_py3 import CloudErrorBody + from ._models_py3 import Components1Q1Og48SchemasManagedclusterAllof1 + from ._models_py3 import Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties + from ._models_py3 import ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties from ._models_py3 import ContainerServiceDiagnosticsProfile from ._models_py3 import ContainerServiceLinuxProfile from ._models_py3 import ContainerServiceMasterProfile @@ -31,18 +34,19 @@ from ._models_py3 import KubeletConfig from ._models_py3 import LinuxOSConfig from ._models_py3 import MaintenanceConfiguration + from ._models_py3 import MaintenanceConfigurationListResult from ._models_py3 import ManagedCluster from ._models_py3 import ManagedClusterAADProfile + from ._models_py3 import ManagedClusterAPIServerAccessProfile 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 ManagedClusterAutoUpgradeProfile from ._models_py3 import ManagedClusterHTTPProxyConfig from ._models_py3 import ManagedClusterIdentity - from ._models_py3 import ManagedClusterIdentityUserAssignedIdentitiesValue + from ._models_py3 import ManagedClusterListResult from ._models_py3 import ManagedClusterLoadBalancerProfile from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes @@ -54,15 +58,16 @@ 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 ManagedClusterServicePrincipalProfile from ._models_py3 import ManagedClusterUpgradeProfile from ._models_py3 import ManagedClusterWindowsProfile - from ._models_py3 import OperationValue from ._models_py3 import OSOptionProfile from ._models_py3 import OSOptionProperty + from ._models_py3 import OperationListResult + from ._models_py3 import OperationValue from ._models_py3 import OutboundEnvironmentEndpoint + from ._models_py3 import OutboundEnvironmentEndpointCollection from ._models_py3 import PowerState from ._models_py3 import PrivateEndpoint from ._models_py3 import PrivateEndpointConnection @@ -82,121 +87,132 @@ from ._models_py3 import TimeSpan 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 EndpointDependency - from ._models import EndpointDetail - from ._models import ExtendedLocation - from ._models import KubeletConfig - from ._models import LinuxOSConfig - from ._models import MaintenanceConfiguration - 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 ManagedClusterAutoUpgradeProfile - from ._models import ManagedClusterHTTPProxyConfig - from ._models import ManagedClusterIdentity - from ._models import ManagedClusterIdentityUserAssignedIdentitiesValue - from ._models import ManagedClusterLoadBalancerProfile - from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models import ManagedClusterPodIdentity - from ._models import ManagedClusterPodIdentityException - from ._models import ManagedClusterPodIdentityProfile - from ._models import ManagedClusterPodIdentityProvisioningInfo - 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 OSOptionProfile - from ._models import OSOptionProperty - from ._models import OutboundEnvironmentEndpoint - from ._models import PowerState - from ._models import PrivateEndpoint - from ._models import PrivateEndpointConnection - from ._models import PrivateEndpointConnectionListResult - from ._models import PrivateLinkResource - from ._models import PrivateLinkResourcesListResult - from ._models import PrivateLinkServiceConnectionState - from ._models import Resource - from ._models import ResourceReference - from ._models import RunCommandRequest - from ._models import RunCommandResult - from ._models import SubResource - from ._models import SysctlConfig - from ._models import SystemData - from ._models import TagsObject - from ._models import TimeInWeek - from ._models import TimeSpan - from ._models import UserAssignedIdentity -from ._paged_models import AgentPoolPaged -from ._paged_models import MaintenanceConfigurationPaged -from ._paged_models import ManagedClusterPaged -from ._paged_models import OperationValuePaged -from ._paged_models import OutboundEnvironmentEndpointPaged + from ._models import AgentPool # type: ignore + from ._models import AgentPoolAvailableVersions # type: ignore + from ._models import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem # type: ignore + from ._models import AgentPoolListResult # type: ignore + from ._models import AgentPoolUpgradeProfile # type: ignore + from ._models import AgentPoolUpgradeProfilePropertiesUpgradesItem # type: ignore + from ._models import AgentPoolUpgradeSettings # type: ignore + from ._models import CloudError # type: ignore + from ._models import CloudErrorBody # type: ignore + from ._models import Components1Q1Og48SchemasManagedclusterAllof1 # type: ignore + from ._models import Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties # type: ignore + from ._models import ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties # type: ignore + from ._models import ContainerServiceDiagnosticsProfile # type: ignore + from ._models import ContainerServiceLinuxProfile # type: ignore + from ._models import ContainerServiceMasterProfile # type: ignore + from ._models import ContainerServiceNetworkProfile # type: ignore + from ._models import ContainerServiceSshConfiguration # type: ignore + from ._models import ContainerServiceSshPublicKey # type: ignore + from ._models import ContainerServiceVMDiagnostics # type: ignore + from ._models import CredentialResult # type: ignore + from ._models import CredentialResults # type: ignore + from ._models import EndpointDependency # type: ignore + from ._models import EndpointDetail # type: ignore + from ._models import ExtendedLocation # type: ignore + from ._models import KubeletConfig # type: ignore + from ._models import LinuxOSConfig # type: ignore + from ._models import MaintenanceConfiguration # type: ignore + from ._models import MaintenanceConfigurationListResult # type: ignore + from ._models import ManagedCluster # type: ignore + from ._models import ManagedClusterAADProfile # type: ignore + from ._models import ManagedClusterAPIServerAccessProfile # type: ignore + from ._models import ManagedClusterAccessProfile # type: ignore + from ._models import ManagedClusterAddonProfile # type: ignore + from ._models import ManagedClusterAddonProfileIdentity # type: ignore + from ._models import ManagedClusterAgentPoolProfile # type: ignore + from ._models import ManagedClusterAgentPoolProfileProperties # type: ignore + from ._models import ManagedClusterAutoUpgradeProfile # type: ignore + from ._models import ManagedClusterHTTPProxyConfig # type: ignore + from ._models import ManagedClusterIdentity # type: ignore + from ._models import ManagedClusterListResult # type: ignore + from ._models import ManagedClusterLoadBalancerProfile # type: ignore + from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs # type: ignore + from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes # type: ignore + from ._models import ManagedClusterLoadBalancerProfileOutboundIPs # type: ignore + from ._models import ManagedClusterPodIdentity # type: ignore + from ._models import ManagedClusterPodIdentityException # type: ignore + from ._models import ManagedClusterPodIdentityProfile # type: ignore + from ._models import ManagedClusterPodIdentityProvisioningInfo # type: ignore + from ._models import ManagedClusterPoolUpgradeProfile # type: ignore + from ._models import ManagedClusterPoolUpgradeProfileUpgradesItem # type: ignore + from ._models import ManagedClusterPropertiesAutoScalerProfile # type: ignore + from ._models import ManagedClusterSKU # type: ignore + from ._models import ManagedClusterServicePrincipalProfile # type: ignore + from ._models import ManagedClusterUpgradeProfile # type: ignore + from ._models import ManagedClusterWindowsProfile # type: ignore + from ._models import OSOptionProfile # type: ignore + from ._models import OSOptionProperty # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OperationValue # type: ignore + from ._models import OutboundEnvironmentEndpoint # type: ignore + from ._models import OutboundEnvironmentEndpointCollection # type: ignore + from ._models import PowerState # type: ignore + from ._models import PrivateEndpoint # type: ignore + from ._models import PrivateEndpointConnection # type: ignore + from ._models import PrivateEndpointConnectionListResult # type: ignore + from ._models import PrivateLinkResource # type: ignore + from ._models import PrivateLinkResourcesListResult # type: ignore + from ._models import PrivateLinkServiceConnectionState # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceReference # type: ignore + from ._models import RunCommandRequest # type: ignore + from ._models import RunCommandResult # type: ignore + from ._models import SubResource # type: ignore + from ._models import SysctlConfig # type: ignore + from ._models import SystemData # type: ignore + from ._models import TagsObject # type: ignore + from ._models import TimeInWeek # type: ignore + from ._models import TimeSpan # type: ignore + from ._models import UserAssignedIdentity # type: ignore + from ._container_service_client_enums import ( - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - OSDiskType, - KubeletDiskType, - OSType, - OSSKU, - AgentPoolType, AgentPoolMode, + AgentPoolType, Code, - ScaleSetPriority, - ScaleSetEvictionPolicy, + ConnectionStatus, + ContainerServiceStorageProfileTypes, + ContainerServiceVMSizeTypes, + Count, + CreatedByType, + Expander, + ExtendedLocationTypes, GPUInstanceProfile, + KubeletDiskType, LicenseType, - NetworkPlugin, - NetworkPolicy, - NetworkMode, - OutboundType, LoadBalancerSku, - CreatedByType, - WeekDay, ManagedClusterPodIdentityProvisioningState, - UpgradeChannel, - Expander, - ResourceIdentityType, ManagedClusterSKUName, ManagedClusterSKUTier, - ExtendedLocationTypes, + NetworkMode, + NetworkPlugin, + NetworkPolicy, + OSDiskType, + OSSKU, + OSType, + OutboundType, PrivateEndpointConnectionProvisioningState, - ConnectionStatus, + ResourceIdentityType, + ScaleSetEvictionPolicy, + ScaleSetPriority, + UpgradeChannel, + WeekDay, ) __all__ = [ 'AgentPool', 'AgentPoolAvailableVersions', 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', + 'AgentPoolListResult', 'AgentPoolUpgradeProfile', 'AgentPoolUpgradeProfilePropertiesUpgradesItem', 'AgentPoolUpgradeSettings', + 'CloudError', + 'CloudErrorBody', + 'Components1Q1Og48SchemasManagedclusterAllof1', + 'Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties', + 'ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties', 'ContainerServiceDiagnosticsProfile', 'ContainerServiceLinuxProfile', 'ContainerServiceMasterProfile', @@ -212,18 +228,19 @@ 'KubeletConfig', 'LinuxOSConfig', 'MaintenanceConfiguration', + 'MaintenanceConfigurationListResult', 'ManagedCluster', 'ManagedClusterAADProfile', + 'ManagedClusterAPIServerAccessProfile', 'ManagedClusterAccessProfile', 'ManagedClusterAddonProfile', 'ManagedClusterAddonProfileIdentity', 'ManagedClusterAgentPoolProfile', 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAPIServerAccessProfile', 'ManagedClusterAutoUpgradeProfile', 'ManagedClusterHTTPProxyConfig', 'ManagedClusterIdentity', - 'ManagedClusterIdentityUserAssignedIdentitiesValue', + 'ManagedClusterListResult', 'ManagedClusterLoadBalancerProfile', 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', @@ -235,15 +252,16 @@ 'ManagedClusterPoolUpgradeProfile', 'ManagedClusterPoolUpgradeProfileUpgradesItem', 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterPropertiesIdentityProfileValue', - 'ManagedClusterServicePrincipalProfile', 'ManagedClusterSKU', + 'ManagedClusterServicePrincipalProfile', 'ManagedClusterUpgradeProfile', 'ManagedClusterWindowsProfile', - 'OperationValue', 'OSOptionProfile', 'OSOptionProperty', + 'OperationListResult', + 'OperationValue', 'OutboundEnvironmentEndpoint', + 'OutboundEnvironmentEndpointCollection', 'PowerState', 'PrivateEndpoint', 'PrivateEndpointConnection', @@ -262,38 +280,34 @@ 'TimeInWeek', 'TimeSpan', 'UserAssignedIdentity', - 'OperationValuePaged', - 'ManagedClusterPaged', - 'OutboundEnvironmentEndpointPaged', - 'MaintenanceConfigurationPaged', - 'AgentPoolPaged', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'OSDiskType', - 'KubeletDiskType', - 'OSType', - 'OSSKU', - 'AgentPoolType', 'AgentPoolMode', + 'AgentPoolType', 'Code', - 'ScaleSetPriority', - 'ScaleSetEvictionPolicy', + 'ConnectionStatus', + 'ContainerServiceStorageProfileTypes', + 'ContainerServiceVMSizeTypes', + 'Count', + 'CreatedByType', + 'Expander', + 'ExtendedLocationTypes', 'GPUInstanceProfile', + 'KubeletDiskType', 'LicenseType', - 'NetworkPlugin', - 'NetworkPolicy', - 'NetworkMode', - 'OutboundType', 'LoadBalancerSku', - 'CreatedByType', - 'WeekDay', 'ManagedClusterPodIdentityProvisioningState', - 'UpgradeChannel', - 'Expander', - 'ResourceIdentityType', 'ManagedClusterSKUName', 'ManagedClusterSKUTier', - 'ExtendedLocationTypes', + 'NetworkMode', + 'NetworkPlugin', + 'NetworkPolicy', + 'OSDiskType', + 'OSSKU', + 'OSType', + 'OutboundType', 'PrivateEndpointConnectionProvisioningState', - 'ConnectionStatus', + 'ResourceIdentityType', + 'ScaleSetEvictionPolicy', + 'ScaleSetPriority', + 'UpgradeChannel', + 'WeekDay', ] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py old mode 100644 new mode 100755 index 07d226f1f08..bdf1668dad1 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py @@ -1,378 +1,438 @@ # coding=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 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" +from enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AgentPoolMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """AgentPoolMode represents mode of an agent pool. + """ + + SYSTEM = "System" + USER = "User" + +class AgentPoolType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """AgentPoolType represents types of an agent pool. + """ + + VIRTUAL_MACHINE_SCALE_SETS = "VirtualMachineScaleSets" + AVAILABILITY_SET = "AvailabilitySet" + +class Code(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Tells whether the cluster is Running or Stopped + """ + + RUNNING = "Running" + STOPPED = "Stopped" + +class ConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The private link service connection status. + """ + + PENDING = "Pending" + APPROVED = "Approved" + REJECTED = "Rejected" + DISCONNECTED = "Disconnected" + +class ContainerServiceStorageProfileTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + + STORAGE_ACCOUNT = "StorageAccount" + MANAGED_DISKS = "ManagedDisks" + +class ContainerServiceVMSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Size of agent VMs. + """ + + 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_A2_M_V2 = "Standard_A2m_v2" + STANDARD_A3 = "Standard_A3" + STANDARD_A4 = "Standard_A4" + STANDARD_A4_V2 = "Standard_A4_v2" + STANDARD_A4_M_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_A8_M_V2 = "Standard_A8m_v2" + STANDARD_A9 = "Standard_A9" + STANDARD_B2_MS = "Standard_B2ms" + STANDARD_B2_S = "Standard_B2s" + STANDARD_B4_MS = "Standard_B4ms" + STANDARD_B8_MS = "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_D16_S_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_D2_S_V3 = "Standard_D2s_v3" + STANDARD_D3 = "Standard_D3" + STANDARD_D32_V3 = "Standard_D32_v3" + STANDARD_D32_S_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_D4_S_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_D64_S_V3 = "Standard_D64s_v3" + STANDARD_D8_V3 = "Standard_D8_v3" + STANDARD_D8_S_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_E16_S_V3 = "Standard_E16s_v3" + STANDARD_E2_V3 = "Standard_E2_v3" + STANDARD_E2_S_V3 = "Standard_E2s_v3" + STANDARD_E32_16_S_V3 = "Standard_E32-16s_v3" + STANDARD_E32_8_S_V3 = "Standard_E32-8s_v3" + STANDARD_E32_V3 = "Standard_E32_v3" + STANDARD_E32_S_V3 = "Standard_E32s_v3" + STANDARD_E4_V3 = "Standard_E4_v3" + STANDARD_E4_S_V3 = "Standard_E4s_v3" + STANDARD_E64_16_S_V3 = "Standard_E64-16s_v3" + STANDARD_E64_32_S_V3 = "Standard_E64-32s_v3" + STANDARD_E64_V3 = "Standard_E64_v3" + STANDARD_E64_S_V3 = "Standard_E64s_v3" + STANDARD_E8_V3 = "Standard_E8_v3" + STANDARD_E8_S_V3 = "Standard_E8s_v3" + STANDARD_F1 = "Standard_F1" + STANDARD_F16 = "Standard_F16" + STANDARD_F16_S = "Standard_F16s" + STANDARD_F16_S_V2 = "Standard_F16s_v2" + STANDARD_F1_S = "Standard_F1s" + STANDARD_F2 = "Standard_F2" + STANDARD_F2_S = "Standard_F2s" + STANDARD_F2_S_V2 = "Standard_F2s_v2" + STANDARD_F32_S_V2 = "Standard_F32s_v2" + STANDARD_F4 = "Standard_F4" + STANDARD_F4_S = "Standard_F4s" + STANDARD_F4_S_V2 = "Standard_F4s_v2" + STANDARD_F64_S_V2 = "Standard_F64s_v2" + STANDARD_F72_S_V2 = "Standard_F72s_v2" + STANDARD_F8 = "Standard_F8" + STANDARD_F8_S = "Standard_F8s" + STANDARD_F8_S_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_H16_M = "Standard_H16m" + STANDARD_H16_MR = "Standard_H16mr" + STANDARD_H16_R = "Standard_H16r" + STANDARD_H8 = "Standard_H8" + STANDARD_H8_M = "Standard_H8m" + STANDARD_L16_S = "Standard_L16s" + STANDARD_L32_S = "Standard_L32s" + STANDARD_L4_S = "Standard_L4s" + STANDARD_L8_S = "Standard_L8s" + STANDARD_M128_32_MS = "Standard_M128-32ms" + STANDARD_M128_64_MS = "Standard_M128-64ms" + STANDARD_M128_MS = "Standard_M128ms" + STANDARD_M128_S = "Standard_M128s" + STANDARD_M64_16_MS = "Standard_M64-16ms" + STANDARD_M64_32_MS = "Standard_M64-32ms" + STANDARD_M64_MS = "Standard_M64ms" + STANDARD_M64_S = "Standard_M64s" + STANDARD_NC12 = "Standard_NC12" + STANDARD_NC12_S_V2 = "Standard_NC12s_v2" + STANDARD_NC12_S_V3 = "Standard_NC12s_v3" + STANDARD_NC24 = "Standard_NC24" + STANDARD_NC24_R = "Standard_NC24r" + STANDARD_NC24_RS_V2 = "Standard_NC24rs_v2" + STANDARD_NC24_RS_V3 = "Standard_NC24rs_v3" + STANDARD_NC24_S_V2 = "Standard_NC24s_v2" + STANDARD_NC24_S_V3 = "Standard_NC24s_v3" + STANDARD_NC6 = "Standard_NC6" + STANDARD_NC6_S_V2 = "Standard_NC6s_v2" + STANDARD_NC6_S_V3 = "Standard_NC6s_v3" + STANDARD_ND12_S = "Standard_ND12s" + STANDARD_ND24_RS = "Standard_ND24rs" + STANDARD_ND24_S = "Standard_ND24s" + STANDARD_ND6_S = "Standard_ND6s" + STANDARD_NV12 = "Standard_NV12" + STANDARD_NV24 = "Standard_NV24" + STANDARD_NV6 = "Standard_NV6" + +class Count(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): + """Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The + default value is 1. + """ + + ONE = 1 + THREE = 3 + FIVE = 5 + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class Expander(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + LEAST_WASTE = "least-waste" + MOST_PODS = "most-pods" + PRIORITY = "priority" + RANDOM = "random" + +class ExtendedLocationTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of extendedLocation. + """ + + EDGE_ZONE = "EdgeZone" + +class GPUInstanceProfile(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. + """ + + MIG1_G = "MIG1g" + MIG2_G = "MIG2g" + MIG3_G = "MIG3g" + MIG4_G = "MIG4g" + MIG7_G = "MIG7g" + +class KubeletDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and + Kubelet ephemeral storage. Allowed values: 'OS', 'Temporary' (preview). + """ + + OS = "OS" + TEMPORARY = "Temporary" + +class LicenseType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User + Benefits for Windows VMs. + """ + + NONE = "None" + WINDOWS_SERVER = "Windows_Server" + +class LoadBalancerSku(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The load balancer sku for the managed cluster. + """ + + STANDARD = "standard" + BASIC = "basic" + +class ManagedClusterPodIdentityProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The current provisioning state of the pod identity. + """ + + ASSIGNED = "Assigned" + UPDATING = "Updating" + DELETING = "Deleting" + FAILED = "Failed" + +class ManagedClusterSKUName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Name of a managed cluster SKU. + """ + + BASIC = "Basic" + +class ManagedClusterSKUTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Tier of a managed cluster SKU. + """ + + PAID = "Paid" + FREE = "Free" + +class NetworkMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network mode used for building Kubernetes network. + """ + + TRANSPARENT = "transparent" + BRIDGE = "bridge" + +class NetworkPlugin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network plugin used for building Kubernetes network. + """ + + AZURE = "azure" + KUBENET = "kubenet" + +class NetworkPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Network policy used for building Kubernetes network. + """ + CALICO = "calico" + AZURE = "azure" -class OSDiskType(str, Enum): +class OSDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """OSDiskType represents the type of an OS disk on an agent pool. + """ - managed = "Managed" - ephemeral = "Ephemeral" + MANAGED = "Managed" + EPHEMERAL = "Ephemeral" +class OSSKU(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux + OSType. Not applicable to Windows OSType. + """ -class KubeletDiskType(str, Enum): + UBUNTU = "Ubuntu" + CBL_MARINER = "CBLMariner" - os = "OS" - temporary = "Temporary" +class OSType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + """ + LINUX = "Linux" + WINDOWS = "Windows" + +class OutboundType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The outbound (egress) routing method. + """ + + LOAD_BALANCER = "loadBalancer" + USER_DEFINED_ROUTING = "userDefinedRouting" + +class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The current provisioning state. + """ -class OSType(str, Enum): + SUCCEEDED = "Succeeded" + CREATING = "Creating" + DELETING = "Deleting" + FAILED = "Failed" - linux = "Linux" - windows = "Windows" +class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """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. + """ + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + NONE = "None" -class OSSKU(str, Enum): +class ScaleSetEvictionPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale + set. Default to Delete. + """ - ubuntu = "Ubuntu" - cbl_mariner = "CBLMariner" + DELETE = "Delete" + DEALLOCATE = "Deallocate" +class ScaleSetPriority(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. + """ -class AgentPoolType(str, Enum): + SPOT = "Spot" + REGULAR = "Regular" - virtual_machine_scale_sets = "VirtualMachineScaleSets" - availability_set = "AvailabilitySet" +class UpgradeChannel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """upgrade channel for auto upgrade. + """ - -class AgentPoolMode(str, Enum): - - system = "System" - user = "User" - - -class Code(str, Enum): - - running = "Running" - stopped = "Stopped" - - -class ScaleSetPriority(str, Enum): - - spot = "Spot" - regular = "Regular" - - -class ScaleSetEvictionPolicy(str, Enum): - - delete = "Delete" - deallocate = "Deallocate" - - -class GPUInstanceProfile(str, Enum): - - mig1g = "MIG1g" - mig2g = "MIG2g" - mig3g = "MIG3g" - mig4g = "MIG4g" - mig7g = "MIG7g" - - -class LicenseType(str, Enum): - - none = "None" - windows_server = "Windows_Server" - - -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 CreatedByType(str, Enum): - - user = "User" - application = "Application" - managed_identity = "ManagedIdentity" - key = "Key" - - -class WeekDay(str, Enum): - - sunday = "Sunday" - monday = "Monday" - tuesday = "Tuesday" - wednesday = "Wednesday" - thursday = "Thursday" - friday = "Friday" - saturday = "Saturday" - - -class ManagedClusterPodIdentityProvisioningState(str, Enum): - - assigned = "Assigned" - updating = "Updating" - deleting = "Deleting" - failed = "Failed" - - -class UpgradeChannel(str, Enum): - - rapid = "rapid" - stable = "stable" - patch = "patch" - node_image = "node-image" - none = "none" - - -class Expander(str, Enum): - - least_waste = "least-waste" - most_pods = "most-pods" - priority = "priority" - random = "random" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - user_assigned = "UserAssigned" - none = "None" - - -class ManagedClusterSKUName(str, Enum): - - basic = "Basic" - - -class ManagedClusterSKUTier(str, Enum): - - paid = "Paid" - free = "Free" - - -class ExtendedLocationTypes(str, Enum): - - edge_zone = "EdgeZone" - - -class PrivateEndpointConnectionProvisioningState(str, Enum): - - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - failed = "Failed" - - -class ConnectionStatus(str, Enum): - - pending = "Pending" - approved = "Approved" - rejected = "Rejected" - disconnected = "Disconnected" + RAPID = "rapid" + STABLE = "stable" + PATCH = "patch" + NODE_IMAGE = "node-image" + NONE = "none" + +class WeekDay(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The weekday enum. + """ + + SUNDAY = "Sunday" + MONDAY = "Monday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" + THURSDAY = "Thursday" + FRIDAY = "Friday" + SATURDAY = "Saturday" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py old mode 100644 new mode 100755 index fb6135bb98b..0df038e3e8e --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py @@ -1,30 +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 +import msrest.serialization -class SubResource(Model): +class SubResource(msrest.serialization.Model): """Reference to another subresource. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str """ @@ -40,7 +35,10 @@ class SubResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SubResource, self).__init__(**kwargs) self.id = None self.name = None @@ -50,139 +48,120 @@ def __init__(self, **kwargs): class AgentPool(SubResource): """Agent Pool. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 1000 (inclusive) for user pools and in - the range of 1 to 1000 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for + system pools. The default value is 1. :type count: int :param vm_size: Size of agent VMs. :type vm_size: str - :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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS", "Temporary". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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.v2021_05_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :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.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner + for Linux OSType. Not applicable to Windows OSType. Possible values include: "Ubuntu", + "CBLMariner". :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU - :param max_count: Maximum number of nodes for auto-scaling + :param max_count: Maximum number of nodes for auto-scaling. :type max_count: int - :param min_count: Minimum number of nodes for auto-scaling + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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 + :param type_properties_type: AgentPoolType represents types of an agent pool. Possible values + include: "VirtualMachineScaleSets", "AvailabilitySet". + :type type_properties_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param enable_node_public_ip: Enable public IP for nodes. :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs assigned from this + Public IP Prefix. :type node_public_ip_prefix_id: str - :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" . + :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.v2021_05_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" . + :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.v2021_05_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD + :param enable_ultra_ssd: Whether to enable UltraSSD. :type enable_ultra_ssd: bool - :param enable_fips: Whether to use FIPS enabled OS + :param enable_fips: Whether to use FIPS enabled OS. :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible + values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". :type gpu_instance_profile: str or ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile """ @@ -191,6 +170,7 @@ class AgentPool(SubResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -213,7 +193,7 @@ class AgentPool(SubResource): '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'}, + 'type_properties_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'}, @@ -238,7 +218,10 @@ class AgentPool(SubResource): 'gpu_instance_profile': {'key': 'properties.gpuInstanceProfile', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AgentPool, self).__init__(**kwargs) self.count = kwargs.get('count', None) self.vm_size = kwargs.get('vm_size', None) @@ -253,7 +236,7 @@ def __init__(self, **kwargs): 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.type_properties_type = kwargs.get('type_properties_type', None) self.mode = kwargs.get('mode', None) self.orchestrator_version = kwargs.get('orchestrator_version', None) self.node_image_version = None @@ -265,7 +248,7 @@ def __init__(self, **kwargs): self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', 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.spot_max_price = kwargs.get('spot_max_price', -1) self.tags = kwargs.get('tags', None) self.node_labels = kwargs.get('node_labels', None) self.node_taints = kwargs.get('node_taints', None) @@ -278,11 +261,10 @@ def __init__(self, **kwargs): self.gpu_instance_profile = kwargs.get('gpu_instance_profile', None) -class AgentPoolAvailableVersions(Model): +class AgentPoolAvailableVersions(msrest.serialization.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. + 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 @@ -308,7 +290,10 @@ class AgentPoolAvailableVersions(Model): 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AgentPoolAvailableVersions, self).__init__(**kwargs) self.id = None self.name = None @@ -316,7 +301,7 @@ def __init__(self, **kwargs): self.agent_pool_versions = kwargs.get('agent_pool_versions', None) -class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. :param default: Whether this version is the default agent pool version. @@ -333,18 +318,49 @@ class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, **kwargs): + 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): +class AgentPoolListResult(msrest.serialization.Model): + """The response from the List Agent Pools operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of agent pools. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] + :ivar next_link: The URL to get the next set of agent pool results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AgentPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AgentPoolListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class AgentPoolUpgradeProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -354,20 +370,16 @@ class AgentPoolUpgradeProfile(Model): :vartype name: str :ivar type: Type of the agent pool upgrade profile. :vartype type: str - :param kubernetes_version: Required. Kubernetes version (major, minor, - patch). + :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.v2021_05_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - :param latest_node_image_version: LatestNodeImageVersion is the latest AKS - supported node image version. + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS supported node image + version. :type latest_node_image_version: str """ @@ -389,18 +401,21 @@ class AgentPoolUpgradeProfile(Model): 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, } - def __init__(self, **kwargs): + 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.kubernetes_version = kwargs['kubernetes_version'] 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): +class AgentPoolUpgradeProfilePropertiesUpgradesItem(msrest.serialization.Model): """AgentPoolUpgradeProfilePropertiesUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -414,17 +429,20 @@ class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, **kwargs): + 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): +class AgentPoolUpgradeSettings(msrest.serialization.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 + :param max_surge: Count or percentage of additional nodes to be added during upgrade. If empty + uses AKS default. :type max_surge: str """ @@ -432,55 +450,47 @@ class AgentPoolUpgradeSettings(Model): 'max_surge': {'key': 'maxSurge', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AgentPoolUpgradeSettings, self).__init__(**kwargs) self.max_surge = kwargs.get('max_surge', None) -class CloudError(Model): +class CloudError(msrest.serialization.Model): """An error response from the Container service. :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody + :type error: ~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody """ _attribute_map = { 'error': {'key': 'error', 'type': 'CloudErrorBody'}, } - def __init__(self, **kwargs): + 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): +class CloudErrorBody(msrest.serialization.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. + :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. + :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. + :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.v2021_05_01.models.CloudErrorBody] + :type details: list[~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody] """ _attribute_map = { @@ -490,7 +500,10 @@ class CloudErrorBody(Model): 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CloudErrorBody, self).__init__(**kwargs) self.code = kwargs.get('code', None) self.message = kwargs.get('message', None) @@ -498,13 +511,255 @@ def __init__(self, **kwargs): self.details = kwargs.get('details', None) -class ContainerServiceDiagnosticsProfile(Model): +class Components1Q1Og48SchemasManagedclusterAllof1(msrest.serialization.Model): + """Components1Q1Og48SchemasManagedclusterAllof1. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param fqdn_subdomain: FQDN subdomain specified when creating private cluster with custom + private dns zone. + :type fqdn_subdomain: str + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + :ivar private_fqdn: FQDN of private cluster. + :vartype private_fqdn: str + :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy config. + :vartype azure_portal_fqdn: str + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2021_05_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.v2021_05_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAddonProfile] + :param pod_identity_profile: Profile of managed cluster pod identity. + :type pod_identity_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProfile + :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: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :param auto_upgrade_profile: Profile of auto upgrade configuration. + :type auto_upgrade_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAutoUpgradeProfile + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2021_05_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.v2021_05_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + :param private_link_resources: Private link resources associated with the cluster. + :type private_link_resources: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + :param disable_local_accounts: If set to true, getting static credential will be disabled for + this cluster. Expected to only be used for AAD clusters. + :type disable_local_accounts: bool + :param http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. + :type http_proxy_config: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterHTTPProxyConfig + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + 'azure_portal_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, + 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, + 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', '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}'}, + 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, + '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, + '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, + 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, + 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, + 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, + } + + def __init__( + self, + **kwargs + ): + super(Components1Q1Og48SchemasManagedclusterAllof1, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.provisioning_state = None + self.power_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_subdomain = kwargs.get('fqdn_subdomain', None) + self.fqdn = None + self.private_fqdn = None + self.azure_portal_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.pod_identity_profile = kwargs.get('pod_identity_profile', 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_upgrade_profile = kwargs.get('auto_upgrade_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.private_link_resources = kwargs.get('private_link_resources', None) + self.disable_local_accounts = kwargs.get('disable_local_accounts', None) + self.http_proxy_config = kwargs.get('http_proxy_config', None) + + +class Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties. + + 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(Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class UserAssignedIdentity(msrest.serialization.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 ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties(UserAssignedIdentity): + """ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties. + + :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(ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties, self).__init__(**kwargs) + + +class ContainerServiceDiagnosticsProfile(msrest.serialization.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. + :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. :type vm_diagnostics: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceVMDiagnostics """ @@ -517,23 +772,23 @@ class ContainerServiceDiagnosticsProfile(Model): 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) - self.vm_diagnostics = kwargs.get('vm_diagnostics', None) + self.vm_diagnostics = kwargs['vm_diagnostics'] -class ContainerServiceLinuxProfile(Model): +class ContainerServiceLinuxProfile(msrest.serialization.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. + :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.v2021_05_01.models.ContainerServiceSshConfiguration + :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. + :type ssh: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceSshConfiguration """ _validation = { @@ -546,93 +801,79 @@ class ContainerServiceLinuxProfile(Model): 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceLinuxProfile, self).__init__(**kwargs) - self.admin_username = kwargs.get('admin_username', None) - self.ssh = kwargs.get('ssh', None) + self.admin_username = kwargs['admin_username'] + self.ssh = kwargs['ssh'] -class ContainerServiceMasterProfile(Model): +class ContainerServiceMasterProfile(msrest.serialization.Model): """Profile for the container service master. - 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. - :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. + :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, + 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2021_05_01.models.Count + :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' + :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.v2021_05_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. + :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. + :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" . + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static + ip of masters. :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' + :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.v2021_05_01.models.ContainerServiceStorageProfileTypes :ivar fqdn: FQDN for the master pool. @@ -642,6 +883,7 @@ class ContainerServiceMasterProfile(Model): _validation = { 'dns_prefix': {'required': True}, 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'fqdn': {'readonly': True}, } @@ -656,11 +898,14 @@ class ContainerServiceMasterProfile(Model): 'fqdn': {'key': 'fqdn', 'type': 'str'}, } - def __init__(self, **kwargs): + 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.count = kwargs.get('count', "1") + self.dns_prefix = kwargs['dns_prefix'] + self.vm_size = kwargs['vm_size'] 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") @@ -668,46 +913,35 @@ def __init__(self, **kwargs): self.fqdn = None -class ContainerServiceNetworkProfile(Model): +class ContainerServiceNetworkProfile(msrest.serialization.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.v2021_05_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.v2021_05_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.v2021_05_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" . + :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.v2021_05_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.v2021_05_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.v2021_05_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. :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" . + :param service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must + not overlap with any Subnet IP ranges. :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" . + :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. :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" . + :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. :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.v2021_05_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.v2021_05_01.models.LoadBalancerSku + :param outbound_type: The outbound (egress) routing method. Possible values include: + "loadBalancer", "userDefinedRouting". Default value: "loadBalancer". + :type outbound_type: str or ~azure.mgmt.containerservice.v2021_05_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.v2021_05_01.models.LoadBalancerSku :param load_balancer_profile: Profile of the cluster load balancer. :type load_balancer_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfile @@ -733,7 +967,10 @@ class ContainerServiceNetworkProfile(Model): 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, } - def __init__(self, **kwargs): + 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) @@ -747,13 +984,13 @@ def __init__(self, **kwargs): self.load_balancer_profile = kwargs.get('load_balancer_profile', None) -class ContainerServiceSshConfiguration(Model): +class ContainerServiceSshConfiguration(msrest.serialization.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. + :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.v2021_05_01.models.ContainerServiceSshPublicKey] """ @@ -766,19 +1003,21 @@ class ContainerServiceSshConfiguration(Model): 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceSshConfiguration, self).__init__(**kwargs) - self.public_keys = kwargs.get('public_keys', None) + self.public_keys = kwargs['public_keys'] -class ContainerServiceSshPublicKey(Model): +class ContainerServiceSshPublicKey(msrest.serialization.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. + :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 """ @@ -790,24 +1029,24 @@ class ContainerServiceSshPublicKey(Model): 'key_data': {'key': 'keyData', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceSshPublicKey, self).__init__(**kwargs) - self.key_data = kwargs.get('key_data', None) + self.key_data = kwargs['key_data'] -class ContainerServiceVMDiagnostics(Model): +class ContainerServiceVMDiagnostics(msrest.serialization.Model): """Profile for diagnostics on the container service VMs. - 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. - :param enabled: Required. Whether the VM diagnostic agent is provisioned - on the VM. + :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. + :ivar storage_uri: The URI of the storage account where diagnostics are stored. :vartype storage_uri: str """ @@ -821,17 +1060,19 @@ class ContainerServiceVMDiagnostics(Model): 'storage_uri': {'key': 'storageUri', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) + self.enabled = kwargs['enabled'] self.storage_uri = None -class CredentialResult(Model): +class CredentialResult(msrest.serialization.Model): """The credential result response. - 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 credential. :vartype name: str @@ -849,21 +1090,22 @@ class CredentialResult(Model): 'value': {'key': 'value', 'type': 'bytearray'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CredentialResult, self).__init__(**kwargs) self.name = None self.value = None -class CredentialResults(Model): +class CredentialResults(msrest.serialization.Model): """The list of credential result response. - 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 kubeconfigs: Base64-encoded Kubernetes configuration file. - :vartype kubeconfigs: - list[~azure.mgmt.containerservice.v2021_05_01.models.CredentialResult] + :vartype kubeconfigs: list[~azure.mgmt.containerservice.v2021_05_01.models.CredentialResult] """ _validation = { @@ -874,20 +1116,21 @@ class CredentialResults(Model): 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CredentialResults, self).__init__(**kwargs) self.kubeconfigs = None -class EndpointDependency(Model): +class EndpointDependency(msrest.serialization.Model): """A domain name that AKS agent nodes are reaching at. :param domain_name: The domain name of the dependency. :type domain_name: str - :param endpoint_details: The Ports and Protocols used when connecting to - domainName. - :type endpoint_details: - list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDetail] + :param endpoint_details: The Ports and Protocols used when connecting to domainName. + :type endpoint_details: list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDetail] """ _attribute_map = { @@ -895,22 +1138,25 @@ class EndpointDependency(Model): 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(EndpointDependency, self).__init__(**kwargs) self.domain_name = kwargs.get('domain_name', None) self.endpoint_details = kwargs.get('endpoint_details', None) -class EndpointDetail(Model): +class EndpointDetail(msrest.serialization.Model): """connect information from the AKS agent nodes to a single endpoint. :param ip_address: An IP Address that Domain Name currently resolves to. :type ip_address: str :param port: The port an endpoint is connected to. :type port: int - :param protocol: The protocol used for connection + :param protocol: The protocol used for connection. :type protocol: str - :param description: Description of the detail + :param description: Description of the detail. :type description: str """ @@ -921,7 +1167,10 @@ class EndpointDetail(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(EndpointDetail, self).__init__(**kwargs) self.ip_address = kwargs.get('ip_address', None) self.port = kwargs.get('port', None) @@ -929,15 +1178,13 @@ def __init__(self, **kwargs): self.description = kwargs.get('description', None) -class ExtendedLocation(Model): +class ExtendedLocation(msrest.serialization.Model): """The complex type of the extended location. :param name: The name of the extended location. :type name: str - :param type: The type of the extended location. Possible values include: - 'EdgeZone' - :type type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocationTypes + :param type: The type of the extended location. Possible values include: "EdgeZone". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocationTypes """ _attribute_map = { @@ -945,41 +1192,43 @@ class ExtendedLocation(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ExtendedLocation, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.type = kwargs.get('type', None) -class KubeletConfig(Model): +class KubeletConfig(msrest.serialization.Model): """Kubelet configurations of agent nodes. :param cpu_manager_policy: CPU Manager policy to use. :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. + :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that specify CPU limits. :type cpu_cfs_quota: bool :param cpu_cfs_quota_period: Sets CPU CFS quota period value. :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. + :param image_gc_high_threshold: The percent of disk usage after which image garbage collection + is always run. :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. + :param image_gc_low_threshold: The percent of disk usage before which image garbage collection + is never run. :type image_gc_low_threshold: int :param topology_manager_policy: Topology Manager policy to use. :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). + :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in + ``*``\ ). :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. + :param fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled + on the node. :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. + :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it + is rotated. :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. + :param container_log_max_files: The maximum number of container log files that can be present + for a container. The number must be ≥ 2. :type container_log_max_files: int :param pod_max_pids: The maximum number of processes per pod. :type pod_max_pids: int @@ -1003,7 +1252,10 @@ class KubeletConfig(Model): 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(KubeletConfig, self).__init__(**kwargs) self.cpu_manager_policy = kwargs.get('cpu_manager_policy', None) self.cpu_cfs_quota = kwargs.get('cpu_cfs_quota', None) @@ -1018,20 +1270,17 @@ def __init__(self, **kwargs): self.pod_max_pids = kwargs.get('pod_max_pids', None) -class LinuxOSConfig(Model): +class LinuxOSConfig(msrest.serialization.Model): """OS configurations of Linux agent nodes. :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2021_05_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. + :type sysctls: ~azure.mgmt.containerservice.v2021_05_01.models.SysctlConfig + :param transparent_huge_page_enabled: Transparent Huge Page enabled configuration. :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. + :param transparent_huge_page_defrag: Transparent Huge Page defrag configuration. :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. + :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap file will be created on + each node. :type swap_file_size_mb: int """ @@ -1042,7 +1291,10 @@ class LinuxOSConfig(Model): 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(LinuxOSConfig, self).__init__(**kwargs) self.sysctls = kwargs.get('sysctls', None) self.transparent_huge_page_enabled = kwargs.get('transparent_huge_page_enabled', None) @@ -1053,25 +1305,21 @@ def __init__(self, **kwargs): class MaintenanceConfiguration(SubResource): """maintenance configuration. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2021_05_01.models.SystemData + :vartype system_data: ~azure.mgmt.containerservice.v2021_05_01.models.SystemData :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] + :type time_in_week: list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] + :type not_allowed_time: list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] """ _validation = { @@ -1090,30 +1338,61 @@ class MaintenanceConfiguration(SubResource): 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MaintenanceConfiguration, self).__init__(**kwargs) self.system_data = None self.time_in_week = kwargs.get('time_in_week', None) self.not_allowed_time = kwargs.get('not_allowed_time', None) -class Resource(Model): +class MaintenanceConfigurationListResult(msrest.serialization.Model): + """The response from the List maintenance configurations operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of maintenance configurations. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration] + :ivar next_link: The URL to get the next set of maintenance configuration results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MaintenanceConfigurationListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class Resource(msrest.serialization.Model): """The Resource model definition. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -1132,70 +1411,58 @@ class Resource(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + 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.location = kwargs['location'] self.tags = kwargs.get('tags', None) -class ManagedCluster(Resource): +class ManagedCluster(Resource, Components1Q1Og48SchemasManagedclusterAllof1): """Managed cluster. - 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. - :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. + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :ivar max_agent_pools: The max number of agent pools for the managed - cluster. + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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. + :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 - :param fqdn_subdomain: FQDN subdomain specified when creating private - cluster with custom private dns zone. + :param fqdn_subdomain: FQDN subdomain specified when creating private cluster with custom + private dns zone. :type fqdn_subdomain: str :ivar fqdn: FQDN for the master pool. :vartype fqdn: str :ivar private_fqdn: FQDN of private cluster. :vartype private_fqdn: str - :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy - config. + :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy config. :vartype azure_portal_fqdn: str :param agent_pool_profiles: Properties of the agent pool. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. + :param linux_profile: Profile for Linux VMs in the container service cluster. :type linux_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. + :param windows_profile: Profile for Windows VMs in the container service cluster. :type windows_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterWindowsProfile - :param service_principal_profile: Information about a service principal - identity for the cluster to use for manipulating Azure APIs. + :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.v2021_05_01.models.ManagedClusterServicePrincipalProfile :param addon_profiles: Profile of managed cluster add-on. @@ -1204,81 +1471,74 @@ class ManagedCluster(Resource): :param pod_identity_profile: Profile of managed cluster pod identity. :type pod_identity_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProfile - :param node_resource_group: Name of the resource group containing agent - pool nodes. + :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. + :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. :type enable_rbac: bool - :param enable_pod_security_policy: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. + :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. :type enable_pod_security_policy: bool :param network_profile: Profile of network configuration. :type network_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceNetworkProfile :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :type aad_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile :param auto_upgrade_profile: Profile of auto upgrade configuration. :type auto_upgrade_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. :type auto_scaler_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. + :param api_server_access_profile: Access profile for managed cluster API server. :type api_server_access_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAPIServerAccessProfile - :param disk_encryption_set_id: ResourceId of the disk encryption set to - use for enabling encryption at rest. + :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.v2021_05_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param private_link_resources: Private link resources associated with the - cluster. + ~azure.mgmt.containerservice.v2021_05_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + :param private_link_resources: Private link resources associated with the cluster. :type private_link_resources: list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] - :param disable_local_accounts: If set to true, getting static credential - will be disabled for this cluster. Expected to only be used for AAD - clusters. + :param disable_local_accounts: If set to true, getting static credential will be disabled for + this cluster. Expected to only be used for AAD clusters. :type disable_local_accounts: bool - :param http_proxy_config: Configurations for provisioning the cluster with - HTTP proxy servers. + :param http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. :type http_proxy_config: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterHTTPProxyConfig - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :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 sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKU + :type sku: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKU :param extended_location: The extended location of the Virtual Machine. - :type extended_location: - ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocation + :type extended_location: ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocation """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, 'max_agent_pools': {'readonly': True}, 'fqdn': {'readonly': True}, 'private_fqdn': {'readonly': True}, 'azure_portal_fqdn': {'readonly': True}, + '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}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, @@ -1303,17 +1563,25 @@ class ManagedCluster(Resource): '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_profile': {'key': 'properties.identityProfile', 'type': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'id': {'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': 'ManagedClusterSKU'}, 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedCluster, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) self.provisioning_state = None self.power_state = None self.max_agent_pools = None @@ -1342,48 +1610,55 @@ def __init__(self, **kwargs): self.private_link_resources = kwargs.get('private_link_resources', None) self.disable_local_accounts = kwargs.get('disable_local_accounts', None) self.http_proxy_config = kwargs.get('http_proxy_config', None) - self.identity = kwargs.get('identity', None) + self.sku = kwargs.get('sku', None) + self.extended_location = kwargs.get('extended_location', None) + self.id = None + self.name = None + self.type = None + self.location = kwargs['location'] + self.tags = kwargs.get('tags', None) self.sku = kwargs.get('sku', None) self.extended_location = kwargs.get('extended_location', None) -class ManagedClusterAADProfile(Model): +class ManagedClusterAADProfile(msrest.serialization.Model): """AADProfile specifies attributes for Azure Active Directory integration. :param managed: Whether to enable managed AAD. :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. + :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. :type enable_azure_rbac: 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 admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. + :type admin_group_object_i_ds: 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. + :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'}, 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, - 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'admin_group_object_i_ds': {'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): + def __init__( + self, + **kwargs + ): super(ManagedClusterAADProfile, self).__init__(**kwargs) self.managed = kwargs.get('managed', None) self.enable_azure_rbac = kwargs.get('enable_azure_rbac', None) - self.admin_group_object_ids = kwargs.get('admin_group_object_ids', None) + self.admin_group_object_i_ds = kwargs.get('admin_group_object_i_ds', 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) @@ -1393,20 +1668,19 @@ def __init__(self, **kwargs): class ManagedClusterAccessProfile(Resource): """Managed cluster Access Profile. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] :param kube_config: Base64-encoded Kubernetes configuration file. :type kube_config: bytearray @@ -1428,16 +1702,18 @@ class ManagedClusterAccessProfile(Resource): 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAccessProfile, self).__init__(**kwargs) self.kube_config = kwargs.get('kube_config', None) -class ManagedClusterAddonProfile(Model): +class ManagedClusterAddonProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -1461,37 +1737,16 @@ class ManagedClusterAddonProfile(Model): 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) + self.enabled = kwargs['enabled'] 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. @@ -1509,144 +1764,128 @@ class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): 'object_id': {'key': 'objectId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAddonProfileIdentity, self).__init__(**kwargs) -class ManagedClusterAgentPoolProfileProperties(Model): +class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): """Properties for the container service agent pool profile. - 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 count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 1000 (inclusive) for user pools and in - the range of 1 to 1000 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for + system pools. The default value is 1. :type count: int :param vm_size: Size of agent VMs. :type vm_size: str - :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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS", "Temporary". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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.v2021_05_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :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.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner + for Linux OSType. Not applicable to Windows OSType. Possible values include: "Ubuntu", + "CBLMariner". :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU - :param max_count: Maximum number of nodes for auto-scaling + :param max_count: Maximum number of nodes for auto-scaling. :type max_count: int - :param min_count: Minimum number of nodes for auto-scaling + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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.v2021_05_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param enable_node_public_ip: Enable public IP for nodes. :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs assigned from this + Public IP Prefix. :type node_public_ip_prefix_id: str - :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" . + :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.v2021_05_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" . + :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.v2021_05_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD + :param enable_ultra_ssd: Whether to enable UltraSSD. :type enable_ultra_ssd: bool - :param enable_fips: Whether to use FIPS enabled OS + :param enable_fips: Whether to use FIPS enabled OS. :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible + values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". :type gpu_instance_profile: str or ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile """ _validation = { + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1691,7 +1930,10 @@ class ManagedClusterAgentPoolProfileProperties(Model): 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) self.count = kwargs.get('count', None) self.vm_size = kwargs.get('vm_size', None) @@ -1718,7 +1960,7 @@ def __init__(self, **kwargs): self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', 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.spot_max_price = kwargs.get('spot_max_price', -1) self.tags = kwargs.get('tags', None) self.node_labels = kwargs.get('node_labels', None) self.node_taints = kwargs.get('node_taints', None) @@ -1734,142 +1976,123 @@ def __init__(self, **kwargs): 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. + Variables are only 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 agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 1000 (inclusive) for user pools and in - the range of 1 to 1000 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for + system pools. The default value is 1. :type count: int :param vm_size: Size of agent VMs. :type vm_size: str - :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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS", "Temporary". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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.v2021_05_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :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.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner + for Linux OSType. Not applicable to Windows OSType. Possible values include: "Ubuntu", + "CBLMariner". :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU - :param max_count: Maximum number of nodes for auto-scaling + :param max_count: Maximum number of nodes for auto-scaling. :type max_count: int - :param min_count: Minimum number of nodes for auto-scaling + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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.v2021_05_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param enable_node_public_ip: Enable public IP for nodes. :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs assigned from this + Public IP Prefix. :type node_public_ip_prefix_id: str - :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" . + :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.v2021_05_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" . + :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.v2021_05_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD + :param enable_ultra_ssd: Whether to enable UltraSSD. :type enable_ultra_ssd: bool - :param enable_fips: Whether to use FIPS enabled OS + :param enable_fips: Whether to use FIPS enabled OS. :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible + values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". :type gpu_instance_profile: str or ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. + :param name: Required. Unique name of the agent pool profile in the context of the subscription + and resource group. :type name: str """ _validation = { + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1916,24 +2139,25 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs.get('name', None) + self.name = kwargs['name'] -class ManagedClusterAPIServerAccessProfile(Model): +class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): """Access profile for managed cluster API server. - :param authorized_ip_ranges: Authorized IP Ranges to kubernetes 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. + :param enable_private_cluster: Whether to create the cluster as a private cluster or not. :type enable_private_cluster: bool :param private_dns_zone: Private dns zone mode for private cluster. :type private_dns_zone: str - :param enable_private_cluster_public_fqdn: Whether to create additional - public FQDN for private cluster or not. + :param enable_private_cluster_public_fqdn: Whether to create additional public FQDN for private + cluster or not. :type enable_private_cluster_public_fqdn: bool """ @@ -1944,7 +2168,10 @@ class ManagedClusterAPIServerAccessProfile(Model): 'enable_private_cluster_public_fqdn': {'key': 'enablePrivateClusterPublicFQDN', 'type': 'bool'}, } - def __init__(self, **kwargs): + 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) @@ -1952,25 +2179,27 @@ def __init__(self, **kwargs): self.enable_private_cluster_public_fqdn = kwargs.get('enable_private_cluster_public_fqdn', None) -class ManagedClusterAutoUpgradeProfile(Model): +class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): """Auto upgrade profile for a managed cluster. - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'node-image', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2021_05_01.models.UpgradeChannel + :param upgrade_channel: upgrade channel for auto upgrade. Possible values include: "rapid", + "stable", "patch", "node-image", "none". + :type upgrade_channel: str or ~azure.mgmt.containerservice.v2021_05_01.models.UpgradeChannel """ _attribute_map = { 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) self.upgrade_channel = kwargs.get('upgrade_channel', None) -class ManagedClusterHTTPProxyConfig(Model): +class ManagedClusterHTTPProxyConfig(msrest.serialization.Model): """Configurations for provisioning the cluster with HTTP proxy servers. :param http_proxy: HTTP proxy server endpoint to use. @@ -1979,8 +2208,7 @@ class ManagedClusterHTTPProxyConfig(Model): :type https_proxy: str :param no_proxy: Endpoints that should not go through proxy. :type no_proxy: list[str] - :param trusted_ca: Alternative CA cert to use for connecting to proxy - servers. + :param trusted_ca: Alternative CA cert to use for connecting to proxy servers. :type trusted_ca: str """ @@ -1991,7 +2219,10 @@ class ManagedClusterHTTPProxyConfig(Model): 'trusted_ca': {'key': 'trustedCa', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterHTTPProxyConfig, self).__init__(**kwargs) self.http_proxy = kwargs.get('http_proxy', None) self.https_proxy = kwargs.get('https_proxy', None) @@ -1999,33 +2230,29 @@ def __init__(self, **kwargs): self.trusted_ca = kwargs.get('trusted_ca', None) -class ManagedClusterIdentity(Model): +class ManagedClusterIdentity(msrest.serialization.Model): """Identity for the managed cluster. - 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 principal_id: The principal id of the system assigned identity which - is used by master components. + :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. + :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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. The user identity dictionary key - references will be ARM resource ids in the form: + :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", + "UserAssigned", "None". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.ResourceIdentityType + :param user_assigned_identities: The user identity associated with the managed cluster. This + identity will be used in control plane and only one user assigned identity is allowed. 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.containerservice.v2021_05_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] + ~azure.mgmt.containerservice.v2021_05_01.models.Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties] """ _validation = { @@ -2036,11 +2263,14 @@ class ManagedClusterIdentity(Model): _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -2048,61 +2278,58 @@ def __init__(self, **kwargs): self.user_assigned_identities = kwargs.get('user_assigned_identities', None) -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. +class ManagedClusterListResult(msrest.serialization.Model): + """The response from the List Managed Clusters 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 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 + :param value: The list of managed clusters. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :ivar next_link: The URL to get the next set of managed cluster results. + :vartype next_link: str """ _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, + 'next_link': {'readonly': True}, } _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ManagedCluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None + def __init__( + self, + **kwargs + ): + super(ManagedClusterListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None -class ManagedClusterLoadBalancerProfile(Model): +class ManagedClusterLoadBalancerProfile(msrest.serialization.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: + :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. + :type managed_outbound_i_ps: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load + balancer. :type outbound_ip_prefixes: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: + :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. + :type outbound_i_ps: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_ips: The effective outbound IP resources of the - cluster load balancer. - :type effective_outbound_ips: + :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load + balancer. + :type effective_outbound_i_ps: list[~azure.mgmt.containerservice.v2021_05_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 . + :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. :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 . + :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. :type idle_timeout_in_minutes: int """ @@ -2112,30 +2339,32 @@ class ManagedClusterLoadBalancerProfile(Model): } _attribute_map = { - 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) - self.managed_outbound_ips = kwargs.get('managed_outbound_ips', None) + self.managed_outbound_i_ps = kwargs.get('managed_outbound_i_ps', 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.outbound_i_ps = kwargs.get('outbound_i_ps', None) + self.effective_outbound_i_ps = kwargs.get('effective_outbound_i_ps', 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): +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.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 . + :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. :type count: int """ @@ -2147,12 +2376,15 @@ class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): 'count': {'key': 'count', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) self.count = kwargs.get('count', 1) -class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): """Desired outbound IP Prefix resources for the cluster load balancer. :param public_ip_prefixes: A list of public IP prefix resources. @@ -2164,33 +2396,37 @@ class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) -class ManagedClusterLoadBalancerProfileOutboundIPs(Model): +class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.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.v2021_05_01.models.ResourceReference] + :param public_i_ps: A list of public IP resources. + :type public_i_ps: list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] """ _attribute_map = { - 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_ips = kwargs.get('public_ips', None) + self.public_i_ps = kwargs.get('public_i_ps', None) -class ManagedClusterPodIdentity(Model): +class ManagedClusterPodIdentity(msrest.serialization.Model): """ManagedClusterPodIdentity. - 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. @@ -2198,15 +2434,12 @@ class ManagedClusterPodIdentity(Model): :type name: str :param namespace: Required. Namespace of the pod identity. :type namespace: str - :param binding_selector: Binding selector to use for the - AzureIdentityBinding resource. + :param binding_selector: Binding selector to use for the AzureIdentityBinding resource. :type binding_selector: str :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2021_05_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' + :type identity: ~azure.mgmt.containerservice.v2021_05_01.models.UserAssignedIdentity + :ivar provisioning_state: The current provisioning state of the pod identity. Possible values + include: "Assigned", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProvisioningState :ivar provisioning_info: @@ -2231,17 +2464,20 @@ class ManagedClusterPodIdentity(Model): 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) + self.name = kwargs['name'] + self.namespace = kwargs['namespace'] self.binding_selector = kwargs.get('binding_selector', None) - self.identity = kwargs.get('identity', None) + self.identity = kwargs['identity'] self.provisioning_state = None self.provisioning_info = None -class ManagedClusterPodIdentityException(Model): +class ManagedClusterPodIdentityException(msrest.serialization.Model): """ManagedClusterPodIdentityException. All required parameters must be populated in order to send to Azure. @@ -2266,26 +2502,28 @@ class ManagedClusterPodIdentityException(Model): 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.pod_labels = kwargs.get('pod_labels', None) + self.name = kwargs['name'] + self.namespace = kwargs['namespace'] + self.pod_labels = kwargs['pod_labels'] -class ManagedClusterPodIdentityProfile(Model): +class ManagedClusterPodIdentityProfile(msrest.serialization.Model): """ManagedClusterPodIdentityProfile. :param enabled: Whether the pod identity addon is enabled. :type enabled: bool - :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod - identity addon in cluster using Kubenet network plugin. + :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod identity addon in + cluster using Kubenet network plugin. :type allow_network_plugin_kubenet: bool :param user_assigned_identities: User assigned pod identity settings. :type user_assigned_identities: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. + :param user_assigned_identity_exceptions: User assigned pod identity exception settings. :type user_assigned_identity_exceptions: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityException] """ @@ -2297,7 +2535,10 @@ class ManagedClusterPodIdentityProfile(Model): 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) self.enabled = kwargs.get('enabled', None) self.allow_network_plugin_kubenet = kwargs.get('allow_network_plugin_kubenet', None) @@ -2305,7 +2546,7 @@ def __init__(self, **kwargs): self.user_assigned_identity_exceptions = kwargs.get('user_assigned_identity_exceptions', None) -class ManagedClusterPodIdentityProvisioningInfo(Model): +class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): """ManagedClusterPodIdentityProvisioningInfo. :param error: Pod identity assignment error (if any). @@ -2316,28 +2557,27 @@ class ManagedClusterPodIdentityProvisioningInfo(Model): 'error': {'key': 'error', 'type': 'CloudError'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) self.error = kwargs.get('error', None) -class ManagedClusterPoolUpgradeProfile(Model): +class ManagedClusterPoolUpgradeProfile(msrest.serialization.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). + :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.v2021_05_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] """ @@ -2354,15 +2594,18 @@ class ManagedClusterPoolUpgradeProfile(Model): 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) - self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.kubernetes_version = kwargs['kubernetes_version'] self.name = kwargs.get('name', None) self.os_type = kwargs.get('os_type', "Linux") self.upgrades = kwargs.get('upgrades', None) -class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): +class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): """ManagedClusterPoolUpgradeProfileUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -2376,21 +2619,22 @@ class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, **kwargs): + 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): +class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): """Parameters to be applied to the cluster-autoscaler when enabled. :param balance_similar_node_groups: :type balance_similar_node_groups: str - :param expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2021_05_01.models.Expander + :param expander: Possible values include: "least-waste", "most-pods", "priority", "random". + :type expander: str or ~azure.mgmt.containerservice.v2021_05_01.models.Expander :param max_empty_bulk_delete: :type max_empty_bulk_delete: str :param max_graceful_termination_sec: @@ -2443,7 +2687,10 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) self.expander = kwargs.get('expander', None) @@ -2464,37 +2711,14 @@ def __init__(self, **kwargs): self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', 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. +class ManagedClusterServicePrincipalProfile(msrest.serialization.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. + :param secret: The secret password associated with the service principal in plain text. :type secret: str """ @@ -2507,23 +2731,22 @@ class ManagedClusterServicePrincipalProfile(Model): 'secret': {'key': 'secret', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) - self.client_id = kwargs.get('client_id', None) + self.client_id = kwargs['client_id'] self.secret = kwargs.get('secret', None) -class ManagedClusterSKU(Model): +class ManagedClusterSKU(msrest.serialization.Model): """ManagedClusterSKU. - :param name: Name of a managed cluster SKU. Possible values include: - 'Basic' - :type name: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUTier + :param name: Name of a managed cluster SKU. Possible values include: "Basic". + :type name: str or ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". + :type tier: str or ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUTier """ _attribute_map = { @@ -2531,17 +2754,19 @@ class ManagedClusterSKU(Model): 'tier': {'key': 'tier', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterSKU, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.tier = kwargs.get('tier', None) -class ManagedClusterUpgradeProfile(Model): +class ManagedClusterUpgradeProfile(msrest.serialization.Model): """The list of available upgrades for compute pools. - 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. @@ -2551,12 +2776,11 @@ class ManagedClusterUpgradeProfile(Model): :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. + :param control_plane_profile: Required. The list of available upgrade versions for the control + plane. :type control_plane_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. + :param agent_pool_profiles: Required. The list of available upgrade versions for agent pools. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile] """ @@ -2577,43 +2801,42 @@ class ManagedClusterUpgradeProfile(Model): 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, } - def __init__(self, **kwargs): + 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) + self.control_plane_profile = kwargs['control_plane_profile'] + self.agent_pool_profiles = kwargs['agent_pool_profiles'] -class ManagedClusterWindowsProfile(Model): +class ManagedClusterWindowsProfile(msrest.serialization.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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters + :param admin_username: Required. Specifies the name of the administrator account. + :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` + **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", + "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", + "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", + "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" + :param admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.LicenseType + :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable + Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". + :type license_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.LicenseType :param enable_csi_proxy: Whether to enable CSI proxy. :type enable_csi_proxy: bool """ @@ -2629,19 +2852,46 @@ class ManagedClusterWindowsProfile(Model): 'enable_csi_proxy': {'key': 'enableCSIProxy', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = kwargs.get('admin_username', None) + self.admin_username = kwargs['admin_username'] self.admin_password = kwargs.get('admin_password', None) self.license_type = kwargs.get('license_type', None) self.enable_csi_proxy = kwargs.get('enable_csi_proxy', None) -class OperationValue(Model): +class OperationListResult(msrest.serialization.Model): + """The List Compute Operation operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of compute operations. + :vartype value: list[~azure.mgmt.containerservice.v2021_05_01.models.OperationValue] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationValue]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + + +class OperationValue(msrest.serialization.Model): """Describes the properties of a Compute Operation value. - 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 origin: The origin of the compute operation. :vartype origin: str @@ -2675,7 +2925,10 @@ class OperationValue(Model): 'provider': {'key': 'display.provider', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OperationValue, self).__init__(**kwargs) self.origin = None self.name = None @@ -2685,11 +2938,10 @@ def __init__(self, **kwargs): self.provider = None -class OSOptionProfile(Model): +class OSOptionProfile(msrest.serialization.Model): """The OS option profile. - 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. @@ -2699,8 +2951,7 @@ class OSOptionProfile(Model): :vartype name: str :ivar type: Type of the OS option profile. :vartype type: str - :param os_option_property_list: Required. The list of OS option - properties. + :param os_option_property_list: Required. The list of OS option properties. :type os_option_property_list: list[~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProperty] """ @@ -2719,15 +2970,18 @@ class OSOptionProfile(Model): 'os_option_property_list': {'key': 'properties.osOptionPropertyList', 'type': '[OSOptionProperty]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OSOptionProfile, self).__init__(**kwargs) self.id = None self.name = None self.type = None - self.os_option_property_list = kwargs.get('os_option_property_list', None) + self.os_option_property_list = kwargs['os_option_property_list'] -class OSOptionProperty(Model): +class OSOptionProperty(msrest.serialization.Model): """OS option property. All required parameters must be populated in order to send to Azure. @@ -2748,21 +3002,23 @@ class OSOptionProperty(Model): 'enable_fips_image': {'key': 'enable-fips-image', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OSOptionProperty, self).__init__(**kwargs) - self.os_type = kwargs.get('os_type', None) - self.enable_fips_image = kwargs.get('enable_fips_image', None) + self.os_type = kwargs['os_type'] + self.enable_fips_image = kwargs['enable_fips_image'] -class OutboundEnvironmentEndpoint(Model): +class OutboundEnvironmentEndpoint(msrest.serialization.Model): """Egress endpoints which AKS agent nodes connect to for common purpose. - :param category: The category of endpoints accessed by the AKS agent node, - e.g. azure-resource-management, apiserver, etc. + :param category: The category of endpoints accessed by the AKS agent node, e.g. + azure-resource-management, apiserver, etc. :type category: str - :param endpoints: The endpoints that AKS agent nodes connect to - :type endpoints: - list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDependency] + :param endpoints: The endpoints that AKS agent nodes connect to. + :type endpoints: list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDependency] """ _attribute_map = { @@ -2770,17 +3026,52 @@ class OutboundEnvironmentEndpoint(Model): 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) self.category = kwargs.get('category', None) self.endpoints = kwargs.get('endpoints', None) -class PowerState(Model): +class OutboundEnvironmentEndpointCollection(msrest.serialization.Model): + """Collection of OutboundEnvironmentEndpoint. + + Variables are only 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpoint] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OutboundEnvironmentEndpointCollection, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = None + + +class PowerState(msrest.serialization.Model): """Describes the Power State of the cluster. - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' + :param code: Tells whether the cluster is Running or Stopped. Possible values include: + "Running", "Stopped". :type code: str or ~azure.mgmt.containerservice.v2021_05_01.models.Code """ @@ -2788,15 +3079,18 @@ class PowerState(Model): 'code': {'key': 'code', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PowerState, self).__init__(**kwargs) self.code = kwargs.get('code', None) -class PrivateEndpoint(Model): +class PrivateEndpoint(msrest.serialization.Model): """Private endpoint which a connection belongs to. - :param id: The resource Id for private endpoint + :param id: The resource Id for private endpoint. :type id: str """ @@ -2804,18 +3098,18 @@ class PrivateEndpoint(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateEndpoint, self).__init__(**kwargs) self.id = kwargs.get('id', None) -class PrivateEndpointConnection(Model): +class PrivateEndpointConnection(msrest.serialization.Model): """A private endpoint 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. + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ID of the private endpoint connection. :vartype id: str @@ -2823,16 +3117,14 @@ class PrivateEndpointConnection(Model): :vartype name: str :ivar type: The resource type. :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' + :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", + "Creating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionProvisioningState :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_05_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_endpoint: ~azure.mgmt.containerservice.v2021_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.containerservice.v2021_05_01.models.PrivateLinkServiceConnectionState """ @@ -2842,7 +3134,6 @@ class PrivateEndpointConnection(Model): 'name': {'readonly': True}, 'type': {'readonly': True}, 'provisioning_state': {'readonly': True}, - 'private_link_service_connection_state': {'required': True}, } _attribute_map = { @@ -2854,7 +3145,10 @@ class PrivateEndpointConnection(Model): 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateEndpointConnection, self).__init__(**kwargs) self.id = None self.name = None @@ -2864,28 +3158,29 @@ def __init__(self, **kwargs): self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) -class PrivateEndpointConnectionListResult(Model): +class PrivateEndpointConnectionListResult(msrest.serialization.Model): """A list of private endpoint connections. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection] + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) self.value = kwargs.get('value', None) -class PrivateLinkResource(Model): +class PrivateLinkResource(msrest.serialization.Model): """A private link resource. - 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 id: The ID of the private link resource. :type id: str @@ -2895,10 +3190,10 @@ class PrivateLinkResource(Model): :type type: str :param group_id: The group ID of the resource. :type group_id: str - :param required_members: RequiredMembers of the resource + :param required_members: RequiredMembers of the resource. :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. + :ivar private_link_service_id: The private link service ID of the resource, this field is + exposed only to NRP internally. :vartype private_link_service_id: str """ @@ -2915,7 +3210,10 @@ class PrivateLinkResource(Model): 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkResource, self).__init__(**kwargs) self.id = kwargs.get('id', None) self.name = kwargs.get('name', None) @@ -2925,30 +3223,31 @@ def __init__(self, **kwargs): self.private_link_service_id = None -class PrivateLinkResourcesListResult(Model): +class PrivateLinkResourcesListResult(msrest.serialization.Model): """A list of private link resources. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkResourcesListResult, self).__init__(**kwargs) self.value = kwargs.get('value', None) -class PrivateLinkServiceConnectionState(Model): +class PrivateLinkServiceConnectionState(msrest.serialization.Model): """The state of a private link service connection. - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ConnectionStatus + :param status: The private link service connection status. Possible values include: "Pending", + "Approved", "Rejected", "Disconnected". + :type status: str or ~azure.mgmt.containerservice.v2021_05_01.models.ConnectionStatus :param description: The private link service connection description. :type description: str """ @@ -2958,13 +3257,16 @@ class PrivateLinkServiceConnectionState(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) self.status = kwargs.get('status', None) self.description = kwargs.get('description', None) -class ResourceReference(Model): +class ResourceReference(msrest.serialization.Model): """A reference to an Azure resource. :param id: The fully qualified Azure resource id. @@ -2975,20 +3277,22 @@ class ResourceReference(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ResourceReference, self).__init__(**kwargs) self.id = kwargs.get('id', None) -class RunCommandRequest(Model): +class RunCommandRequest(msrest.serialization.Model): """run command request. All required parameters must be populated in order to send to Azure. :param command: Required. command to run. :type command: str - :param context: base64 encoded zip file, contains files required by the - command + :param context: base64 encoded zip file, contains files required by the command. :type context: str :param cluster_token: AuthToken issued for AKS AAD Server App. :type cluster_token: str @@ -3004,29 +3308,31 @@ class RunCommandRequest(Model): 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RunCommandRequest, self).__init__(**kwargs) - self.command = kwargs.get('command', None) + self.command = kwargs['command'] self.context = kwargs.get('context', None) self.cluster_token = kwargs.get('cluster_token', None) -class RunCommandResult(Model): +class RunCommandResult(msrest.serialization.Model): """run command result. - 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 id: command id. :vartype id: str - :ivar provisioning_state: provisioning State + :ivar provisioning_state: provisioning State. :vartype provisioning_state: str - :ivar exit_code: exit code of the command + :ivar exit_code: exit code of the command. :vartype exit_code: int :ivar started_at: time when the command started. - :vartype started_at: datetime + :vartype started_at: ~datetime.datetime :ivar finished_at: time when the command finished. - :vartype finished_at: datetime + :vartype finished_at: ~datetime.datetime :ivar logs: command output. :vartype logs: str :ivar reason: explain why provisioningState is set to failed (if so). @@ -3053,7 +3359,10 @@ class RunCommandResult(Model): 'reason': {'key': 'properties.reason', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RunCommandResult, self).__init__(**kwargs) self.id = None self.provisioning_state = None @@ -3064,13 +3373,12 @@ def __init__(self, **kwargs): self.reason = None -class SysctlConfig(Model): +class SysctlConfig(msrest.serialization.Model): """Sysctl settings for Linux agent nodes. :param net_core_somaxconn: Sysctl setting net.core.somaxconn. :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. + :param net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. :type net_core_netdev_max_backlog: int :param net_core_rmem_default: Sysctl setting net.core.rmem_default. :type net_core_rmem_default: int @@ -3082,45 +3390,33 @@ class SysctlConfig(Model): :type net_core_wmem_max: int :param net_core_optmem_max: Sysctl setting net.core.optmem_max. :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. + :param net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. + :param net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. :type net_ipv4_tcp_max_tw_buckets: int :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. + :param net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. + :param net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. + :param net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. :type net_ipv4_tcpkeepalive_intvl: int :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. + :param net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. + :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. + :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. + :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. + :param net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. + :param net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. + :param fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. :type fs_inotify_max_user_watches: int :param fs_file_max: Sysctl setting fs.file-max. :type fs_file_max: int @@ -3169,7 +3465,10 @@ class SysctlConfig(Model): 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SysctlConfig, self).__init__(**kwargs) self.net_core_somaxconn = kwargs.get('net_core_somaxconn', None) self.net_core_netdev_max_backlog = kwargs.get('net_core_netdev_max_backlog', None) @@ -3201,27 +3500,24 @@ def __init__(self, **kwargs): self.vm_vfs_cache_pressure = kwargs.get('vm_vfs_cache_pressure', None) -class SystemData(Model): +class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. :param created_by: The identity that created the resource. :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime + :type created_at: ~datetime.datetime :param last_modified_by: The identity that last modified the resource. :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". :type last_modified_by_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -3233,7 +3529,10 @@ class SystemData(Model): 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SystemData, self).__init__(**kwargs) self.created_by = kwargs.get('created_by', None) self.created_by_type = kwargs.get('created_by_type', None) @@ -3243,10 +3542,10 @@ def __init__(self, **kwargs): self.last_modified_at = kwargs.get('last_modified_at', None) -class TagsObject(Model): +class TagsObject(msrest.serialization.Model): """Tags object for patch operations. - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -3254,16 +3553,19 @@ class TagsObject(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TagsObject, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) -class TimeInWeek(Model): +class TimeInWeek(msrest.serialization.Model): """Time in a week. - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + :param day: A day in a week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". :type day: str or ~azure.mgmt.containerservice.v2021_05_01.models.WeekDay :param hour_slots: hour slots in a day. :type hour_slots: list[int] @@ -3274,19 +3576,22 @@ class TimeInWeek(Model): 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TimeInWeek, self).__init__(**kwargs) self.day = kwargs.get('day', None) self.hour_slots = kwargs.get('hour_slots', None) -class TimeSpan(Model): +class TimeSpan(msrest.serialization.Model): """The time span with start and end properties. - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime + :param start: The start of a time span. + :type start: ~datetime.datetime + :param end: The end of a time span. + :type end: ~datetime.datetime """ _attribute_map = { @@ -3294,7 +3599,10 @@ class TimeSpan(Model): 'end': {'key': 'end', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TimeSpan, self).__init__(**kwargs) self.start = kwargs.get('start', None) self.end = kwargs.get('end', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py old mode 100644 new mode 100755 index aeaae816e3e..db1b9190e9b --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py @@ -1,30 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 +import datetime +from typing import Dict, List, Optional, Union +import msrest.serialization -class SubResource(Model): +from ._container_service_client_enums import * + + +class SubResource(msrest.serialization.Model): """Reference to another subresource. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str """ @@ -40,7 +40,10 @@ class SubResource(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SubResource, self).__init__(**kwargs) self.id = None self.name = None @@ -50,139 +53,120 @@ def __init__(self, **kwargs) -> None: class AgentPool(SubResource): """Agent Pool. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str - :param count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 1000 (inclusive) for user pools and in - the range of 1 to 1000 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for + system pools. The default value is 1. :type count: int :param vm_size: Size of agent VMs. :type vm_size: str - :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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS", "Temporary". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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.v2021_05_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :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.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner + for Linux OSType. Not applicable to Windows OSType. Possible values include: "Ubuntu", + "CBLMariner". :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU - :param max_count: Maximum number of nodes for auto-scaling + :param max_count: Maximum number of nodes for auto-scaling. :type max_count: int - :param min_count: Minimum number of nodes for auto-scaling + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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 + :param type_properties_type: AgentPoolType represents types of an agent pool. Possible values + include: "VirtualMachineScaleSets", "AvailabilitySet". + :type type_properties_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param enable_node_public_ip: Enable public IP for nodes. :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs assigned from this + Public IP Prefix. :type node_public_ip_prefix_id: str - :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" . + :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.v2021_05_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" . + :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.v2021_05_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD + :param enable_ultra_ssd: Whether to enable UltraSSD. :type enable_ultra_ssd: bool - :param enable_fips: Whether to use FIPS enabled OS + :param enable_fips: Whether to use FIPS enabled OS. :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible + values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". :type gpu_instance_profile: str or ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile """ @@ -191,6 +175,7 @@ class AgentPool(SubResource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -213,7 +198,7 @@ class AgentPool(SubResource): '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'}, + 'type_properties_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'}, @@ -238,7 +223,44 @@ class AgentPool(SubResource): 'gpu_instance_profile': {'key': 'properties.gpuInstanceProfile', 'type': 'str'}, } - def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, agent_pool_type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_ultra_ssd: bool=None, enable_fips: bool=None, gpu_instance_profile=None, **kwargs) -> None: + def __init__( + self, + *, + count: Optional[int] = None, + vm_size: Optional[str] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + os_sku: Optional[Union[str, "OSSKU"]] = None, + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + node_public_ip_prefix_id: Optional[str] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + enable_ultra_ssd: Optional[bool] = None, + enable_fips: Optional[bool] = None, + gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, + **kwargs + ): super(AgentPool, self).__init__(**kwargs) self.count = count self.vm_size = vm_size @@ -253,7 +275,7 @@ def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=N 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.type_properties_type = type_properties_type self.mode = mode self.orchestrator_version = orchestrator_version self.node_image_version = None @@ -278,11 +300,10 @@ def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=N self.gpu_instance_profile = gpu_instance_profile -class AgentPoolAvailableVersions(Model): +class AgentPoolAvailableVersions(msrest.serialization.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. + 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 @@ -308,7 +329,12 @@ class AgentPoolAvailableVersions(Model): 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, } - def __init__(self, *, agent_pool_versions=None, **kwargs) -> None: + def __init__( + self, + *, + agent_pool_versions: Optional[List["AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem"]] = None, + **kwargs + ): super(AgentPoolAvailableVersions, self).__init__(**kwargs) self.id = None self.name = None @@ -316,7 +342,7 @@ def __init__(self, *, agent_pool_versions=None, **kwargs) -> None: self.agent_pool_versions = agent_pool_versions -class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. :param default: Whether this version is the default agent pool version. @@ -333,18 +359,55 @@ class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, *, default: bool=None, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + def __init__( + self, + *, + default: Optional[bool] = None, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) self.default = default self.kubernetes_version = kubernetes_version self.is_preview = is_preview -class AgentPoolUpgradeProfile(Model): +class AgentPoolListResult(msrest.serialization.Model): + """The response from the List Agent Pools operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of agent pools. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] + :ivar next_link: The URL to get the next set of agent pool results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AgentPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["AgentPool"]] = None, + **kwargs + ): + super(AgentPoolListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class AgentPoolUpgradeProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -354,20 +417,16 @@ class AgentPoolUpgradeProfile(Model): :vartype name: str :ivar type: Type of the agent pool upgrade profile. :vartype type: str - :param kubernetes_version: Required. Kubernetes version (major, minor, - patch). + :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.v2021_05_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - :param latest_node_image_version: LatestNodeImageVersion is the latest AKS - supported node image version. + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS supported node image + version. :type latest_node_image_version: str """ @@ -389,7 +448,15 @@ class AgentPoolUpgradeProfile(Model): '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: + def __init__( + self, + *, + kubernetes_version: str, + os_type: Union[str, "OSType"] = "Linux", + upgrades: Optional[List["AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, + latest_node_image_version: Optional[str] = None, + **kwargs + ): super(AgentPoolUpgradeProfile, self).__init__(**kwargs) self.id = None self.name = None @@ -400,7 +467,7 @@ def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=None, l self.latest_node_image_version = latest_node_image_version -class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): +class AgentPoolUpgradeProfilePropertiesUpgradesItem(msrest.serialization.Model): """AgentPoolUpgradeProfilePropertiesUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -414,17 +481,23 @@ class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + def __init__( + self, + *, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) self.kubernetes_version = kubernetes_version self.is_preview = is_preview -class AgentPoolUpgradeSettings(Model): +class AgentPoolUpgradeSettings(msrest.serialization.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 + :param max_surge: Count or percentage of additional nodes to be added during upgrade. If empty + uses AKS default. :type max_surge: str """ @@ -432,55 +505,51 @@ class AgentPoolUpgradeSettings(Model): 'max_surge': {'key': 'maxSurge', 'type': 'str'}, } - def __init__(self, *, max_surge: str=None, **kwargs) -> None: + def __init__( + self, + *, + max_surge: Optional[str] = None, + **kwargs + ): super(AgentPoolUpgradeSettings, self).__init__(**kwargs) self.max_surge = max_surge -class CloudError(Model): +class CloudError(msrest.serialization.Model): """An error response from the Container service. :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody + :type error: ~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody """ _attribute_map = { 'error': {'key': 'error', 'type': 'CloudErrorBody'}, } - def __init__(self, *, error=None, **kwargs) -> None: + def __init__( + self, + *, + error: Optional["CloudErrorBody"] = None, + **kwargs + ): 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): +class CloudErrorBody(msrest.serialization.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. + :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. + :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. + :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.v2021_05_01.models.CloudErrorBody] + :type details: list[~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody] """ _attribute_map = { @@ -490,7 +559,15 @@ class CloudErrorBody(Model): 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, } - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + 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 @@ -498,13 +575,287 @@ def __init__(self, *, code: str=None, message: str=None, target: str=None, detai self.details = details -class ContainerServiceDiagnosticsProfile(Model): +class Components1Q1Og48SchemasManagedclusterAllof1(msrest.serialization.Model): + """Components1Q1Og48SchemasManagedclusterAllof1. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. + :vartype provisioning_state: str + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param fqdn_subdomain: FQDN subdomain specified when creating private cluster with custom + private dns zone. + :type fqdn_subdomain: str + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + :ivar private_fqdn: FQDN of private cluster. + :vartype private_fqdn: str + :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy config. + :vartype azure_portal_fqdn: str + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2021_05_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.v2021_05_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAddonProfile] + :param pod_identity_profile: Profile of managed cluster pod identity. + :type pod_identity_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProfile + :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: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :param auto_upgrade_profile: Profile of auto upgrade configuration. + :type auto_upgrade_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAutoUpgradeProfile + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2021_05_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.v2021_05_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + :param private_link_resources: Private link resources associated with the cluster. + :type private_link_resources: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + :param disable_local_accounts: If set to true, getting static credential will be disabled for + this cluster. Expected to only be used for AAD clusters. + :type disable_local_accounts: bool + :param http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. + :type http_proxy_config: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterHTTPProxyConfig + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + 'azure_portal_fqdn': {'readonly': True}, + } + + _attribute_map = { + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, + 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, + 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', '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}'}, + 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, + '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, + '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, + 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, + 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, + 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, + } + + def __init__( + self, + *, + identity: Optional["ManagedClusterIdentity"] = None, + kubernetes_version: Optional[str] = None, + dns_prefix: Optional[str] = None, + fqdn_subdomain: Optional[str] = None, + agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, + linux_profile: Optional["ContainerServiceLinuxProfile"] = None, + windows_profile: Optional["ManagedClusterWindowsProfile"] = None, + service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, + addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, + pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, + node_resource_group: Optional[str] = None, + enable_rbac: Optional[bool] = None, + enable_pod_security_policy: Optional[bool] = None, + network_profile: Optional["ContainerServiceNetworkProfile"] = None, + aad_profile: Optional["ManagedClusterAADProfile"] = None, + auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, + auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, + api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, + disk_encryption_set_id: Optional[str] = None, + identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, + private_link_resources: Optional[List["PrivateLinkResource"]] = None, + disable_local_accounts: Optional[bool] = None, + http_proxy_config: Optional["ManagedClusterHTTPProxyConfig"] = None, + **kwargs + ): + super(Components1Q1Og48SchemasManagedclusterAllof1, self).__init__(**kwargs) + self.identity = identity + self.provisioning_state = None + self.power_state = None + self.max_agent_pools = None + self.kubernetes_version = kubernetes_version + self.dns_prefix = dns_prefix + self.fqdn_subdomain = fqdn_subdomain + self.fqdn = None + self.private_fqdn = None + self.azure_portal_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.pod_identity_profile = pod_identity_profile + 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_upgrade_profile = auto_upgrade_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.private_link_resources = private_link_resources + self.disable_local_accounts = disable_local_accounts + self.http_proxy_config = http_proxy_config + + +class Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): + """Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties. + + 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(Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class UserAssignedIdentity(msrest.serialization.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: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): + super(UserAssignedIdentity, self).__init__(**kwargs) + self.resource_id = resource_id + self.client_id = client_id + self.object_id = object_id + + +class ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties(UserAssignedIdentity): + """ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties. + + :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: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): + super(ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) + + +class ContainerServiceDiagnosticsProfile(msrest.serialization.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. + :param vm_diagnostics: Required. Profile for diagnostics on the container service VMs. :type vm_diagnostics: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceVMDiagnostics """ @@ -517,23 +868,25 @@ class ContainerServiceDiagnosticsProfile(Model): 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, } - def __init__(self, *, vm_diagnostics, **kwargs) -> None: + def __init__( + self, + *, + vm_diagnostics: "ContainerServiceVMDiagnostics", + **kwargs + ): super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) self.vm_diagnostics = vm_diagnostics -class ContainerServiceLinuxProfile(Model): +class ContainerServiceLinuxProfile(msrest.serialization.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. + :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.v2021_05_01.models.ContainerServiceSshConfiguration + :param ssh: Required. SSH configuration for Linux-based VMs running on Azure. + :type ssh: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceSshConfiguration """ _validation = { @@ -546,93 +899,82 @@ class ContainerServiceLinuxProfile(Model): 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, } - def __init__(self, *, admin_username: str, ssh, **kwargs) -> None: + def __init__( + self, + *, + admin_username: str, + ssh: "ContainerServiceSshConfiguration", + **kwargs + ): super(ContainerServiceLinuxProfile, self).__init__(**kwargs) self.admin_username = admin_username self.ssh = ssh -class ContainerServiceMasterProfile(Model): +class ContainerServiceMasterProfile(msrest.serialization.Model): """Profile for the container service master. - 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. - :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. + :param count: Number of masters (VMs) in the container service cluster. Allowed values are 1, + 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". + :type count: str or ~azure.mgmt.containerservice.v2021_05_01.models.Count + :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' + :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.v2021_05_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. + :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. + :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" . + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static + ip of masters. :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' + :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.v2021_05_01.models.ContainerServiceStorageProfileTypes :ivar fqdn: FQDN for the master pool. @@ -642,6 +984,7 @@ class ContainerServiceMasterProfile(Model): _validation = { 'dns_prefix': {'required': True}, 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'fqdn': {'readonly': True}, } @@ -656,7 +999,18 @@ class ContainerServiceMasterProfile(Model): '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: + def __init__( + self, + *, + dns_prefix: str, + vm_size: Union[str, "ContainerServiceVMSizeTypes"], + count: Optional[Union[int, "Count"]] = "1", + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + first_consecutive_static_ip: Optional[str] = "10.240.255.5", + storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, + **kwargs + ): super(ContainerServiceMasterProfile, self).__init__(**kwargs) self.count = count self.dns_prefix = dns_prefix @@ -668,46 +1022,35 @@ def __init__(self, *, dns_prefix: str, vm_size, count: int=1, os_disk_size_gb: i self.fqdn = None -class ContainerServiceNetworkProfile(Model): +class ContainerServiceNetworkProfile(msrest.serialization.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.v2021_05_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.v2021_05_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.v2021_05_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" . + :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.v2021_05_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.v2021_05_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.v2021_05_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. :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" . + :param service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must + not overlap with any Subnet IP ranges. :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" . + :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. :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" . + :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. :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.v2021_05_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.v2021_05_01.models.LoadBalancerSku + :param outbound_type: The outbound (egress) routing method. Possible values include: + "loadBalancer", "userDefinedRouting". Default value: "loadBalancer". + :type outbound_type: str or ~azure.mgmt.containerservice.v2021_05_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.v2021_05_01.models.LoadBalancerSku :param load_balancer_profile: Profile of the cluster load balancer. :type load_balancer_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfile @@ -733,7 +1076,21 @@ class ContainerServiceNetworkProfile(Model): '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: + def __init__( + self, + *, + network_plugin: Optional[Union[str, "NetworkPlugin"]] = "kubenet", + network_policy: Optional[Union[str, "NetworkPolicy"]] = None, + network_mode: Optional[Union[str, "NetworkMode"]] = None, + pod_cidr: Optional[str] = "10.244.0.0/16", + service_cidr: Optional[str] = "10.0.0.0/16", + dns_service_ip: Optional[str] = "10.0.0.10", + docker_bridge_cidr: Optional[str] = "172.17.0.1/16", + outbound_type: Optional[Union[str, "OutboundType"]] = "loadBalancer", + load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, + load_balancer_profile: Optional["ManagedClusterLoadBalancerProfile"] = None, + **kwargs + ): super(ContainerServiceNetworkProfile, self).__init__(**kwargs) self.network_plugin = network_plugin self.network_policy = network_policy @@ -747,13 +1104,13 @@ def __init__(self, *, network_plugin="kubenet", network_policy=None, network_mod self.load_balancer_profile = load_balancer_profile -class ContainerServiceSshConfiguration(Model): +class ContainerServiceSshConfiguration(msrest.serialization.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. + :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.v2021_05_01.models.ContainerServiceSshPublicKey] """ @@ -766,19 +1123,23 @@ class ContainerServiceSshConfiguration(Model): 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, } - def __init__(self, *, public_keys, **kwargs) -> None: + def __init__( + self, + *, + public_keys: List["ContainerServiceSshPublicKey"], + **kwargs + ): super(ContainerServiceSshConfiguration, self).__init__(**kwargs) self.public_keys = public_keys -class ContainerServiceSshPublicKey(Model): +class ContainerServiceSshPublicKey(msrest.serialization.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. + :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 """ @@ -790,24 +1151,26 @@ class ContainerServiceSshPublicKey(Model): 'key_data': {'key': 'keyData', 'type': 'str'}, } - def __init__(self, *, key_data: str, **kwargs) -> None: + def __init__( + self, + *, + key_data: str, + **kwargs + ): super(ContainerServiceSshPublicKey, self).__init__(**kwargs) self.key_data = key_data -class ContainerServiceVMDiagnostics(Model): +class ContainerServiceVMDiagnostics(msrest.serialization.Model): """Profile for diagnostics on the container service VMs. - 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. - :param enabled: Required. Whether the VM diagnostic agent is provisioned - on the VM. + :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. + :ivar storage_uri: The URI of the storage account where diagnostics are stored. :vartype storage_uri: str """ @@ -821,17 +1184,21 @@ class ContainerServiceVMDiagnostics(Model): 'storage_uri': {'key': 'storageUri', 'type': 'str'}, } - def __init__(self, *, enabled: bool, **kwargs) -> None: + def __init__( + self, + *, + enabled: bool, + **kwargs + ): super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) self.enabled = enabled self.storage_uri = None -class CredentialResult(Model): +class CredentialResult(msrest.serialization.Model): """The credential result response. - 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 credential. :vartype name: str @@ -849,21 +1216,22 @@ class CredentialResult(Model): 'value': {'key': 'value', 'type': 'bytearray'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(CredentialResult, self).__init__(**kwargs) self.name = None self.value = None -class CredentialResults(Model): +class CredentialResults(msrest.serialization.Model): """The list of credential result response. - 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 kubeconfigs: Base64-encoded Kubernetes configuration file. - :vartype kubeconfigs: - list[~azure.mgmt.containerservice.v2021_05_01.models.CredentialResult] + :vartype kubeconfigs: list[~azure.mgmt.containerservice.v2021_05_01.models.CredentialResult] """ _validation = { @@ -874,20 +1242,21 @@ class CredentialResults(Model): 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(CredentialResults, self).__init__(**kwargs) self.kubeconfigs = None -class EndpointDependency(Model): +class EndpointDependency(msrest.serialization.Model): """A domain name that AKS agent nodes are reaching at. :param domain_name: The domain name of the dependency. :type domain_name: str - :param endpoint_details: The Ports and Protocols used when connecting to - domainName. - :type endpoint_details: - list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDetail] + :param endpoint_details: The Ports and Protocols used when connecting to domainName. + :type endpoint_details: list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDetail] """ _attribute_map = { @@ -895,22 +1264,28 @@ class EndpointDependency(Model): 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, } - def __init__(self, *, domain_name: str=None, endpoint_details=None, **kwargs) -> None: + def __init__( + self, + *, + domain_name: Optional[str] = None, + endpoint_details: Optional[List["EndpointDetail"]] = None, + **kwargs + ): super(EndpointDependency, self).__init__(**kwargs) self.domain_name = domain_name self.endpoint_details = endpoint_details -class EndpointDetail(Model): +class EndpointDetail(msrest.serialization.Model): """connect information from the AKS agent nodes to a single endpoint. :param ip_address: An IP Address that Domain Name currently resolves to. :type ip_address: str :param port: The port an endpoint is connected to. :type port: int - :param protocol: The protocol used for connection + :param protocol: The protocol used for connection. :type protocol: str - :param description: Description of the detail + :param description: Description of the detail. :type description: str """ @@ -921,7 +1296,15 @@ class EndpointDetail(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, *, ip_address: str=None, port: int=None, protocol: str=None, description: str=None, **kwargs) -> None: + def __init__( + self, + *, + ip_address: Optional[str] = None, + port: Optional[int] = None, + protocol: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): super(EndpointDetail, self).__init__(**kwargs) self.ip_address = ip_address self.port = port @@ -929,15 +1312,13 @@ def __init__(self, *, ip_address: str=None, port: int=None, protocol: str=None, self.description = description -class ExtendedLocation(Model): +class ExtendedLocation(msrest.serialization.Model): """The complex type of the extended location. :param name: The name of the extended location. :type name: str - :param type: The type of the extended location. Possible values include: - 'EdgeZone' - :type type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocationTypes + :param type: The type of the extended location. Possible values include: "EdgeZone". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocationTypes """ _attribute_map = { @@ -945,41 +1326,46 @@ class ExtendedLocation(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, *, name: str=None, type=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "ExtendedLocationTypes"]] = None, + **kwargs + ): super(ExtendedLocation, self).__init__(**kwargs) self.name = name self.type = type -class KubeletConfig(Model): +class KubeletConfig(msrest.serialization.Model): """Kubelet configurations of agent nodes. :param cpu_manager_policy: CPU Manager policy to use. :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that - specify CPU limits. + :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that specify CPU limits. :type cpu_cfs_quota: bool :param cpu_cfs_quota_period: Sets CPU CFS quota period value. :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which - image garbage collection is always run. + :param image_gc_high_threshold: The percent of disk usage after which image garbage collection + is always run. :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which - image garbage collection is never run. + :param image_gc_low_threshold: The percent of disk usage before which image garbage collection + is never run. :type image_gc_low_threshold: int :param topology_manager_policy: Topology Manager policy to use. :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe - sysctl patterns (ending in `*`). + :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in + ``*``\ ). :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start - if swap is enabled on the node. + :param fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled + on the node. :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of - container log file before it is rotated. + :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it + is rotated. :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files - that can be present for a container. The number must be ≥ 2. + :param container_log_max_files: The maximum number of container log files that can be present + for a container. The number must be ≥ 2. :type container_log_max_files: int :param pod_max_pids: The maximum number of processes per pod. :type pod_max_pids: int @@ -1003,7 +1389,22 @@ class KubeletConfig(Model): 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, } - def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cpu_cfs_quota_period: str=None, image_gc_high_threshold: int=None, image_gc_low_threshold: int=None, topology_manager_policy: str=None, allowed_unsafe_sysctls=None, fail_swap_on: bool=None, container_log_max_size_mb: int=None, container_log_max_files: int=None, pod_max_pids: int=None, **kwargs) -> None: + def __init__( + self, + *, + cpu_manager_policy: Optional[str] = None, + cpu_cfs_quota: Optional[bool] = None, + cpu_cfs_quota_period: Optional[str] = None, + image_gc_high_threshold: Optional[int] = None, + image_gc_low_threshold: Optional[int] = None, + topology_manager_policy: Optional[str] = None, + allowed_unsafe_sysctls: Optional[List[str]] = None, + fail_swap_on: Optional[bool] = None, + container_log_max_size_mb: Optional[int] = None, + container_log_max_files: Optional[int] = None, + pod_max_pids: Optional[int] = None, + **kwargs + ): super(KubeletConfig, self).__init__(**kwargs) self.cpu_manager_policy = cpu_manager_policy self.cpu_cfs_quota = cpu_cfs_quota @@ -1018,20 +1419,17 @@ def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cp self.pod_max_pids = pod_max_pids -class LinuxOSConfig(Model): +class LinuxOSConfig(msrest.serialization.Model): """OS configurations of Linux agent nodes. :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: - ~azure.mgmt.containerservice.v2021_05_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled - configuration. + :type sysctls: ~azure.mgmt.containerservice.v2021_05_01.models.SysctlConfig + :param transparent_huge_page_enabled: Transparent Huge Page enabled configuration. :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag - configuration. + :param transparent_huge_page_defrag: Transparent Huge Page defrag configuration. :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap - file will be created on each node. + :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap file will be created on + each node. :type swap_file_size_mb: int """ @@ -1042,7 +1440,15 @@ class LinuxOSConfig(Model): 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, } - def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, transparent_huge_page_defrag: str=None, swap_file_size_mb: int=None, **kwargs) -> None: + def __init__( + self, + *, + sysctls: Optional["SysctlConfig"] = None, + transparent_huge_page_enabled: Optional[str] = None, + transparent_huge_page_defrag: Optional[str] = None, + swap_file_size_mb: Optional[int] = None, + **kwargs + ): super(LinuxOSConfig, self).__init__(**kwargs) self.sysctls = sysctls self.transparent_huge_page_enabled = transparent_huge_page_enabled @@ -1053,25 +1459,21 @@ def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, tra class MaintenanceConfiguration(SubResource): """maintenance configuration. - 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 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. + :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 + :ivar type: Resource type. :vartype type: str :ivar system_data: The system meta data relating to this resource. - :vartype system_data: - ~azure.mgmt.containerservice.v2021_05_01.models.SystemData + :vartype system_data: ~azure.mgmt.containerservice.v2021_05_01.models.SystemData :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] + :type time_in_week: list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] + :type not_allowed_time: list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] """ _validation = { @@ -1090,30 +1492,66 @@ class MaintenanceConfiguration(SubResource): 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, } - def __init__(self, *, time_in_week=None, not_allowed_time=None, **kwargs) -> None: + def __init__( + self, + *, + time_in_week: Optional[List["TimeInWeek"]] = None, + not_allowed_time: Optional[List["TimeSpan"]] = None, + **kwargs + ): super(MaintenanceConfiguration, self).__init__(**kwargs) self.system_data = None self.time_in_week = time_in_week self.not_allowed_time = not_allowed_time -class Resource(Model): +class MaintenanceConfigurationListResult(msrest.serialization.Model): + """The response from the List maintenance configurations operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: The list of maintenance configurations. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration] + :ivar next_link: The URL to get the next set of maintenance configuration results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["MaintenanceConfiguration"]] = None, + **kwargs + ): + super(MaintenanceConfigurationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Resource(msrest.serialization.Model): """The Resource model definition. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -1132,7 +1570,13 @@ class Resource(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, location: str, tags=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -1141,61 +1585,46 @@ def __init__(self, *, location: str, tags=None, **kwargs) -> None: self.tags = tags -class ManagedCluster(Resource): +class ManagedCluster(Resource, Components1Q1Og48SchemasManagedclusterAllof1): """Managed cluster. - 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. - :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. + :param identity: The identity of the managed cluster, if configured. + :type identity: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :ivar max_agent_pools: The max number of agent pools for the managed - cluster. + :ivar power_state: Represents the Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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. + :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 - :param fqdn_subdomain: FQDN subdomain specified when creating private - cluster with custom private dns zone. + :param fqdn_subdomain: FQDN subdomain specified when creating private cluster with custom + private dns zone. :type fqdn_subdomain: str :ivar fqdn: FQDN for the master pool. :vartype fqdn: str :ivar private_fqdn: FQDN of private cluster. :vartype private_fqdn: str - :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy - config. + :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy config. :vartype azure_portal_fqdn: str :param agent_pool_profiles: Properties of the agent pool. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service - cluster. + :param linux_profile: Profile for Linux VMs in the container service cluster. :type linux_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service - cluster. + :param windows_profile: Profile for Windows VMs in the container service cluster. :type windows_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterWindowsProfile - :param service_principal_profile: Information about a service principal - identity for the cluster to use for manipulating Azure APIs. + :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.v2021_05_01.models.ManagedClusterServicePrincipalProfile :param addon_profiles: Profile of managed cluster add-on. @@ -1204,81 +1633,74 @@ class ManagedCluster(Resource): :param pod_identity_profile: Profile of managed cluster pod identity. :type pod_identity_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProfile - :param node_resource_group: Name of the resource group containing agent - pool nodes. + :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. + :param enable_rbac: Whether to enable Kubernetes Role-Based Access Control. :type enable_rbac: bool - :param enable_pod_security_policy: (DEPRECATING) Whether to enable - Kubernetes pod security policy (preview). This feature is set for removal - on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. + :param enable_pod_security_policy: (DEPRECATING) Whether to enable Kubernetes pod security + policy (preview). This feature is set for removal on October 15th, 2020. Learn more at + aka.ms/aks/azpodpolicy. :type enable_pod_security_policy: bool :param network_profile: Profile of network configuration. :type network_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceNetworkProfile :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :type aad_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile :param auto_upgrade_profile: Profile of auto upgrade configuration. :type auto_upgrade_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the - cluster-autoscaler when enabled + :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. :type auto_scaler_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API - server. + :param api_server_access_profile: Access profile for managed cluster API server. :type api_server_access_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAPIServerAccessProfile - :param disk_encryption_set_id: ResourceId of the disk encryption set to - use for enabling encryption at rest. + :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.v2021_05_01.models.ManagedClusterPropertiesIdentityProfileValue] - :param private_link_resources: Private link resources associated with the - cluster. + ~azure.mgmt.containerservice.v2021_05_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] + :param private_link_resources: Private link resources associated with the cluster. :type private_link_resources: list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] - :param disable_local_accounts: If set to true, getting static credential - will be disabled for this cluster. Expected to only be used for AAD - clusters. + :param disable_local_accounts: If set to true, getting static credential will be disabled for + this cluster. Expected to only be used for AAD clusters. :type disable_local_accounts: bool - :param http_proxy_config: Configurations for provisioning the cluster with - HTTP proxy servers. + :param http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. :type http_proxy_config: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterHTTPProxyConfig - :param identity: The identity of the managed cluster, if configured. - :type identity: - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :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 sku: The managed cluster SKU. - :type sku: - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKU + :type sku: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKU :param extended_location: The extended location of the Virtual Machine. - :type extended_location: - ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocation + :type extended_location: ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocation """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, 'max_agent_pools': {'readonly': True}, 'fqdn': {'readonly': True}, 'private_fqdn': {'readonly': True}, 'azure_portal_fqdn': {'readonly': True}, + '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}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, @@ -1303,17 +1725,53 @@ class ManagedCluster(Resource): '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_profile': {'key': 'properties.identityProfile', 'type': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'id': {'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': 'ManagedClusterSKU'}, 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, } - def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dns_prefix: str=None, fqdn_subdomain: str=None, agent_pool_profiles=None, linux_profile=None, windows_profile=None, service_principal_profile=None, addon_profiles=None, pod_identity_profile=None, node_resource_group: str=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, auto_upgrade_profile=None, auto_scaler_profile=None, api_server_access_profile=None, disk_encryption_set_id: str=None, identity_profile=None, private_link_resources=None, disable_local_accounts: bool=None, http_proxy_config=None, identity=None, sku=None, extended_location=None, **kwargs) -> None: - super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) + def __init__( + self, + *, + location: str, + identity: Optional["ManagedClusterIdentity"] = None, + kubernetes_version: Optional[str] = None, + dns_prefix: Optional[str] = None, + fqdn_subdomain: Optional[str] = None, + agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, + linux_profile: Optional["ContainerServiceLinuxProfile"] = None, + windows_profile: Optional["ManagedClusterWindowsProfile"] = None, + service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, + addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, + pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, + node_resource_group: Optional[str] = None, + enable_rbac: Optional[bool] = None, + enable_pod_security_policy: Optional[bool] = None, + network_profile: Optional["ContainerServiceNetworkProfile"] = None, + aad_profile: Optional["ManagedClusterAADProfile"] = None, + auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, + auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, + api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, + disk_encryption_set_id: Optional[str] = None, + identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, + private_link_resources: Optional[List["PrivateLinkResource"]] = None, + disable_local_accounts: Optional[bool] = None, + http_proxy_config: Optional["ManagedClusterHTTPProxyConfig"] = None, + tags: Optional[Dict[str, str]] = None, + sku: Optional["ManagedClusterSKU"] = None, + extended_location: Optional["ExtendedLocation"] = None, + **kwargs + ): + super(ManagedCluster, self).__init__(location=location, tags=tags, identity=identity, kubernetes_version=kubernetes_version, dns_prefix=dns_prefix, fqdn_subdomain=fqdn_subdomain, agent_pool_profiles=agent_pool_profiles, linux_profile=linux_profile, windows_profile=windows_profile, service_principal_profile=service_principal_profile, addon_profiles=addon_profiles, pod_identity_profile=pod_identity_profile, node_resource_group=node_resource_group, enable_rbac=enable_rbac, enable_pod_security_policy=enable_pod_security_policy, network_profile=network_profile, aad_profile=aad_profile, auto_upgrade_profile=auto_upgrade_profile, auto_scaler_profile=auto_scaler_profile, api_server_access_profile=api_server_access_profile, disk_encryption_set_id=disk_encryption_set_id, identity_profile=identity_profile, private_link_resources=private_link_resources, disable_local_accounts=disable_local_accounts, http_proxy_config=http_proxy_config, **kwargs) + self.identity = identity self.provisioning_state = None self.power_state = None self.max_agent_pools = None @@ -1342,48 +1800,63 @@ def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dn self.private_link_resources = private_link_resources self.disable_local_accounts = disable_local_accounts self.http_proxy_config = http_proxy_config - self.identity = identity + self.sku = sku + self.extended_location = extended_location + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags self.sku = sku self.extended_location = extended_location -class ManagedClusterAADProfile(Model): +class ManagedClusterAADProfile(msrest.serialization.Model): """AADProfile specifies attributes for Azure Active Directory integration. :param managed: Whether to enable managed AAD. :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes - authorization. + :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. :type enable_azure_rbac: 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 admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. + :type admin_group_object_i_ds: 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. + :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'}, 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, - 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'admin_group_object_i_ds': {'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, enable_azure_rbac: 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: + def __init__( + self, + *, + managed: Optional[bool] = None, + enable_azure_rbac: Optional[bool] = None, + admin_group_object_i_ds: Optional[List[str]] = None, + client_app_id: Optional[str] = None, + server_app_id: Optional[str] = None, + server_app_secret: Optional[str] = None, + tenant_id: Optional[str] = None, + **kwargs + ): super(ManagedClusterAADProfile, self).__init__(**kwargs) self.managed = managed self.enable_azure_rbac = enable_azure_rbac - self.admin_group_object_ids = admin_group_object_ids + self.admin_group_object_i_ds = admin_group_object_i_ds self.client_app_id = client_app_id self.server_app_id = server_app_id self.server_app_secret = server_app_secret @@ -1393,20 +1866,19 @@ def __init__(self, *, managed: bool=None, enable_azure_rbac: bool=None, admin_gr class ManagedClusterAccessProfile(Resource): """Managed cluster Access Profile. - 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. - :ivar id: Resource Id + :ivar id: Resource Id. :vartype id: str - :ivar name: Resource name + :ivar name: Resource name. :vartype name: str - :ivar type: Resource type + :ivar type: Resource type. :vartype type: str - :param location: Required. Resource location + :param location: Required. Resource location. :type location: str - :param tags: Resource tags + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] :param kube_config: Base64-encoded Kubernetes configuration file. :type kube_config: bytearray @@ -1428,16 +1900,22 @@ class ManagedClusterAccessProfile(Resource): 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, } - def __init__(self, *, location: str, tags=None, kube_config: bytearray=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + kube_config: Optional[bytearray] = None, + **kwargs + ): super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) self.kube_config = kube_config -class ManagedClusterAddonProfile(Model): +class ManagedClusterAddonProfile(msrest.serialization.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. + Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. @@ -1461,37 +1939,19 @@ class ManagedClusterAddonProfile(Model): 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, } - def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: + def __init__( + self, + *, + enabled: bool, + config: Optional[Dict[str, str]] = None, + **kwargs + ): 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. @@ -1509,144 +1969,132 @@ class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): 'object_id': {'key': 'objectId', 'type': 'str'}, } - def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + def __init__( + self, + *, + resource_id: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) -class ManagedClusterAgentPoolProfileProperties(Model): +class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): """Properties for the container service agent pool profile. - 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 count: Number of agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 1000 (inclusive) for user pools and in - the range of 1 to 1000 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for + system pools. The default value is 1. :type count: int :param vm_size: Size of agent VMs. :type vm_size: str - :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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS", "Temporary". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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.v2021_05_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :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.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner + for Linux OSType. Not applicable to Windows OSType. Possible values include: "Ubuntu", + "CBLMariner". :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU - :param max_count: Maximum number of nodes for auto-scaling + :param max_count: Maximum number of nodes for auto-scaling. :type max_count: int - :param min_count: Minimum number of nodes for auto-scaling + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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.v2021_05_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param enable_node_public_ip: Enable public IP for nodes. :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs assigned from this + Public IP Prefix. :type node_public_ip_prefix_id: str - :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" . + :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.v2021_05_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" . + :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.v2021_05_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD + :param enable_ultra_ssd: Whether to enable UltraSSD. :type enable_ultra_ssd: bool - :param enable_fips: Whether to use FIPS enabled OS + :param enable_fips: Whether to use FIPS enabled OS. :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible + values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". :type gpu_instance_profile: str or ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile """ _validation = { + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1691,7 +2139,44 @@ class ManagedClusterAgentPoolProfileProperties(Model): 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, } - def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_ultra_ssd: bool=None, enable_fips: bool=None, gpu_instance_profile=None, **kwargs) -> None: + def __init__( + self, + *, + count: Optional[int] = None, + vm_size: Optional[str] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + os_sku: Optional[Union[str, "OSSKU"]] = None, + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + node_public_ip_prefix_id: Optional[str] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + enable_ultra_ssd: Optional[bool] = None, + enable_fips: Optional[bool] = None, + gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, + **kwargs + ): super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) self.count = count self.vm_size = vm_size @@ -1734,142 +2219,123 @@ def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=N 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. + Variables are only 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 agents (VMs) to host docker containers. Allowed - values must be in the range of 0 to 1000 (inclusive) for user pools and in - the range of 1 to 1000 (inclusive) for system pools. The default value is - 1. + :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the + range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for + system pools. The default value is 1. :type count: int :param vm_size: Size of agent VMs. :type vm_size: str - :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. + :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 os_disk_type: OS disk type to be used for machines in a given agent - pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, - defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache - disk larger than the requested OSDiskSizeGB. Otherwise, defaults to - 'Managed'. May not be changed after creation. Possible values include: - 'Managed', 'Ephemeral' - :type os_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of - emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. Possible values include: 'OS', 'Temporary' - :type kubelet_disk_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet - identifier for nodes and maybe pods + :param os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values + are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports + ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults + to 'Managed'. May not be changed after creation. Possible values include: "Managed", + "Ephemeral". + :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, + container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, + resulting in Kubelet using the OS disk for data. Possible values include: "OS", "Temporary". + :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe + pods. :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier - for pods. + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. :type pod_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.v2021_05_01.models.OSType - :param os_sku: OsSKU to be used to specify os sku. Choose from - Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows - OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :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.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner + for Linux OSType. Not applicable to Windows OSType. Possible values include: "Ubuntu", + "CBLMariner". :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU - :param max_count: Maximum number of nodes for auto-scaling + :param max_count: Maximum number of nodes for auto-scaling. :type max_count: int - :param min_count: Minimum number of nodes for auto-scaling + :param min_count: Minimum number of nodes for auto-scaling. :type min_count: int - :param enable_auto_scaling: Whether to enable auto-scaler + :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.v2021_05_01.models.AgentPoolType - :param mode: AgentPoolMode represents mode of an agent pool. Possible - values include: 'System', 'User' - :type mode: str or - ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when - creating the managed cluster. + :param type: AgentPoolType represents types of an agent pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible values include: "System", + "User". + :type mode: str or ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when creating the managed + cluster. :type orchestrator_version: str - :ivar node_image_version: Version of node image + :ivar node_image_version: Version of node image. :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool + :param upgrade_settings: Settings for upgrading the agentpool. :type upgrade_settings: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, - which only appears in the response. + :ivar provisioning_state: The current deployment or provisioning state, which only appears in + the response. :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped - :vartype power_state: - ~azure.mgmt.containerservice.v2021_05_01.models.PowerState - :param availability_zones: Availability zones for nodes. Must use - VirtualMachineScaleSets AgentPoolType. + :ivar power_state: Describes whether the Agent Pool is Running or Stopped. + :vartype power_state: ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :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 + :param enable_node_public_ip: Enable public IP for nodes. :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs - assigned from this Public IP Prefix. + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs assigned from this + Public IP Prefix. :type node_public_ip_prefix_id: str - :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" . + :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.v2021_05_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" . + :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.v2021_05_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. + :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. + :param tags: A set of 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. + :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. + :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 proximity_placement_group_id: The ID for Proximity Placement Group. :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of - kubelet on agent nodes. - :type kubelet_config: - ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of - linux agent nodes. - :type linux_os_config: - ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. + :type kubelet_config: ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. + :type linux_os_config: ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost. :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD + :param enable_ultra_ssd: Whether to enable UltraSSD. :type enable_ultra_ssd: bool - :param enable_fips: Whether to use FIPS enabled OS + :param enable_fips: Whether to use FIPS enabled OS. :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU - MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, - MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', - 'MIG3g', 'MIG4g', 'MIG7g' + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Possible + values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". :type gpu_instance_profile: str or ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile - :param name: Required. Unique name of the agent pool profile in the - context of the subscription and resource group. + :param name: Required. Unique name of the agent pool profile in the context of the subscription + and resource group. :type name: str """ _validation = { + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, 'node_image_version': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'power_state': {'readonly': True}, @@ -1916,24 +2382,60 @@ class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, *, name: str, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_ultra_ssd: bool=None, enable_fips: bool=None, gpu_instance_profile=None, **kwargs) -> None: + def __init__( + self, + *, + name: str, + count: Optional[int] = None, + vm_size: Optional[str] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + os_sku: Optional[Union[str, "OSSKU"]] = None, + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + node_public_ip_prefix_id: Optional[str] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + enable_ultra_ssd: Optional[bool] = None, + enable_fips: Optional[bool] = None, + gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, + **kwargs + ): super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, kubelet_disk_type=kubelet_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_subnet_id, max_pods=max_pods, os_type=os_type, os_sku=os_sku, max_count=max_count, min_count=min_count, enable_auto_scaling=enable_auto_scaling, type=type, mode=mode, orchestrator_version=orchestrator_version, upgrade_settings=upgrade_settings, availability_zones=availability_zones, enable_node_public_ip=enable_node_public_ip, node_public_ip_prefix_id=node_public_ip_prefix_id, 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, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, enable_encryption_at_host=enable_encryption_at_host, enable_ultra_ssd=enable_ultra_ssd, enable_fips=enable_fips, gpu_instance_profile=gpu_instance_profile, **kwargs) self.name = name -class ManagedClusterAPIServerAccessProfile(Model): +class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): """Access profile for managed cluster API server. - :param authorized_ip_ranges: Authorized IP Ranges to kubernetes 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. + :param enable_private_cluster: Whether to create the cluster as a private cluster or not. :type enable_private_cluster: bool :param private_dns_zone: Private dns zone mode for private cluster. :type private_dns_zone: str - :param enable_private_cluster_public_fqdn: Whether to create additional - public FQDN for private cluster or not. + :param enable_private_cluster_public_fqdn: Whether to create additional public FQDN for private + cluster or not. :type enable_private_cluster_public_fqdn: bool """ @@ -1944,7 +2446,15 @@ class ManagedClusterAPIServerAccessProfile(Model): 'enable_private_cluster_public_fqdn': {'key': 'enablePrivateClusterPublicFQDN', 'type': 'bool'}, } - def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=None, private_dns_zone: str=None, enable_private_cluster_public_fqdn: bool=None, **kwargs) -> None: + def __init__( + self, + *, + authorized_ip_ranges: Optional[List[str]] = None, + enable_private_cluster: Optional[bool] = None, + private_dns_zone: Optional[str] = None, + enable_private_cluster_public_fqdn: Optional[bool] = None, + **kwargs + ): super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) self.authorized_ip_ranges = authorized_ip_ranges self.enable_private_cluster = enable_private_cluster @@ -1952,25 +2462,29 @@ def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=No self.enable_private_cluster_public_fqdn = enable_private_cluster_public_fqdn -class ManagedClusterAutoUpgradeProfile(Model): +class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): """Auto upgrade profile for a managed cluster. - :param upgrade_channel: upgrade channel for auto upgrade. Possible values - include: 'rapid', 'stable', 'patch', 'node-image', 'none' - :type upgrade_channel: str or - ~azure.mgmt.containerservice.v2021_05_01.models.UpgradeChannel + :param upgrade_channel: upgrade channel for auto upgrade. Possible values include: "rapid", + "stable", "patch", "node-image", "none". + :type upgrade_channel: str or ~azure.mgmt.containerservice.v2021_05_01.models.UpgradeChannel """ _attribute_map = { 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, } - def __init__(self, *, upgrade_channel=None, **kwargs) -> None: + def __init__( + self, + *, + upgrade_channel: Optional[Union[str, "UpgradeChannel"]] = None, + **kwargs + ): super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) self.upgrade_channel = upgrade_channel -class ManagedClusterHTTPProxyConfig(Model): +class ManagedClusterHTTPProxyConfig(msrest.serialization.Model): """Configurations for provisioning the cluster with HTTP proxy servers. :param http_proxy: HTTP proxy server endpoint to use. @@ -1979,8 +2493,7 @@ class ManagedClusterHTTPProxyConfig(Model): :type https_proxy: str :param no_proxy: Endpoints that should not go through proxy. :type no_proxy: list[str] - :param trusted_ca: Alternative CA cert to use for connecting to proxy - servers. + :param trusted_ca: Alternative CA cert to use for connecting to proxy servers. :type trusted_ca: str """ @@ -1991,7 +2504,15 @@ class ManagedClusterHTTPProxyConfig(Model): 'trusted_ca': {'key': 'trustedCa', 'type': 'str'}, } - def __init__(self, *, http_proxy: str=None, https_proxy: str=None, no_proxy=None, trusted_ca: str=None, **kwargs) -> None: + def __init__( + self, + *, + http_proxy: Optional[str] = None, + https_proxy: Optional[str] = None, + no_proxy: Optional[List[str]] = None, + trusted_ca: Optional[str] = None, + **kwargs + ): super(ManagedClusterHTTPProxyConfig, self).__init__(**kwargs) self.http_proxy = http_proxy self.https_proxy = https_proxy @@ -1999,33 +2520,29 @@ def __init__(self, *, http_proxy: str=None, https_proxy: str=None, no_proxy=None self.trusted_ca = trusted_ca -class ManagedClusterIdentity(Model): +class ManagedClusterIdentity(msrest.serialization.Model): """Identity for the managed cluster. - 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 principal_id: The principal id of the system assigned identity which - is used by master components. + :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. + :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', 'UserAssigned', 'None' - :type type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the - managed cluster. This identity will be used in control plane and only one - user assigned identity is allowed. The user identity dictionary key - references will be ARM resource ids in the form: + :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", + "UserAssigned", "None". + :type type: str or ~azure.mgmt.containerservice.v2021_05_01.models.ResourceIdentityType + :param user_assigned_identities: The user identity associated with the managed cluster. This + identity will be used in control plane and only one user assigned identity is allowed. 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.containerservice.v2021_05_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] + ~azure.mgmt.containerservice.v2021_05_01.models.Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties] """ _validation = { @@ -2036,11 +2553,17 @@ class ManagedClusterIdentity(Model): _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': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties}'}, } - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, + **kwargs + ): super(ManagedClusterIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -2048,61 +2571,60 @@ def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> Non self.user_assigned_identities = user_assigned_identities -class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): - """ManagedClusterIdentityUserAssignedIdentitiesValue. +class ManagedClusterListResult(msrest.serialization.Model): + """The response from the List Managed Clusters 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 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 + :param value: The list of managed clusters. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :ivar next_link: The URL to get the next set of managed cluster results. + :vartype next_link: str """ _validation = { - 'principal_id': {'readonly': True}, - 'client_id': {'readonly': True}, + 'next_link': {'readonly': True}, } _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'client_id': {'key': 'clientId', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ManagedCluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: - super(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None + def __init__( + self, + *, + value: Optional[List["ManagedCluster"]] = None, + **kwargs + ): + super(ManagedClusterListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None -class ManagedClusterLoadBalancerProfile(Model): +class ManagedClusterLoadBalancerProfile(msrest.serialization.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: + :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. + :type managed_outbound_i_ps: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs - :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the - cluster load balancer. + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load + balancer. :type outbound_ip_prefixes: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_ips: Desired outbound IP resources for the cluster load - balancer. - :type outbound_ips: + :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. + :type outbound_i_ps: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_ips: The effective outbound IP resources of the - cluster load balancer. - :type effective_outbound_ips: + :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load + balancer. + :type effective_outbound_i_ps: list[~azure.mgmt.containerservice.v2021_05_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 . + :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. :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 . + :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. :type idle_timeout_in_minutes: int """ @@ -2112,30 +2634,39 @@ class ManagedClusterLoadBalancerProfile(Model): } _attribute_map = { - 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_i_ps': {'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: + def __init__( + self, + *, + managed_outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = None, + outbound_ip_prefixes: Optional["ManagedClusterLoadBalancerProfileOutboundIPPrefixes"] = None, + outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileOutboundIPs"] = None, + effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, + allocated_outbound_ports: Optional[int] = 0, + idle_timeout_in_minutes: Optional[int] = 30, + **kwargs + ): super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) - self.managed_outbound_ips = managed_outbound_ips + self.managed_outbound_i_ps = managed_outbound_i_ps self.outbound_ip_prefixes = outbound_ip_prefixes - self.outbound_ips = outbound_ips - self.effective_outbound_ips = effective_outbound_ips + self.outbound_i_ps = outbound_i_ps + self.effective_outbound_i_ps = effective_outbound_i_ps self.allocated_outbound_ports = allocated_outbound_ports self.idle_timeout_in_minutes = idle_timeout_in_minutes -class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.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 . + :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. :type count: int """ @@ -2147,12 +2678,17 @@ class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): 'count': {'key': 'count', 'type': 'int'}, } - def __init__(self, *, count: int=1, **kwargs) -> None: + def __init__( + self, + *, + count: Optional[int] = 1, + **kwargs + ): super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) self.count = count -class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): """Desired outbound IP Prefix resources for the cluster load balancer. :param public_ip_prefixes: A list of public IP prefix resources. @@ -2164,33 +2700,41 @@ class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, } - def __init__(self, *, public_ip_prefixes=None, **kwargs) -> None: + def __init__( + self, + *, + public_ip_prefixes: Optional[List["ResourceReference"]] = None, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) self.public_ip_prefixes = public_ip_prefixes -class ManagedClusterLoadBalancerProfileOutboundIPs(Model): +class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.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.v2021_05_01.models.ResourceReference] + :param public_i_ps: A list of public IP resources. + :type public_i_ps: list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] """ _attribute_map = { - 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, } - def __init__(self, *, public_ips=None, **kwargs) -> None: + def __init__( + self, + *, + public_i_ps: Optional[List["ResourceReference"]] = None, + **kwargs + ): super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_ips = public_ips + self.public_i_ps = public_i_ps -class ManagedClusterPodIdentity(Model): +class ManagedClusterPodIdentity(msrest.serialization.Model): """ManagedClusterPodIdentity. - 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. @@ -2198,15 +2742,12 @@ class ManagedClusterPodIdentity(Model): :type name: str :param namespace: Required. Namespace of the pod identity. :type namespace: str - :param binding_selector: Binding selector to use for the - AzureIdentityBinding resource. + :param binding_selector: Binding selector to use for the AzureIdentityBinding resource. :type binding_selector: str :param identity: Required. Information of the user assigned identity. - :type identity: - ~azure.mgmt.containerservice.v2021_05_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod - identity. Possible values include: 'Assigned', 'Updating', 'Deleting', - 'Failed' + :type identity: ~azure.mgmt.containerservice.v2021_05_01.models.UserAssignedIdentity + :ivar provisioning_state: The current provisioning state of the pod identity. Possible values + include: "Assigned", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProvisioningState :ivar provisioning_info: @@ -2231,7 +2772,15 @@ class ManagedClusterPodIdentity(Model): 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, } - def __init__(self, *, name: str, namespace: str, identity, binding_selector: str=None, **kwargs) -> None: + def __init__( + self, + *, + name: str, + namespace: str, + identity: "UserAssignedIdentity", + binding_selector: Optional[str] = None, + **kwargs + ): super(ManagedClusterPodIdentity, self).__init__(**kwargs) self.name = name self.namespace = namespace @@ -2241,7 +2790,7 @@ def __init__(self, *, name: str, namespace: str, identity, binding_selector: str self.provisioning_info = None -class ManagedClusterPodIdentityException(Model): +class ManagedClusterPodIdentityException(msrest.serialization.Model): """ManagedClusterPodIdentityException. All required parameters must be populated in order to send to Azure. @@ -2266,26 +2815,32 @@ class ManagedClusterPodIdentityException(Model): 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, } - def __init__(self, *, name: str, namespace: str, pod_labels, **kwargs) -> None: + def __init__( + self, + *, + name: str, + namespace: str, + pod_labels: Dict[str, str], + **kwargs + ): super(ManagedClusterPodIdentityException, self).__init__(**kwargs) self.name = name self.namespace = namespace self.pod_labels = pod_labels -class ManagedClusterPodIdentityProfile(Model): +class ManagedClusterPodIdentityProfile(msrest.serialization.Model): """ManagedClusterPodIdentityProfile. :param enabled: Whether the pod identity addon is enabled. :type enabled: bool - :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod - identity addon in cluster using Kubenet network plugin. + :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod identity addon in + cluster using Kubenet network plugin. :type allow_network_plugin_kubenet: bool :param user_assigned_identities: User assigned pod identity settings. :type user_assigned_identities: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity - exception settings. + :param user_assigned_identity_exceptions: User assigned pod identity exception settings. :type user_assigned_identity_exceptions: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityException] """ @@ -2297,7 +2852,15 @@ class ManagedClusterPodIdentityProfile(Model): 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, } - def __init__(self, *, enabled: bool=None, allow_network_plugin_kubenet: bool=None, user_assigned_identities=None, user_assigned_identity_exceptions=None, **kwargs) -> None: + def __init__( + self, + *, + enabled: Optional[bool] = None, + allow_network_plugin_kubenet: Optional[bool] = None, + user_assigned_identities: Optional[List["ManagedClusterPodIdentity"]] = None, + user_assigned_identity_exceptions: Optional[List["ManagedClusterPodIdentityException"]] = None, + **kwargs + ): super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) self.enabled = enabled self.allow_network_plugin_kubenet = allow_network_plugin_kubenet @@ -2305,7 +2868,7 @@ def __init__(self, *, enabled: bool=None, allow_network_plugin_kubenet: bool=Non self.user_assigned_identity_exceptions = user_assigned_identity_exceptions -class ManagedClusterPodIdentityProvisioningInfo(Model): +class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): """ManagedClusterPodIdentityProvisioningInfo. :param error: Pod identity assignment error (if any). @@ -2316,28 +2879,29 @@ class ManagedClusterPodIdentityProvisioningInfo(Model): 'error': {'key': 'error', 'type': 'CloudError'}, } - def __init__(self, *, error=None, **kwargs) -> None: + def __init__( + self, + *, + error: Optional["CloudError"] = None, + **kwargs + ): super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) self.error = error -class ManagedClusterPoolUpgradeProfile(Model): +class ManagedClusterPoolUpgradeProfile(msrest.serialization.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). + :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.v2021_05_01.models.OSType - :param upgrades: List of orchestrator types and versions available for - upgrade. + :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.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for upgrade. :type upgrades: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] """ @@ -2354,7 +2918,15 @@ class ManagedClusterPoolUpgradeProfile(Model): 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, } - def __init__(self, *, kubernetes_version: str, name: str=None, os_type="Linux", upgrades=None, **kwargs) -> None: + def __init__( + self, + *, + kubernetes_version: str, + os_type: Union[str, "OSType"] = "Linux", + name: Optional[str] = None, + upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, + **kwargs + ): super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) self.kubernetes_version = kubernetes_version self.name = name @@ -2362,7 +2934,7 @@ def __init__(self, *, kubernetes_version: str, name: str=None, os_type="Linux", self.upgrades = upgrades -class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): +class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): """ManagedClusterPoolUpgradeProfileUpgradesItem. :param kubernetes_version: Kubernetes version (major, minor, patch). @@ -2376,21 +2948,25 @@ class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): 'is_preview': {'key': 'isPreview', 'type': 'bool'}, } - def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + def __init__( + self, + *, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) self.kubernetes_version = kubernetes_version self.is_preview = is_preview -class ManagedClusterPropertiesAutoScalerProfile(Model): +class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): """Parameters to be applied to the cluster-autoscaler when enabled. :param balance_similar_node_groups: :type balance_similar_node_groups: str - :param expander: Possible values include: 'least-waste', 'most-pods', - 'priority', 'random' - :type expander: str or - ~azure.mgmt.containerservice.v2021_05_01.models.Expander + :param expander: Possible values include: "least-waste", "most-pods", "priority", "random". + :type expander: str or ~azure.mgmt.containerservice.v2021_05_01.models.Expander :param max_empty_bulk_delete: :type max_empty_bulk_delete: str :param max_graceful_termination_sec: @@ -2443,7 +3019,28 @@ class ManagedClusterPropertiesAutoScalerProfile(Model): 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, } - def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_empty_bulk_delete: str=None, max_graceful_termination_sec: str=None, max_node_provision_time: str=None, max_total_unready_percentage: str=None, new_pod_scale_up_delay: str=None, ok_total_unready_count: 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, skip_nodes_with_local_storage: str=None, skip_nodes_with_system_pods: str=None, **kwargs) -> None: + def __init__( + self, + *, + balance_similar_node_groups: Optional[str] = None, + expander: Optional[Union[str, "Expander"]] = None, + max_empty_bulk_delete: Optional[str] = None, + max_graceful_termination_sec: Optional[str] = None, + max_node_provision_time: Optional[str] = None, + max_total_unready_percentage: Optional[str] = None, + new_pod_scale_up_delay: Optional[str] = None, + ok_total_unready_count: Optional[str] = None, + scan_interval: Optional[str] = None, + scale_down_delay_after_add: Optional[str] = None, + scale_down_delay_after_delete: Optional[str] = None, + scale_down_delay_after_failure: Optional[str] = None, + scale_down_unneeded_time: Optional[str] = None, + scale_down_unready_time: Optional[str] = None, + scale_down_utilization_threshold: Optional[str] = None, + skip_nodes_with_local_storage: Optional[str] = None, + skip_nodes_with_system_pods: Optional[str] = None, + **kwargs + ): super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) self.balance_similar_node_groups = balance_similar_node_groups self.expander = expander @@ -2464,37 +3061,14 @@ def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_ self.skip_nodes_with_system_pods = skip_nodes_with_system_pods -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. +class ManagedClusterServicePrincipalProfile(msrest.serialization.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. + :param secret: The secret password associated with the service principal in plain text. :type secret: str """ @@ -2507,23 +3081,25 @@ class ManagedClusterServicePrincipalProfile(Model): 'secret': {'key': 'secret', 'type': 'str'}, } - def __init__(self, *, client_id: str, secret: str=None, **kwargs) -> None: + def __init__( + self, + *, + client_id: str, + secret: Optional[str] = None, + **kwargs + ): super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) self.client_id = client_id self.secret = secret -class ManagedClusterSKU(Model): +class ManagedClusterSKU(msrest.serialization.Model): """ManagedClusterSKU. - :param name: Name of a managed cluster SKU. Possible values include: - 'Basic' - :type name: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: - 'Paid', 'Free' - :type tier: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUTier + :param name: Name of a managed cluster SKU. Possible values include: "Basic". + :type name: str or ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". + :type tier: str or ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUTier """ _attribute_map = { @@ -2531,17 +3107,22 @@ class ManagedClusterSKU(Model): 'tier': {'key': 'tier', 'type': 'str'}, } - def __init__(self, *, name=None, tier=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[Union[str, "ManagedClusterSKUName"]] = None, + tier: Optional[Union[str, "ManagedClusterSKUTier"]] = None, + **kwargs + ): super(ManagedClusterSKU, self).__init__(**kwargs) self.name = name self.tier = tier -class ManagedClusterUpgradeProfile(Model): +class ManagedClusterUpgradeProfile(msrest.serialization.Model): """The list of available upgrades for compute pools. - 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. @@ -2551,12 +3132,11 @@ class ManagedClusterUpgradeProfile(Model): :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. + :param control_plane_profile: Required. The list of available upgrade versions for the control + plane. :type control_plane_profile: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile - :param agent_pool_profiles: Required. The list of available upgrade - versions for agent pools. + :param agent_pool_profiles: Required. The list of available upgrade versions for agent pools. :type agent_pool_profiles: list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile] """ @@ -2577,7 +3157,13 @@ class ManagedClusterUpgradeProfile(Model): 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, } - def __init__(self, *, control_plane_profile, agent_pool_profiles, **kwargs) -> None: + def __init__( + self, + *, + control_plane_profile: "ManagedClusterPoolUpgradeProfile", + agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], + **kwargs + ): super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) self.id = None self.name = None @@ -2586,34 +3172,30 @@ def __init__(self, *, control_plane_profile, agent_pool_profiles, **kwargs) -> N self.agent_pool_profiles = agent_pool_profiles -class ManagedClusterWindowsProfile(Model): +class ManagedClusterWindowsProfile(msrest.serialization.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. Specifies the name of the administrator - account.

**restriction:** Cannot end in "."

**Disallowed - values:** "administrator", "admin", "user", "user1", "test", "user2", - "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", - "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", - "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", - "user4", "user5".

**Minimum-length:** 1 character

- **Max-length:** 20 characters + :param admin_username: Required. Specifies the name of the administrator account. + :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` + **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", + "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", + "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", + "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. :type admin_username: str - :param admin_password: Specifies the password of the administrator - account.

**Minimum-length:** 8 characters

- **Max-length:** 123 characters

**Complexity requirements:** 3 out - of 4 conditions below need to be fulfilled
Has lower characters -
Has upper characters
Has a digit
Has a special character - (Regex match [\\W_])

**Disallowed values:** "abc@123", - "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", - "Password!", "Password1", "Password22", "iloveyou!" + :param admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. - Windows_Server is used to enable Azure Hybrid User Benefits for Windows - VMs. Possible values include: 'None', 'Windows_Server' - :type license_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.LicenseType + :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable + Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". + :type license_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.LicenseType :param enable_csi_proxy: Whether to enable CSI proxy. :type enable_csi_proxy: bool """ @@ -2629,7 +3211,15 @@ class ManagedClusterWindowsProfile(Model): 'enable_csi_proxy': {'key': 'enableCSIProxy', 'type': 'bool'}, } - def __init__(self, *, admin_username: str, admin_password: str=None, license_type=None, enable_csi_proxy: bool=None, **kwargs) -> None: + def __init__( + self, + *, + admin_username: str, + admin_password: Optional[str] = None, + license_type: Optional[Union[str, "LicenseType"]] = None, + enable_csi_proxy: Optional[bool] = None, + **kwargs + ): super(ManagedClusterWindowsProfile, self).__init__(**kwargs) self.admin_username = admin_username self.admin_password = admin_password @@ -2637,11 +3227,35 @@ def __init__(self, *, admin_username: str, admin_password: str=None, license_typ self.enable_csi_proxy = enable_csi_proxy -class OperationValue(Model): +class OperationListResult(msrest.serialization.Model): + """The List Compute Operation operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of compute operations. + :vartype value: list[~azure.mgmt.containerservice.v2021_05_01.models.OperationValue] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationValue]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + + +class OperationValue(msrest.serialization.Model): """Describes the properties of a Compute Operation value. - 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 origin: The origin of the compute operation. :vartype origin: str @@ -2675,7 +3289,10 @@ class OperationValue(Model): 'provider': {'key': 'display.provider', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(OperationValue, self).__init__(**kwargs) self.origin = None self.name = None @@ -2685,11 +3302,10 @@ def __init__(self, **kwargs) -> None: self.provider = None -class OSOptionProfile(Model): +class OSOptionProfile(msrest.serialization.Model): """The OS option profile. - 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. @@ -2699,8 +3315,7 @@ class OSOptionProfile(Model): :vartype name: str :ivar type: Type of the OS option profile. :vartype type: str - :param os_option_property_list: Required. The list of OS option - properties. + :param os_option_property_list: Required. The list of OS option properties. :type os_option_property_list: list[~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProperty] """ @@ -2719,7 +3334,12 @@ class OSOptionProfile(Model): 'os_option_property_list': {'key': 'properties.osOptionPropertyList', 'type': '[OSOptionProperty]'}, } - def __init__(self, *, os_option_property_list, **kwargs) -> None: + def __init__( + self, + *, + os_option_property_list: List["OSOptionProperty"], + **kwargs + ): super(OSOptionProfile, self).__init__(**kwargs) self.id = None self.name = None @@ -2727,7 +3347,7 @@ def __init__(self, *, os_option_property_list, **kwargs) -> None: self.os_option_property_list = os_option_property_list -class OSOptionProperty(Model): +class OSOptionProperty(msrest.serialization.Model): """OS option property. All required parameters must be populated in order to send to Azure. @@ -2748,21 +3368,26 @@ class OSOptionProperty(Model): 'enable_fips_image': {'key': 'enable-fips-image', 'type': 'bool'}, } - def __init__(self, *, os_type: str, enable_fips_image: bool, **kwargs) -> None: + def __init__( + self, + *, + os_type: str, + enable_fips_image: bool, + **kwargs + ): super(OSOptionProperty, self).__init__(**kwargs) self.os_type = os_type self.enable_fips_image = enable_fips_image -class OutboundEnvironmentEndpoint(Model): +class OutboundEnvironmentEndpoint(msrest.serialization.Model): """Egress endpoints which AKS agent nodes connect to for common purpose. - :param category: The category of endpoints accessed by the AKS agent node, - e.g. azure-resource-management, apiserver, etc. + :param category: The category of endpoints accessed by the AKS agent node, e.g. + azure-resource-management, apiserver, etc. :type category: str - :param endpoints: The endpoints that AKS agent nodes connect to - :type endpoints: - list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDependency] + :param endpoints: The endpoints that AKS agent nodes connect to. + :type endpoints: list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDependency] """ _attribute_map = { @@ -2770,17 +3395,57 @@ class OutboundEnvironmentEndpoint(Model): 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, } - def __init__(self, *, category: str=None, endpoints=None, **kwargs) -> None: + def __init__( + self, + *, + category: Optional[str] = None, + endpoints: Optional[List["EndpointDependency"]] = None, + **kwargs + ): super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) self.category = category self.endpoints = endpoints -class PowerState(Model): +class OutboundEnvironmentEndpointCollection(msrest.serialization.Model): + """Collection of OutboundEnvironmentEndpoint. + + Variables are only 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpoint] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["OutboundEnvironmentEndpoint"], + **kwargs + ): + super(OutboundEnvironmentEndpointCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class PowerState(msrest.serialization.Model): """Describes the Power State of the cluster. - :param code: Tells whether the cluster is Running or Stopped. Possible - values include: 'Running', 'Stopped' + :param code: Tells whether the cluster is Running or Stopped. Possible values include: + "Running", "Stopped". :type code: str or ~azure.mgmt.containerservice.v2021_05_01.models.Code """ @@ -2788,15 +3453,20 @@ class PowerState(Model): 'code': {'key': 'code', 'type': 'str'}, } - def __init__(self, *, code=None, **kwargs) -> None: + def __init__( + self, + *, + code: Optional[Union[str, "Code"]] = None, + **kwargs + ): super(PowerState, self).__init__(**kwargs) self.code = code -class PrivateEndpoint(Model): +class PrivateEndpoint(msrest.serialization.Model): """Private endpoint which a connection belongs to. - :param id: The resource Id for private endpoint + :param id: The resource Id for private endpoint. :type id: str """ @@ -2804,18 +3474,20 @@ class PrivateEndpoint(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, *, id: str=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): super(PrivateEndpoint, self).__init__(**kwargs) self.id = id -class PrivateEndpointConnection(Model): +class PrivateEndpointConnection(msrest.serialization.Model): """A private endpoint 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. + Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ID of the private endpoint connection. :vartype id: str @@ -2823,16 +3495,14 @@ class PrivateEndpointConnection(Model): :vartype name: str :ivar type: The resource type. :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Failed' + :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", + "Creating", "Deleting", "Failed". :vartype provisioning_state: str or ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionProvisioningState :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_05_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_endpoint: ~azure.mgmt.containerservice.v2021_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.containerservice.v2021_05_01.models.PrivateLinkServiceConnectionState """ @@ -2842,7 +3512,6 @@ class PrivateEndpointConnection(Model): 'name': {'readonly': True}, 'type': {'readonly': True}, 'provisioning_state': {'readonly': True}, - 'private_link_service_connection_state': {'required': True}, } _attribute_map = { @@ -2854,7 +3523,13 @@ class PrivateEndpointConnection(Model): 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, } - def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: + def __init__( + self, + *, + private_endpoint: Optional["PrivateEndpoint"] = None, + private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, + **kwargs + ): super(PrivateEndpointConnection, self).__init__(**kwargs) self.id = None self.name = None @@ -2864,28 +3539,31 @@ def __init__(self, *, private_link_service_connection_state, private_endpoint=No self.private_link_service_connection_state = private_link_service_connection_state -class PrivateEndpointConnectionListResult(Model): +class PrivateEndpointConnectionListResult(msrest.serialization.Model): """A list of private endpoint connections. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection] + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, } - def __init__(self, *, value=None, **kwargs) -> None: + def __init__( + self, + *, + value: Optional[List["PrivateEndpointConnection"]] = None, + **kwargs + ): super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) self.value = value -class PrivateLinkResource(Model): +class PrivateLinkResource(msrest.serialization.Model): """A private link resource. - 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 id: The ID of the private link resource. :type id: str @@ -2895,10 +3573,10 @@ class PrivateLinkResource(Model): :type type: str :param group_id: The group ID of the resource. :type group_id: str - :param required_members: RequiredMembers of the resource + :param required_members: RequiredMembers of the resource. :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the - resource, this field is exposed only to NRP internally. + :ivar private_link_service_id: The private link service ID of the resource, this field is + exposed only to NRP internally. :vartype private_link_service_id: str """ @@ -2915,7 +3593,16 @@ class PrivateLinkResource(Model): 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, } - def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: str=None, required_members=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + type: Optional[str] = None, + group_id: Optional[str] = None, + required_members: Optional[List[str]] = None, + **kwargs + ): super(PrivateLinkResource, self).__init__(**kwargs) self.id = id self.name = name @@ -2925,30 +3612,33 @@ def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: st self.private_link_service_id = None -class PrivateLinkResourcesListResult(Model): +class PrivateLinkResourcesListResult(msrest.serialization.Model): """A list of private link resources. :param value: The collection value. - :type value: - list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + :type value: list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] """ _attribute_map = { 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, } - def __init__(self, *, value=None, **kwargs) -> None: + def __init__( + self, + *, + value: Optional[List["PrivateLinkResource"]] = None, + **kwargs + ): super(PrivateLinkResourcesListResult, self).__init__(**kwargs) self.value = value -class PrivateLinkServiceConnectionState(Model): +class PrivateLinkServiceConnectionState(msrest.serialization.Model): """The state of a private link service connection. - :param status: The private link service connection status. Possible values - include: 'Pending', 'Approved', 'Rejected', 'Disconnected' - :type status: str or - ~azure.mgmt.containerservice.v2021_05_01.models.ConnectionStatus + :param status: The private link service connection status. Possible values include: "Pending", + "Approved", "Rejected", "Disconnected". + :type status: str or ~azure.mgmt.containerservice.v2021_05_01.models.ConnectionStatus :param description: The private link service connection description. :type description: str """ @@ -2958,13 +3648,19 @@ class PrivateLinkServiceConnectionState(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, *, status=None, description: str=None, **kwargs) -> None: + def __init__( + self, + *, + status: Optional[Union[str, "ConnectionStatus"]] = None, + description: Optional[str] = None, + **kwargs + ): super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) self.status = status self.description = description -class ResourceReference(Model): +class ResourceReference(msrest.serialization.Model): """A reference to an Azure resource. :param id: The fully qualified Azure resource id. @@ -2975,20 +3671,24 @@ class ResourceReference(Model): 'id': {'key': 'id', 'type': 'str'}, } - def __init__(self, *, id: str=None, **kwargs) -> None: + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): super(ResourceReference, self).__init__(**kwargs) self.id = id -class RunCommandRequest(Model): +class RunCommandRequest(msrest.serialization.Model): """run command request. All required parameters must be populated in order to send to Azure. :param command: Required. command to run. :type command: str - :param context: base64 encoded zip file, contains files required by the - command + :param context: base64 encoded zip file, contains files required by the command. :type context: str :param cluster_token: AuthToken issued for AKS AAD Server App. :type cluster_token: str @@ -3004,29 +3704,35 @@ class RunCommandRequest(Model): 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, } - def __init__(self, *, command: str, context: str=None, cluster_token: str=None, **kwargs) -> None: + def __init__( + self, + *, + command: str, + context: Optional[str] = None, + cluster_token: Optional[str] = None, + **kwargs + ): super(RunCommandRequest, self).__init__(**kwargs) self.command = command self.context = context self.cluster_token = cluster_token -class RunCommandResult(Model): +class RunCommandResult(msrest.serialization.Model): """run command result. - 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 id: command id. :vartype id: str - :ivar provisioning_state: provisioning State + :ivar provisioning_state: provisioning State. :vartype provisioning_state: str - :ivar exit_code: exit code of the command + :ivar exit_code: exit code of the command. :vartype exit_code: int :ivar started_at: time when the command started. - :vartype started_at: datetime + :vartype started_at: ~datetime.datetime :ivar finished_at: time when the command finished. - :vartype finished_at: datetime + :vartype finished_at: ~datetime.datetime :ivar logs: command output. :vartype logs: str :ivar reason: explain why provisioningState is set to failed (if so). @@ -3053,7 +3759,10 @@ class RunCommandResult(Model): 'reason': {'key': 'properties.reason', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(RunCommandResult, self).__init__(**kwargs) self.id = None self.provisioning_state = None @@ -3064,13 +3773,12 @@ def __init__(self, **kwargs) -> None: self.reason = None -class SysctlConfig(Model): +class SysctlConfig(msrest.serialization.Model): """Sysctl settings for Linux agent nodes. :param net_core_somaxconn: Sysctl setting net.core.somaxconn. :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting - net.core.netdev_max_backlog. + :param net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. :type net_core_netdev_max_backlog: int :param net_core_rmem_default: Sysctl setting net.core.rmem_default. :type net_core_rmem_default: int @@ -3082,45 +3790,33 @@ class SysctlConfig(Model): :type net_core_wmem_max: int :param net_core_optmem_max: Sysctl setting net.core.optmem_max. :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting - net.ipv4.tcp_max_syn_backlog. + :param net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting - net.ipv4.tcp_max_tw_buckets. + :param net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. :type net_ipv4_tcp_max_tw_buckets: int :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting - net.ipv4.tcp_keepalive_time. + :param net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting - net.ipv4.tcp_keepalive_probes. + :param net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting - net.ipv4.tcp_keepalive_intvl. + :param net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. :type net_ipv4_tcpkeepalive_intvl: int :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting - net.ipv4.ip_local_port_range. + :param net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting - net.ipv4.neigh.default.gc_thresh1. + :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting - net.ipv4.neigh.default.gc_thresh2. + :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting - net.ipv4.neigh.default.gc_thresh3. + :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting - net.netfilter.nf_conntrack_max. + :param net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting - net.netfilter.nf_conntrack_buckets. + :param net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting - fs.inotify.max_user_watches. + :param fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. :type fs_inotify_max_user_watches: int :param fs_file_max: Sysctl setting fs.file-max. :type fs_file_max: int @@ -3169,7 +3865,39 @@ class SysctlConfig(Model): 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, } - def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: int=None, net_core_rmem_default: int=None, net_core_rmem_max: int=None, net_core_wmem_default: int=None, net_core_wmem_max: int=None, net_core_optmem_max: int=None, net_ipv4_tcp_max_syn_backlog: int=None, net_ipv4_tcp_max_tw_buckets: int=None, net_ipv4_tcp_fin_timeout: int=None, net_ipv4_tcp_keepalive_time: int=None, net_ipv4_tcp_keepalive_probes: int=None, net_ipv4_tcpkeepalive_intvl: int=None, net_ipv4_tcp_tw_reuse: bool=None, net_ipv4_ip_local_port_range: str=None, net_ipv4_neigh_default_gc_thresh1: int=None, net_ipv4_neigh_default_gc_thresh2: int=None, net_ipv4_neigh_default_gc_thresh3: int=None, net_netfilter_nf_conntrack_max: int=None, net_netfilter_nf_conntrack_buckets: int=None, fs_inotify_max_user_watches: int=None, fs_file_max: int=None, fs_aio_max_nr: int=None, fs_nr_open: int=None, kernel_threads_max: int=None, vm_max_map_count: int=None, vm_swappiness: int=None, vm_vfs_cache_pressure: int=None, **kwargs) -> None: + def __init__( + self, + *, + net_core_somaxconn: Optional[int] = None, + net_core_netdev_max_backlog: Optional[int] = None, + net_core_rmem_default: Optional[int] = None, + net_core_rmem_max: Optional[int] = None, + net_core_wmem_default: Optional[int] = None, + net_core_wmem_max: Optional[int] = None, + net_core_optmem_max: Optional[int] = None, + net_ipv4_tcp_max_syn_backlog: Optional[int] = None, + net_ipv4_tcp_max_tw_buckets: Optional[int] = None, + net_ipv4_tcp_fin_timeout: Optional[int] = None, + net_ipv4_tcp_keepalive_time: Optional[int] = None, + net_ipv4_tcp_keepalive_probes: Optional[int] = None, + net_ipv4_tcpkeepalive_intvl: Optional[int] = None, + net_ipv4_tcp_tw_reuse: Optional[bool] = None, + net_ipv4_ip_local_port_range: Optional[str] = None, + net_ipv4_neigh_default_gc_thresh1: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh2: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh3: Optional[int] = None, + net_netfilter_nf_conntrack_max: Optional[int] = None, + net_netfilter_nf_conntrack_buckets: Optional[int] = None, + fs_inotify_max_user_watches: Optional[int] = None, + fs_file_max: Optional[int] = None, + fs_aio_max_nr: Optional[int] = None, + fs_nr_open: Optional[int] = None, + kernel_threads_max: Optional[int] = None, + vm_max_map_count: Optional[int] = None, + vm_swappiness: Optional[int] = None, + vm_vfs_cache_pressure: Optional[int] = None, + **kwargs + ): super(SysctlConfig, self).__init__(**kwargs) self.net_core_somaxconn = net_core_somaxconn self.net_core_netdev_max_backlog = net_core_netdev_max_backlog @@ -3201,27 +3929,24 @@ def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: self.vm_vfs_cache_pressure = vm_vfs_cache_pressure -class SystemData(Model): +class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. :param created_by: The identity that created the resource. :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or - ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime + :type created_at: ~datetime.datetime :param last_modified_by: The identity that last modified the resource. :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". :type last_modified_by_type: str or ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the - resource. - :type last_modified_at: datetime + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -3233,7 +3958,17 @@ class SystemData(Model): 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type @@ -3243,10 +3978,10 @@ def __init__(self, *, created_by: str=None, created_by_type=None, created_at=Non self.last_modified_at = last_modified_at -class TagsObject(Model): +class TagsObject(msrest.serialization.Model): """Tags object for patch operations. - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] """ @@ -3254,16 +3989,21 @@ class TagsObject(Model): 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, tags=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(TagsObject, self).__init__(**kwargs) self.tags = tags -class TimeInWeek(Model): +class TimeInWeek(msrest.serialization.Model): """Time in a week. - :param day: A day in a week. Possible values include: 'Sunday', 'Monday', - 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + :param day: A day in a week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". :type day: str or ~azure.mgmt.containerservice.v2021_05_01.models.WeekDay :param hour_slots: hour slots in a day. :type hour_slots: list[int] @@ -3274,19 +4014,25 @@ class TimeInWeek(Model): 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, } - def __init__(self, *, day=None, hour_slots=None, **kwargs) -> None: + def __init__( + self, + *, + day: Optional[Union[str, "WeekDay"]] = None, + hour_slots: Optional[List[int]] = None, + **kwargs + ): super(TimeInWeek, self).__init__(**kwargs) self.day = day self.hour_slots = hour_slots -class TimeSpan(Model): +class TimeSpan(msrest.serialization.Model): """The time span with start and end properties. - :param start: The start of a time span - :type start: datetime - :param end: The end of a time span - :type end: datetime + :param start: The start of a time span. + :type start: ~datetime.datetime + :param end: The end of a time span. + :type end: ~datetime.datetime """ _attribute_map = { @@ -3294,7 +4040,13 @@ class TimeSpan(Model): 'end': {'key': 'end', 'type': 'iso-8601'}, } - def __init__(self, *, start=None, end=None, **kwargs) -> None: + def __init__( + self, + *, + start: Optional[datetime.datetime] = None, + end: Optional[datetime.datetime] = None, + **kwargs + ): super(TimeSpan, self).__init__(**kwargs) self.start = start self.end = end diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.py deleted file mode 100644 index 8908e2e503c..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 OutboundEnvironmentEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`OutboundEnvironmentEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(OutboundEnvironmentEndpointPaged, self).__init__(*args, **kwargs) -class MaintenanceConfigurationPaged(Paged): - """ - A paging container for iterating over a list of :class:`MaintenanceConfiguration ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[MaintenanceConfiguration]'} - } - - def __init__(self, *args, **kwargs): - - super(MaintenanceConfigurationPaged, 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/v2021_05_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.py old mode 100644 new mode 100755 index d7bfa3f00fe..3942e0ca6a0 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.py @@ -1,12 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ._operations import Operations diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py old mode 100644 new mode 100755 index 9e9dbfdb01d..76b28d7fd51 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py @@ -1,127 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2021_05_01.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. - :ivar api_version: Client Api Version. Constant value: "2021-05-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-05-01" - - self.config = config + self._config = config def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.AgentPoolListResult"] """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. + 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.v2021_05_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('AgentPoolListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AgentPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore def get( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPool" """Gets the agent pool. - Gets the details of the agent pool by managed cluster and resource - group. + 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 @@ -129,115 +143,122 @@ def get( :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.v2021_05_01.models.AgentPool or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPool, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPool + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore def _create_or_update_initial( - self, resource_group_name, resource_name, agent_pool_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + parameters, # type: "_models.AgentPool" + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPool" + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_or_update.metadata['url'] + url = self._create_or_update_initial.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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, 'AgentPool') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'AgentPool') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) + if response.status_code == 201: - deserialized = self._deserialize('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) 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): + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + parameters, # type: "_models.AgentPool" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AgentPool"] """Creates or updates an agent pool. Creates or updates an agent pool in the specified managed cluster. @@ -248,92 +269,121 @@ def create_or_update( :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.v2021_05_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.v2021_05_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool]] - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Create or Update an agent pool operation. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either AgentPool or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + 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, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore def _delete_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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): + 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes an agent pool. Deletes the agent pool in the specified managed cluster. @@ -344,46 +394,72 @@ def delete( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: 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}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore def get_upgrade_profile( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPoolUpgradeProfile" """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. + 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 @@ -391,63 +467,60 @@ def get_upgrade_profile( :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.v2021_05_01.models.AgentPoolUpgradeProfile - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get_upgrade_profile.metadata['url'] + url = self.get_upgrade_profile.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('AgentPoolUpgradeProfile', response) + deserialized = self._deserialize('AgentPoolUpgradeProfile', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore def get_available_agent_pool_versions( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.AgentPoolAvailableVersions" """Gets a list of supported versions for the specified agent pool. Gets a list of supported versions for the specified agent pool. @@ -456,109 +529,112 @@ def get_available_agent_pool_versions( :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.v2021_05_01.models.AgentPoolAvailableVersions - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolAvailableVersions, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolAvailableVersions + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get_available_agent_pool_versions.metadata['url'] + url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('AgentPoolAvailableVersions', response) + deserialized = self._deserialize('AgentPoolAvailableVersions', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} - + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore def _upgrade_node_image_version_initial( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.AgentPool"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.upgrade_node_image_version.metadata['url'] + url = self._upgrade_node_image_version_initial.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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 == 202: - deserialized = self._deserialize('AgentPool', response) + deserialized = self._deserialize('AgentPool', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def upgrade_node_image_version( - self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + + def begin_upgrade_node_image_version( + self, + resource_group_name, # type: str + resource_name, # type: str + agent_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AgentPool"] """Upgrade node image version of an agent pool to the latest. Upgrade node image version of an agent pool to the latest. @@ -569,42 +645,59 @@ def upgrade_node_image_version( :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 AgentPool or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._upgrade_node_image_version_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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('AgentPool', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._upgrade_node_image_version_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py old mode 100644 new mode 100755 index 9a2f30f5508..0fdcd1ee2fa --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py @@ -1,129 +1,139 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 MaintenanceConfigurationsOperations(object): """MaintenanceConfigurationsOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.containerservice.v2021_05_01.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. - :ivar api_version: Client Api Version. Constant value: "2021-05-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-05-01" - - self.config = config + self._config = config def list_by_managed_cluster( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of maintenance configurations in the specified managed - cluster. + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MaintenanceConfigurationListResult"] + """Gets a list of maintenance configurations in the specified managed cluster. - Gets a list of maintenance configurations in the specified managed - cluster. The operation returns properties of each maintenance - configuration. + Gets a list of maintenance configurations in the specified managed cluster. The operation + returns properties of each maintenance configuration. :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 MaintenanceConfiguration - :rtype: - ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfigurationPaged[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfigurationListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_managed_cluster.metadata['url'] + url = self.list_by_managed_cluster.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('MaintenanceConfigurationListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.MaintenanceConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} + return ItemPaged( + get_next, extract_data + ) + list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore def get( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + config_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.MaintenanceConfiguration" """Gets the maintenance configuration. - Gets the details of maintenance configurations by managed cluster and - resource group. + Gets the details of maintenance configurations by managed cluster and resource group. :param resource_group_name: The name of the resource group. :type resource_group_name: str @@ -131,120 +141,138 @@ def get( :type resource_name: str :param config_name: The name of the maintenance configuration. :type 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: MaintenanceConfiguration or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str') + 'configName': self._serialize.url("config_name", 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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('MaintenanceConfiguration', response) + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + def create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + config_name, # type: str + parameters, # type: "_models.MaintenanceConfiguration" + **kwargs # type: Any + ): + # type: (...) -> "_models.MaintenanceConfiguration" + """Creates or updates a maintenance configurations. - def _create_or_update_initial( - self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, **operation_config): - parameters = models.MaintenanceConfiguration(time_in_week=time_in_week, not_allowed_time=not_allowed_time) + Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. + :type config_name: str + :param parameters: Parameters supplied to the Create or Update a default maintenance + configuration. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MaintenanceConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create_or_update.metadata['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'), + '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str') + 'configName': self._serialize.url("config_name", 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') + query_parameters = {} # type: Dict[str, Any] + 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, 'MaintenanceConfiguration') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'MaintenanceConfiguration') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if response.status_code == 200: - deserialized = self._deserialize('MaintenanceConfiguration', response) + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore - def create_or_update( - self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a maintenance configurations. + def delete( + self, + resource_group_name, # type: str + resource_name, # type: str + config_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a maintenance configuration. - Creates or updates a maintenance configuration in the specified managed - cluster. + Deletes the maintenance configuration in the specified managed cluster. :param resource_group_name: The name of the resource group. :type resource_group_name: str @@ -252,136 +280,46 @@ def create_or_update( :type resource_name: str :param config_name: The name of the maintenance configuration. :type config_name: str - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: - list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: - list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns - MaintenanceConfiguration or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration]] - :raises: :class:`CloudError` + :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 """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=config_name, - time_in_week=time_in_week, - not_allowed_time=not_allowed_time, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('MaintenanceConfiguration', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = 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}/maintenanceConfigurations/{configName}'} - + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" - def _delete_initial( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, **operation_config): # Construct URL - url = self.delete.metadata['url'] + url = self.delete.metadata['url'] # type: ignore 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'), '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str') + 'configName': self._serialize.url("config_name", 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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - def delete( - self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a maintenance configuration. - - Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. - :type 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:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - config_name=config_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: 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}/maintenanceConfigurations/{configName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py old mode 100644 new mode 100755 index 8fe243e5cf5..db49ec983fd --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py @@ -1,825 +1,845 @@ # coding=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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2021_05_01.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. - :ivar api_version: Client Api Version. Constant value: "2021-05-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-05-01" - - self.config = config + self._config = config def get_os_options( - self, location, resource_type=None, custom_headers=None, raw=False, **operation_config): + self, + location, # type: str + resource_type=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.OSOptionProfile" """Gets supported OS options in the specified subscription. Gets supported OS options in the specified subscription. :param location: The name of a supported Azure region. :type location: str - :param resource_type: resource type for which the OS options needs to - be returned + :param resource_type: resource type for which the OS options needs to be returned. :type resource_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: OSOptionProfile or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProfile or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OSOptionProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProfile + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OSOptionProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get_os_options.metadata['url'] + url = self.get_os_options.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'location': self._serialize.url("location", location, '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) # 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') if resource_type is not None: query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('OSOptionProfile', response) + deserialized = self._deserialize('OSOptionProfile', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} + get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} # type: ignore def list( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ManagedClusterListResult"] """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.v2021_05_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] - :raises: :class:`CloudError` + Gets a list of managed clusters in the specified subscription. The operation returns properties + of each managed cluster. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters'} # type: ignore 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. + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ManagedClusterListResult"] + """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. + 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.v2021_05_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_resource_group.metadata['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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1) + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedClusterListResult', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_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'} + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters'} # type: ignore def get_upgrade_profile( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedClusterUpgradeProfile" """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. + 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.v2021_05_01.models.ManagedClusterUpgradeProfile - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get_upgrade_profile.metadata['url'] + url = self.get_upgrade_profile.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedClusterUpgradeProfile', response) + deserialized = self._deserialize('ManagedClusterUpgradeProfile', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore def get_access_profile( - self, resource_group_name, resource_name, role_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + role_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedClusterAccessProfile" """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) - . + 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 + `_ or + `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. + :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.v2021_05_01.models.ManagedClusterAccessProfile - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterAccessProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAccessProfile + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get_access_profile.metadata['url'] + url = self.get_access_profile.metadata['url'] # type: ignore 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'), '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') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedClusterAccessProfile', response) + deserialized = self._deserialize('ManagedClusterAccessProfile', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore def list_cluster_admin_credentials( - self, resource_group_name, resource_name, server_fqdn=None, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + server_fqdn=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" """Gets cluster admin credential of a managed cluster. - Gets cluster admin credential of the managed cluster with a specified - resource group and name. + 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 server_fqdn: server fqdn type for credentials to be returned + :param server_fqdn: server fqdn type for credentials to be returned. :type server_fqdn: str - :param dict custom_headers: headers that will 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.v2021_05_01.models.CredentialResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.list_cluster_admin_credentials.metadata['url'] + url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') if server_fqdn is not None: query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CredentialResults', response) + deserialized = self._deserialize('CredentialResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore def list_cluster_user_credentials( - self, resource_group_name, resource_name, server_fqdn=None, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + server_fqdn=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" """Gets cluster user credential of a managed cluster. - Gets cluster user credential of the managed cluster with a specified - resource group and name. + 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 server_fqdn: server fqdn type for credentials to be returned + :param server_fqdn: server fqdn type for credentials to be returned. :type server_fqdn: str - :param dict custom_headers: headers that will 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.v2021_05_01.models.CredentialResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.list_cluster_user_credentials.metadata['url'] + url = self.list_cluster_user_credentials.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') if server_fqdn is not None: query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CredentialResults', response) + deserialized = self._deserialize('CredentialResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore def list_cluster_monitoring_user_credentials( - self, resource_group_name, resource_name, server_fqdn=None, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + server_fqdn=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.CredentialResults" """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. + 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 server_fqdn: server fqdn type for credentials to be returned + :param server_fqdn: server fqdn type for credentials to be returned. :type server_fqdn: str - :param dict custom_headers: headers that will 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.v2021_05_01.models.CredentialResults or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.list_cluster_monitoring_user_credentials.metadata['url'] + url = self.list_cluster_monitoring_user_credentials.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') if server_fqdn is not None: query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('CredentialResults', response) + deserialized = self._deserialize('CredentialResults', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore def get( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" """Gets a managed cluster. - Gets the details of the managed cluster with a specified resource group - and name. + 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedCluster, or the result of cls(response) :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} - + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore def _create_or_update_initial( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedCluster" + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_or_update.metadata['url'] + url = self._create_or_update_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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, 'ManagedCluster') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'ManagedCluster') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - deserialized = None + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) + if response.status_code == 201: - deserialized = self._deserialize('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def create_or_update( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedCluster" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ManagedCluster"] """Creates or updates a managed cluster. - Creates or updates a managed cluster with the specified configuration - for agents and Kubernetes version. + 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.v2021_05_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.v2021_05_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster]] - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Create or Update a Managed Cluster operation. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ManagedCluster', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore def _update_tags_initial( - self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): - parameters = models.TagsObject(tags=tags) + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.TagsObject" + **kwargs # type: Any + ): + # type: (...) -> "_models.ManagedCluster" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.update_tags.metadata['url'] + url = self._update_tags_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.patch(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(parameters, 'TagsObject') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('ManagedCluster', response) + deserialized = self._deserialize('ManagedCluster', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def update_tags( - self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def begin_update_tags( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.TagsObject" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ManagedCluster"] """Updates tags on a managed cluster. Updates a managed cluster with the specified tags. @@ -828,88 +848,116 @@ def update_tags( :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.v2021_05_01.models.ManagedCluster] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster]] - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('ManagedCluster', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore def _delete_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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, {}) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - def delete( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes a managed cluster. Deletes the managed cluster with a specified resource group and name. @@ -918,85 +966,117 @@ def delete( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: 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}'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore 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) + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.reset_service_principal_profile.metadata['url'] + url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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(parameters, 'ManagedClusterServicePrincipalProfile') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(parameters, 'ManagedClusterServicePrincipalProfile') + 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]: - exp = CloudError(response) - exp.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): + 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, {}) + + _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + def begin_reset_service_principal_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Reset Service Principal Profile of a managed cluster. Update the service principal Profile for a managed cluster. @@ -1005,90 +1085,121 @@ def reset_service_principal_profile( :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` + :param parameters: Parameters supplied to the Reset Service Principal Profile operation for a + Managed Cluster. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterServicePrincipalProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore def _reset_aad_profile_initial( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterAADProfile" + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.reset_aad_profile.metadata['url'] + url = self._reset_aad_profile_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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(parameters, 'ManagedClusterAADProfile') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(parameters, 'ManagedClusterAADProfile') + 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]: - exp = CloudError(response) - exp.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): + 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, {}) + + _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + def begin_reset_aad_profile( + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.ManagedClusterAADProfile" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Reset AAD Profile of a managed cluster. Update the AAD Profile for a managed cluster. @@ -1097,84 +1208,114 @@ def reset_aad_profile( :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.v2021_05_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` + :param parameters: Parameters supplied to the Reset AAD Profile operation for a Managed + Cluster. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore def _rotate_cluster_certificates_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.rotate_cluster_certificates.metadata['url'] + url = self._rotate_cluster_certificates_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + if cls: + return cls(pipeline_response, None, {}) - def rotate_cluster_certificates( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + def begin_rotate_cluster_certificates( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Rotate certificates of a managed cluster. Rotate certificates of a managed cluster. @@ -1183,79 +1324,110 @@ def rotate_cluster_certificates( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - 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 + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore def _stop_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.stop.metadata['url'] + url = self._stop_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + if cls: + return cls(pipeline_response, None, {}) - def stop( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + def begin_stop( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Stop Managed Cluster. Stops a Running Managed Cluster. @@ -1264,79 +1436,110 @@ def stop( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.ContainerService/managedClusters/{resourceName}/stop'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore def _start_initial( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + 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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.start.metadata['url'] + url = self._start_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [202, 204]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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, {}) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore - def start( - self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + def begin_start( + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Start Managed Cluster. Starts a Stopped Managed Cluster. @@ -1345,146 +1548,197 @@ def start( :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` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) 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.ContainerService/managedClusters/{resourceName}/start'} - + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore def _run_command_initial( - self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + request_payload, # type: "_models.RunCommandRequest" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.RunCommandResult"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.run_command.metadata['url'] + url = self._run_command_initial.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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(request_payload, 'RunCommandRequest') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(request_payload, 'RunCommandRequest') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('RunCommandResult', response) + deserialized = self._deserialize('RunCommandResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - - def run_command( - self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, polling=True, **operation_config): + _run_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + + def begin_run_command( + self, + resource_group_name, # type: str + resource_name, # type: str + request_payload, # type: "_models.RunCommandRequest" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.RunCommandResult"] """Run Command against Managed Kubernetes Service. - Submit a command to run against managed kubernetes service, it will - create a pod to run the command. + Submit a command to run against managed kubernetes service, it will create a pod to run the + command. :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 request_payload: Parameters supplied to the RunCommand - operation. - :type request_payload: - ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandRequest - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns RunCommandResult or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult]] - :raises: :class:`CloudError` + :param request_payload: Parameters supplied to the RunCommand operation. + :type request_payload: ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either RunCommandResult or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._run_command_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - request_payload=request_payload, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.RunCommandResult"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - - def get_long_running_output(response): - deserialized = self._deserialize('RunCommandResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._run_command_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + request_payload=request_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('RunCommandResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + path_format_arguments = { + '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]$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore def get_command_result( - self, resource_group_name, resource_name, command_id, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + command_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.RunCommandResult"] """Get command result. Get command result from previous runCommand invoke. @@ -1495,134 +1749,129 @@ def get_command_result( :type resource_name: str :param command_id: Id of the command request. :type command_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: RunCommandResult or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RunCommandResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult or None + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get_command_result.metadata['url'] + url = self.get_command_result.metadata['url'] # type: ignore 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'), '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]$'), - 'commandId': self._serialize.url("command_id", command_id, 'str') + 'commandId': self._serialize.url("command_id", command_id, 'str'), } url = self._client.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['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 202]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('RunCommandResult', response) + deserialized = self._deserialize('RunCommandResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} + get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} # type: ignore def list_outbound_network_dependencies_endpoints( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of egress endpoints (network endpoints of all outbound - dependencies) in the specified managed cluster. + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.OutboundEnvironmentEndpointCollection"] + """Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. - Gets a list of egress endpoints (network endpoints of all outbound - dependencies) in the specified managed cluster. The operation returns - properties of each egress endpoint. + Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the + specified managed cluster. The operation returns properties of each egress endpoint. :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 OutboundEnvironmentEndpoint - :rtype: - ~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpointPaged[~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpoint] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OutboundEnvironmentEndpointCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpointCollection] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OutboundEnvironmentEndpointCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_outbound_network_dependencies_endpoints.metadata['url'] + url = self.list_outbound_network_dependencies_endpoints.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('OutboundEnvironmentEndpointCollection', 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) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OutboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints'} + return ItemPaged( + get_next, extract_data + ) + list_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py old mode 100644 new mode 100755 index a0767bb9e9c..c26019e7667 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py @@ -1,102 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2021_05_01.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. - :ivar api_version: Client Api Version. Constant value: "2021-05-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-05-01" - - self.config = config + self._config = config def list( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.OperationListResult"] """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.v2021_05_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2021_05_01.models.OperationValue] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_05_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list.metadata['url'] - + url = self.list.metadata['url'] # type: ignore # 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') + request = self._client.get(url, query_parameters, header_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) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + 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 None, iter(list_of_elem) + + def get_next(next_link=None): request = prepare_request(next_link) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py old mode 100644 new mode 100755 index 45f43e5e70f..4cebbb525d1 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py @@ -1,185 +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. # -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError -from msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +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 +from .. import models as _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 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. + 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.containerservice.v2021_05_01.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. - :ivar api_version: Client Api Version. Constant value: "2021-05-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-05-01" - - self.config = config + self._config = config def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): - """Gets a list of private endpoint connections in the specified managed - cluster. + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateEndpointConnectionListResult" + """Gets a list of private endpoint connections in the specified managed cluster. - Gets a list of private endpoint connections in the specified managed - cluster. The operation returns properties of each private endpoint - connection. + Gets a list of private endpoint connections in the specified managed cluster. The operation + returns properties of each private endpoint connection. :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: PrivateEndpointConnectionListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionListResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateEndpointConnectionListResult', response) + deserialized = self._deserialize('PrivateEndpointConnectionListResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore def get( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateEndpointConnection" """Gets the private endpoint connection. - Gets the details of the private endpoint connection by managed cluster - and resource group. + Gets the details of the private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. + :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.containerservice.v2021_05_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore 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'), '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateEndpointConnection', response) + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def update( - self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + parameters, # type: "_models.PrivateEndpointConnection" + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateEndpointConnection" """Updates a private endpoint connection. Updates a private endpoint connection in the specified managed cluster. @@ -188,161 +190,177 @@ def update( :type resource_group_name: str :param resource_name: The name of the managed cluster resource. :type resource_name: str - :param private_endpoint_connection_name: The name of the private - endpoint connection. + :param private_endpoint_connection_name: The name of the private endpoint connection. :type private_endpoint_connection_name: str - :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.containerservice.v2021_05_01.models.PrivateLinkServiceConnectionState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: - ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpoint - :param dict custom_headers: headers that will 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.containerservice.v2021_05_01.models.PrivateEndpointConnection - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :param parameters: Parameters supplied to the Update a private endpoint connection operation. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError """ - parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.update.metadata['url'] + url = self.update.metadata['url'] # type: ignore 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'), '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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') + query_parameters = {} # type: Dict[str, Any] + 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, 'PrivateEndpointConnection') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(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(parameters, 'PrivateEndpointConnection') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateEndpointConnection', response) + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} - + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def _delete_initial( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self._delete_initial.metadata['url'] # type: ignore 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'), '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response 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 delete( - self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + resource_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] """Deletes a private endpoint connection. - Deletes the private endpoint connection in the specified managed - cluster. + Deletes the private endpoint connection 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 private_endpoint_connection_name: The name of the private - endpoint connection. + :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 None or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - custom_headers=custom_headers, - raw=True, - **operation_config + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response + path_format_arguments = { + '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]$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: 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}/privateEndpointConnections/{privateEndpointConnectionName}'} + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py old mode 100644 new mode 100755 index e4aeb6ac4bf..09f87df3e66 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py @@ -1,106 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 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. + 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.containerservice.v2021_05_01.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. - :ivar api_version: Client Api Version. Constant value: "2021-05-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-05-01" - - self.config = config + self._config = config def list( - self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateLinkResourcesListResult" """Gets a list of private link resources in the specified managed cluster. - Gets a list of private link resources in the specified managed cluster. - The operation returns properties of each private link resource. + Gets a list of private link resources in the specified managed cluster. The operation returns + properties of each private link resource. :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: PrivateLinkResourcesListResult or ClientRawResponse if - raw=true - :rtype: - ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResourcesListResult - or ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResourcesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResourcesListResult + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + # Construct URL - url = self.list.metadata['url'] + url = self.list.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateLinkResourcesListResult', response) + deserialized = self._deserialize('PrivateLinkResourcesListResult', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py old mode 100644 new mode 100755 index ee7f4649e33..888fd53525f --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py @@ -1,46 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ClientAuthenticationError, 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 +from .. import models as _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 ResolvePrivateLinkServiceIdOperations(object): """ResolvePrivateLinkServiceIdOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + 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.containerservice.v2021_05_01.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. - :ivar api_version: Client Api Version. Constant value: "2021-05-01". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2021-05-01" - - self.config = config + self._config = config def post( - self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + resource_name, # type: str + parameters, # type: "_models.PrivateLinkResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.PrivateLinkResource" """Gets the private link service ID for the specified managed cluster. Gets the private link service ID the specified managed cluster. @@ -49,64 +60,56 @@ def post( :type resource_group_name: str :param resource_name: The name of the managed cluster resource. :type resource_name: str - :param parameters: Parameters (name, groupId) supplied in order to - resolve a private link service ID. - :type parameters: - ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource - :param dict custom_headers: headers that will 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.containerservice.v2021_05_01.models.PrivateLinkResource or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + :param parameters: Parameters (name, groupId) supplied in order to resolve a private link + service ID. + :type parameters: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResource, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.post.metadata['url'] + url = self.post.metadata['url'] # type: ignore 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'), '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]$') + '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') + query_parameters = {} # type: Dict[str, Any] + 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, 'PrivateLinkResource') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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(parameters, 'PrivateLinkResource') + 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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('PrivateLinkResource', response) + deserialized = self._deserialize('PrivateLinkResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/version.py deleted file mode 100644 index 59e1cf48b15..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/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 = "2021-05-01" - From a00992981520001800ddff6043eade04cee332bf Mon Sep 17 00:00:00 2001 From: Sean Wells Date: Tue, 29 Jun 2021 01:51:10 -0700 Subject: [PATCH 24/85] chore(arcdata): Welcome arcdata v0.0.1 preview (#3461) * chore(arcdata): Welcome arcdata v0.0.1 preview chore(arcdata): Welcome arcdata v0.0.1 preview * chore(arcdata): Welcome arcdata v0.0.1 preview * chore(arcdata): Welcome arcdata v0.0.1 preview * chore(arcdata): Welcome arcdata v0.0.1 preview chore(arcdata): Welcome arcdata v0.0.1 preview * chore(arcdata): Welcome arcdata v0.0.1 preview --- src/index.json | 59 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/src/index.json b/src/index.json index 70279110d8d..97fa9836bce 100644 --- a/src/index.json +++ b/src/index.json @@ -3912,6 +3912,63 @@ "sha256Digest": "8c3ace89d98781f2e0c952a7197862d0f64afded0c6e8e83f229fea3e014806b" } ], + "arcdata": [ + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.1-py2.py3-none-any.whl", + "filename": "arcdata-0.0.1-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview?view=sql-server-ver15" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "kubernetes (==11.0.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "0.0.1" + }, + "sha256Digest": "e727a7bf123aa15b406455f268be8a906907d6d32bd314d122b83d006767adc8" + } + ], "attestation": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/attestation-0.1.0-py3-none-any.whl", @@ -20159,4 +20216,4 @@ ] }, "formatVersion": "1" -} \ No newline at end of file +} From 623f8ae45ee3c010ebc4db52f90049105fa9b865 Mon Sep 17 00:00:00 2001 From: Neehar Duvvuri <40341266+needuv@users.noreply.github.com> Date: Tue, 29 Jun 2021 19:01:17 -0400 Subject: [PATCH 25/85] Update ml to version 2.0.1a3 (#3560) * Update ml to version 2.0.1a3 * add 2.0.1a3 * fix index.json * finally fix index.json Co-authored-by: Neehar Duvvuri --- src/index.json | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/index.json b/src/index.json index 97fa9836bce..f6f49c54933 100644 --- a/src/index.json +++ b/src/index.json @@ -14017,6 +14017,56 @@ "version": "2.0.1a2" }, "sha256Digest": "b17126a35dd3ebb65cbe54fe2d69fc9274b37ec5a150ea084b1b343b7393ccde" + }, + { + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.1a3-py3-none-any.whl", + "filename": "ml-2.0.1a3-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", + "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/machinelearningservices" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ml", + "run_requires": [ + { + "requires": [ + "azure-identity", + "azure-storage-blob (<=12.5.0,>12.0.0b4)", + "azure-storage-file-share (==12.3.0)", + "cryptography (<=3.3.2)", + "docker (>=4.0.0,~=5.0.0)", + "isodate", + "marshmallow (<4.0.0,>=3.5)", + "pathspec (==0.8.*)", + "pydash (<=4.9.0)", + "pyjwt (<2.0.0)", + "tqdm" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", + "version": "2.0.1a3" + }, + "sha256Digest": "67c57c5c73d7ebaa99d1df52ba82c7a551bf61a182b4888128e8c62c896cf84b" } ], "monitor-control-service": [ From fd7b48a5a7f142cf2f91841d099a183a754bdb15 Mon Sep 17 00:00:00 2001 From: Cameron Taggart Date: Tue, 29 Jun 2021 21:47:50 -0600 Subject: [PATCH 26/85] [vmware] global reach connections (#3528) * Add `az vmware global-reach-connection` command group * linter fix - add blank line * fix linter errors & warnings * linter: 2 blank lines * add asserts --- src/vmware/CHANGELOG.md | 1 + src/vmware/DEVELOPMENT.md | 5 + src/vmware/azext_vmware/__init__.py | 3 +- src/vmware/azext_vmware/_help.py | 25 + src/vmware/azext_vmware/_params.py | 9 +- src/vmware/azext_vmware/_validators.py | 1 + src/vmware/azext_vmware/commands.py | 7 + src/vmware/azext_vmware/custom.py | 129 +- .../test_vmware_global_reach_connection.yaml | 1375 +++++++++++++++++ .../test_global_reach_connection_scenario.py | 48 + src/vmware/linter_exclusions.yml | 5 + 11 files changed, 1547 insertions(+), 61 deletions(-) create mode 100644 src/vmware/azext_vmware/tests/latest/recordings/test_vmware_global_reach_connection.yaml create mode 100644 src/vmware/azext_vmware/tests/latest/test_global_reach_connection_scenario.py create mode 100644 src/vmware/linter_exclusions.yml diff --git a/src/vmware/CHANGELOG.md b/src/vmware/CHANGELOG.md index afacacd5707..f78a788dfb5 100644 --- a/src/vmware/CHANGELOG.md +++ b/src/vmware/CHANGELOG.md @@ -11,6 +11,7 @@ Other changes: - Add `az vmware addon hcx` command group to manage a HCX addon - Add `az vmware addon srm` command group to manage a Site Recovery Manager (SRM) addon - Add `az vmware addon vr` command group to manage a vSphere Replication (VR) addon +- Add `az vmware global-reach-connection` command group to manage Global Reach Connections ## 2.0.1 (2021-02) - Update the minimum az cli version to 2.11.0 [#3045](https://github.com/Azure/azure-cli-extensions/issues/3045) diff --git a/src/vmware/DEVELOPMENT.md b/src/vmware/DEVELOPMENT.md index 2866426b5ba..f586b27bf62 100644 --- a/src/vmware/DEVELOPMENT.md +++ b/src/vmware/DEVELOPMENT.md @@ -6,3 +6,8 @@ rm ..\azure-cli-extensions\src\vmware\azext_vmware\vendored_sdks -Recurse autorest --python --output-folder=..\azure-cli-extensions\src\vmware\azext_vmware\vendored_sdks --use=@autorest/python@5.8.0 --tag=package-2021-06-01 --azure-arm=true --namespace=avs_client --override-client-name=AVSClient specification\vmware\resource-manager\readme.md ``` It was run from a git clone of [azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs). + +## Linter +Use [azdev](https://github.com/Azure/azure-cli-dev-tools) to check for linter errors and warnings. +- `azdev style vmware` +- `azdev linter --include-whl-extensions vmware` diff --git a/src/vmware/azext_vmware/__init__.py b/src/vmware/azext_vmware/__init__.py index 872d9e285d5..5cdf51e3df0 100644 --- a/src/vmware/azext_vmware/__init__.py +++ b/src/vmware/azext_vmware/__init__.py @@ -15,8 +15,7 @@ def __init__(self, cli_ctx=None): vmware_custom = CliCommandType( operations_tmpl='azext_vmware.custom#{}', client_factory=cf_vmware) - super(VmwareCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=vmware_custom) + super(VmwareCommandsLoader, self).__init__(cli_ctx=cli_ctx, custom_command_type=vmware_custom) # pylint: disable=super-with-arguments def load_command_table(self, args): from azext_vmware.commands import load_command_table diff --git a/src/vmware/azext_vmware/_help.py b/src/vmware/azext_vmware/_help.py index ecda202e798..9a30569d37f 100644 --- a/src/vmware/azext_vmware/_help.py +++ b/src/vmware/azext_vmware/_help.py @@ -351,3 +351,28 @@ - name: Delete a Site Recovery Manager (SRM) addon. text: az vmware addon srm delete --resource-group MyResourceGroup --private-cloud MyPrivateCloud """ + +helps['vmware global-reach-connection'] = """ + type: group + short-summary: Commands to manage global reach connections in a private cloud. +""" + +helps['vmware global-reach-connection create'] = """ + type: command + short-summary: Create a global reach connection in a private cloud. +""" + +helps['vmware global-reach-connection list'] = """ + type: command + short-summary: List global reach connections in a private cloud. +""" + +helps['vmware global-reach-connection show'] = """ + type: command + short-summary: Show details of a global reach connection in a private cloud. +""" + +helps['vmware global-reach-connection delete'] = """ + type: command + short-summary: Delete a global reach connection in a private cloud. +""" diff --git a/src/vmware/azext_vmware/_params.py b/src/vmware/azext_vmware/_params.py index c0119f22bef..a86b0c6d532 100644 --- a/src/vmware/azext_vmware/_params.py +++ b/src/vmware/azext_vmware/_params.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. # -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long +# pylint: disable=line-too-long,too-many-statements def load_arguments(self, _): @@ -100,3 +100,10 @@ def load_arguments(self, _): with self.argument_context('vmware addon srm') as c: c.argument('license_key', help='The Site Recovery Manager (SRM) license.') + + with self.argument_context('vmware global-reach-connection') as c: + c.argument('name', options_list=['--name', '-n'], help='Name of the global reach connection.') + + with self.argument_context('vmware global-reach-connection create') as c: + c.argument('peer_express_route_circuit', help='Identifier of the ExpressRoute Circuit to peer with.') + c.argument('authorization_key', help='Authorization key from the peer express route.') diff --git a/src/vmware/azext_vmware/_validators.py b/src/vmware/azext_vmware/_validators.py index d36dc1a8ff4..b2aedfa0a4f 100644 --- a/src/vmware/azext_vmware/_validators.py +++ b/src/vmware/azext_vmware/_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 def example_name_or_id_validator(cmd, namespace): diff --git a/src/vmware/azext_vmware/commands.py b/src/vmware/azext_vmware/commands.py index e47c3516b27..af09172e119 100644 --- a/src/vmware/azext_vmware/commands.py +++ b/src/vmware/azext_vmware/commands.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,too-many-statements from azure.cli.core.commands import CliCommandType from azext_vmware._client_factory import cf_vmware @@ -80,3 +81,9 @@ def load_command_table(self, _): g.custom_show_command('show', 'addon_srm_show') g.custom_command('update', 'addon_srm_update') g.custom_command('delete', 'addon_srm_delete') + + with self.command_group('vmware global-reach-connection', vmware_sdk, client_factory=cf_vmware) as g: + g.custom_command('create', 'globalreachconnection_create') + g.custom_command('list', 'globalreachconnection_list') + g.custom_command('delete', 'globalreachconnection_delete') + g.custom_show_command('show', 'globalreachconnection_show') diff --git a/src/vmware/azext_vmware/custom.py b/src/vmware/azext_vmware/custom.py index 6b9e61100ea..81b9e287830 100644 --- a/src/vmware/azext_vmware/custom.py +++ b/src/vmware/azext_vmware/custom.py @@ -2,8 +2,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=line-too-long -from knack.util import CLIError from azext_vmware.vendored_sdks.avs_client import AVSClient LEGAL_TERMS = ''' @@ -21,24 +21,23 @@ ''' -def privatecloud_list(cmd, client: AVSClient, resource_group_name=None): +def privatecloud_list(client: AVSClient, resource_group_name=None): if resource_group_name is None: return client.private_clouds.list_in_subscription() - else: - return client.private_clouds.list(resource_group_name) + return client.private_clouds.list(resource_group_name) -def privatecloud_show(cmd, client: AVSClient, resource_group_name, name): +def privatecloud_show(client: AVSClient, resource_group_name, name): return client.private_clouds.get(resource_group_name, name) -def privatecloud_create(cmd, client: AVSClient, resource_group_name, name, location, sku, cluster_size, network_block, circuit_primary_subnet=None, circuit_secondary_subnet=None, internet=None, vcenter_password=None, nsxt_password=None, tags=[], accept_eula=False): +def privatecloud_create(client: AVSClient, resource_group_name, name, location, sku, cluster_size, network_block, circuit_primary_subnet=None, circuit_secondary_subnet=None, internet=None, vcenter_password=None, nsxt_password=None, tags=None, accept_eula=False): from knack.prompting import prompt_y_n if not accept_eula: print(LEGAL_TERMS) msg = 'Do you agree to the above additional terms for AVS?' if not prompt_y_n(msg, default="n"): - return + return None from azext_vmware.vendored_sdks.avs_client.models import PrivateCloud, Circuit, ManagementCluster, Sku if circuit_primary_subnet is not None or circuit_secondary_subnet is not None: @@ -56,7 +55,7 @@ def privatecloud_create(cmd, client: AVSClient, resource_group_name, name, locat return client.private_clouds.begin_create_or_update(resource_group_name, name, cloud) -def privatecloud_update(cmd, client: AVSClient, resource_group_name, name, cluster_size=None, internet=None): +def privatecloud_update(client: AVSClient, resource_group_name, name, cluster_size=None, internet=None): from azext_vmware.vendored_sdks.avs_client.models import PrivateCloudUpdate, ManagementCluster private_cloud_update = PrivateCloudUpdate() if cluster_size is not None: @@ -66,19 +65,19 @@ def privatecloud_update(cmd, client: AVSClient, resource_group_name, name, clust return client.private_clouds.begin_update(resource_group_name, name, private_cloud_update) -def privatecloud_delete(cmd, client: AVSClient, resource_group_name, name, yes=False): +def privatecloud_delete(client: AVSClient, resource_group_name, name, yes=False): from knack.prompting import prompt_y_n msg = 'This will delete the private cloud. Are you sure?' if not yes and not prompt_y_n(msg, default="n"): - return + return None return client.private_clouds.begin_delete(resource_group_name, name) -def privatecloud_listadmincredentials(cmd, client: AVSClient, resource_group_name, private_cloud): +def privatecloud_listadmincredentials(client: AVSClient, resource_group_name, private_cloud): return client.private_clouds.list_admin_credentials(resource_group_name=resource_group_name, private_cloud_name=private_cloud) -def privatecloud_addidentitysource(cmd, client: AVSClient, resource_group_name, name, private_cloud, alias, domain, base_user_dn, base_group_dn, primary_server, username, password, secondary_server=None, ssl="Disabled"): +def privatecloud_addidentitysource(client: AVSClient, resource_group_name, name, private_cloud, alias, domain, base_user_dn, base_group_dn, primary_server, username, password, secondary_server=None, ssl="Disabled"): from azext_vmware.vendored_sdks.avs_client.models import IdentitySource pc = client.private_clouds.get(resource_group_name, private_cloud) identitysource = IdentitySource(name=name, alias=alias, domain=domain, base_user_dn=base_user_dn, base_group_dn=base_group_dn, primary_server=primary_server, ssl=ssl, username=username, password=password) @@ -88,174 +87,188 @@ def privatecloud_addidentitysource(cmd, client: AVSClient, resource_group_name, return client.private_clouds.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, private_cloud=pc) -def privatecloud_deleteidentitysource(cmd, client: AVSClient, resource_group_name, name, private_cloud, alias, domain): - from azext_vmware.vendored_sdks.avs_client.models import IdentitySource +def privatecloud_deleteidentitysource(client: AVSClient, resource_group_name, name, private_cloud, alias, domain): pc = client.private_clouds.get(resource_group_name, private_cloud) found = next((ids for ids in pc.identity_sources if ids.name == name and ids.alias == alias and ids.domain == domain), None) if found: pc.identity_sources.remove(found) return client.private_clouds.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, private_cloud=pc) - else: - return pc + return pc -def privatecloud_rotate_vcenter_password(cmd, client: AVSClient, resource_group_name, private_cloud): +def privatecloud_rotate_vcenter_password(client: AVSClient, resource_group_name, private_cloud): return client.private_clouds.begin_rotate_vcenter_password(resource_group_name=resource_group_name, private_cloud_name=private_cloud) -def privatecloud_rotate_nsxt_password(cmd, client: AVSClient, resource_group_name, private_cloud): +def privatecloud_rotate_nsxt_password(client: AVSClient, resource_group_name, private_cloud): return client.private_clouds.begin_rotate_nsxt_password(resource_group_name=resource_group_name, private_cloud_name=private_cloud) -def cluster_create(cmd, client: AVSClient, resource_group_name, name, sku, private_cloud, size, tags=[]): +def cluster_create(client: AVSClient, resource_group_name, name, sku, private_cloud, size): from azext_vmware.vendored_sdks.avs_client.models import Sku return client.clusters.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=name, sku=Sku(name=sku), cluster_size=size) -def cluster_update(cmd, client: AVSClient, resource_group_name, name, private_cloud, size, tags=[]): +def cluster_update(client: AVSClient, resource_group_name, name, private_cloud, size): return client.clusters.begin_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=name, cluster_size=size) -def cluster_list(cmd, client: AVSClient, resource_group_name, private_cloud): +def cluster_list(client: AVSClient, resource_group_name, private_cloud): return client.clusters.list(resource_group_name=resource_group_name, private_cloud_name=private_cloud) -def cluster_show(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def cluster_show(client: AVSClient, resource_group_name, private_cloud, name): return client.clusters.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=name) -def cluster_delete(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def cluster_delete(client: AVSClient, resource_group_name, private_cloud, name): return client.clusters.begin_delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=name) -def check_quota_availability(cmd, client: AVSClient, location): +def check_quota_availability(client: AVSClient, location): return client.locations.check_quota_availability(location) -def check_trial_availability(cmd, client: AVSClient, location): +def check_trial_availability(client: AVSClient, location): return client.locations.check_trial_availability(location) -def authorization_create(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def authorization_create(client: AVSClient, resource_group_name, private_cloud, name): return client.authorizations.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, authorization_name=name) -def authorization_list(cmd, client: AVSClient, resource_group_name, private_cloud): +def authorization_list(client: AVSClient, resource_group_name, private_cloud): return client.authorizations.list(resource_group_name=resource_group_name, private_cloud_name=private_cloud) -def authorization_show(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def authorization_show(client: AVSClient, resource_group_name, private_cloud, name): return client.authorizations.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, authorization_name=name) -def authorization_delete(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def authorization_delete(client: AVSClient, resource_group_name, private_cloud, name): return client.authorizations.begin_delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, authorization_name=name) -def hcxenterprisesite_create(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def hcxenterprisesite_create(client: AVSClient, resource_group_name, private_cloud, name): return client.hcx_enterprise_sites.create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, hcx_enterprise_site_name=name) -def hcxenterprisesite_list(cmd, client: AVSClient, resource_group_name, private_cloud): +def hcxenterprisesite_list(client: AVSClient, resource_group_name, private_cloud): return client.hcx_enterprise_sites.list(resource_group_name=resource_group_name, private_cloud_name=private_cloud) -def hcxenterprisesite_show(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def hcxenterprisesite_show(client: AVSClient, resource_group_name, private_cloud, name): return client.hcx_enterprise_sites.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, hcx_enterprise_site_name=name) -def hcxenterprisesite_delete(cmd, client: AVSClient, resource_group_name, private_cloud, name): +def hcxenterprisesite_delete(client: AVSClient, resource_group_name, private_cloud, name): return client.hcx_enterprise_sites.delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, hcx_enterprise_site_name=name) -def datastore_create(cmd, client: AVSClient, resource_group_name, private_cloud, cluster, name, nfs_provider_ip=None, nfs_file_path=None, endpoints=[], lun_name=None): +def datastore_create(): print('Please use "az vmware datastore netapp-volume create" or "az vmware datastore disk-pool-volume create" instead.') -def datastore_netappvolume_create(cmd, client: AVSClient, resource_group_name, private_cloud, cluster, name, volume_id): +def datastore_netappvolume_create(client: AVSClient, resource_group_name, private_cloud, cluster, name, volume_id): from azext_vmware.vendored_sdks.avs_client.models import NetAppVolume net_app_volume = NetAppVolume(id=volume_id) return client.datastores.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=cluster, datastore_name=name, net_app_volume=net_app_volume, disk_pool_volume=None) -def datastore_diskpoolvolume_create(cmd, client: AVSClient, resource_group_name, private_cloud, cluster, name, target_id, lun_name, mount_option="MOUNT", path=None): +def datastore_diskpoolvolume_create(client: AVSClient, resource_group_name, private_cloud, cluster, name, target_id, lun_name, mount_option="MOUNT", path=None): from azext_vmware.vendored_sdks.avs_client.models import DiskPoolVolume disk_pool_volume = DiskPoolVolume(target_id=target_id, lun_name=lun_name, mount_option=mount_option, path=path) return client.datastores.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=cluster, datastore_name=name, net_app_volume=None, disk_pool_volume=disk_pool_volume) -def datastore_list(cmd, client: AVSClient, resource_group_name, private_cloud, cluster): +def datastore_list(client: AVSClient, resource_group_name, private_cloud, cluster): return client.datastores.list(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=cluster) -def datastore_show(cmd, client: AVSClient, resource_group_name, private_cloud, cluster, name): +def datastore_show(client: AVSClient, resource_group_name, private_cloud, cluster, name): return client.datastores.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=cluster, datastore_name=name) -def datastore_delete(cmd, client: AVSClient, resource_group_name, private_cloud, cluster, name): +def datastore_delete(client: AVSClient, resource_group_name, private_cloud, cluster, name): return client.datastores.begin_delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, cluster_name=cluster, datastore_name=name) -def addon_list(cmd, client: AVSClient, resource_group_name, private_cloud): +def addon_list(client: AVSClient, resource_group_name, private_cloud): return client.addons.list(resource_group_name=resource_group_name, private_cloud_name=private_cloud) -def addon_vr_create(cmd, client: AVSClient, resource_group_name, private_cloud, vrs_count: int): - from azext_vmware.vendored_sdks.avs_client.models import Addon, AddonVrProperties +def addon_vr_create(client: AVSClient, resource_group_name, private_cloud, vrs_count: int): + from azext_vmware.vendored_sdks.avs_client.models import AddonVrProperties properties = AddonVrProperties(vrs_count=vrs_count) return client.addons.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="vr", properties=properties) -def addon_hcx_create(cmd, client: AVSClient, resource_group_name, private_cloud, offer: str): - from azext_vmware.vendored_sdks.avs_client.models import Addon, AddonHcxProperties +def addon_hcx_create(client: AVSClient, resource_group_name, private_cloud, offer: str): + from azext_vmware.vendored_sdks.avs_client.models import AddonHcxProperties properties = AddonHcxProperties(offer=offer) return client.addons.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="hcx", properties=properties) -def addon_srm_create(cmd, client: AVSClient, resource_group_name, private_cloud, license_key: str): - from azext_vmware.vendored_sdks.avs_client.models import Addon, AddonSrmProperties +def addon_srm_create(client: AVSClient, resource_group_name, private_cloud, license_key: str): + from azext_vmware.vendored_sdks.avs_client.models import AddonSrmProperties properties = AddonSrmProperties(license_key=license_key) return client.addons.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="srm", properties=properties) -def addon_vr_show(cmd, client: AVSClient, resource_group_name, private_cloud): +def addon_vr_show(client: AVSClient, resource_group_name, private_cloud): return client.addons.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="vr") -def addon_hcx_show(cmd, client: AVSClient, resource_group_name, private_cloud): +def addon_hcx_show(client: AVSClient, resource_group_name, private_cloud): return client.addons.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="hcx") -def addon_srm_show(cmd, client: AVSClient, resource_group_name, private_cloud): +def addon_srm_show(client: AVSClient, resource_group_name, private_cloud): return client.addons.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="srm") -def addon_vr_update(cmd, client: AVSClient, resource_group_name, private_cloud, vrs_count: int): - from azext_vmware.vendored_sdks.avs_client.models import Addon, AddonVrProperties +def addon_vr_update(client: AVSClient, resource_group_name, private_cloud, vrs_count: int): + from azext_vmware.vendored_sdks.avs_client.models import AddonVrProperties properties = AddonVrProperties(vrs_count=vrs_count) return client.addons.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="vr", properties=properties) -def addon_hcx_update(cmd, client: AVSClient, resource_group_name, private_cloud, offer: str): - from azext_vmware.vendored_sdks.avs_client.models import Addon, AddonHcxProperties +def addon_hcx_update(client: AVSClient, resource_group_name, private_cloud, offer: str): + from azext_vmware.vendored_sdks.avs_client.models import AddonHcxProperties properties = AddonHcxProperties(offer=offer) return client.addons.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="hcx", properties=properties) -def addon_srm_update(cmd, client: AVSClient, resource_group_name, private_cloud, license_key: str): - from azext_vmware.vendored_sdks.avs_client.models import Addon, AddonSrmProperties +def addon_srm_update(client: AVSClient, resource_group_name, private_cloud, license_key: str): + from azext_vmware.vendored_sdks.avs_client.models import AddonSrmProperties properties = AddonSrmProperties(license_key=license_key) return client.addons.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="srm", properties=properties) -def addon_vr_delete(cmd, client: AVSClient, resource_group_name, private_cloud): +def addon_vr_delete(client: AVSClient, resource_group_name, private_cloud): return client.addons.begin_delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="vr") -def addon_hcx_delete(cmd, client: AVSClient, resource_group_name, private_cloud): +def addon_hcx_delete(client: AVSClient, resource_group_name, private_cloud): return client.addons.begin_delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="hcx") -def addon_srm_delete(cmd, client: AVSClient, resource_group_name, private_cloud): +def addon_srm_delete(client: AVSClient, resource_group_name, private_cloud): return client.addons.begin_delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, addon_name="srm") + + +def globalreachconnection_create(client: AVSClient, resource_group_name, private_cloud, name, authorization_key=None, peer_express_route_circuit=None): + return client.global_reach_connections.begin_create_or_update(resource_group_name=resource_group_name, private_cloud_name=private_cloud, global_reach_connection_name=name, authorization_key=authorization_key, peer_express_route_circuit=peer_express_route_circuit) + + +def globalreachconnection_list(client: AVSClient, resource_group_name, private_cloud): + return client.global_reach_connections.list(resource_group_name=resource_group_name, private_cloud_name=private_cloud) + + +def globalreachconnection_show(client: AVSClient, resource_group_name, private_cloud, name): + return client.global_reach_connections.get(resource_group_name=resource_group_name, private_cloud_name=private_cloud, global_reach_connection_name=name) + + +def globalreachconnection_delete(client: AVSClient, resource_group_name, private_cloud, name): + return client.global_reach_connections.begin_delete(resource_group_name=resource_group_name, private_cloud_name=private_cloud, global_reach_connection_name=name) diff --git a/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_global_reach_connection.yaml b/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_global_reach_connection.yaml new file mode 100644 index 00000000000..bcb4b930092 --- /dev/null +++ b/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_global_reach_connection.yaml @@ -0,0 +1,1375 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:30:59 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AggNfcJuW3tOiJxsBRpkSYI; expires=Fri, 16-Jul-2021 18:30:59 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevriAnXvQ6vUu3Ms5jQYOeu8h_t65xEb_4IMH73ZPCXAiMdIhrBF7EbXq-fx433AolA-khFE1oscCXCDeumXk2HsRK7tSkXg2Um-plbzNdcFiHMK4TT2dZ27aztoIFPzB3YWy0HpDBUo6TwtG4PFIKuyXRuJ-ZxCSLjeMnJz-kmRwwgAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11787.15 - EUS ProdSlices + status: + code: 200 + message: OK +- request: + body: '{"location": "westcentralus", "tags": {}, "sku": {"name": "av20"}, "properties": + {"managementCluster": {"clusterSize": 4}, "internet": "Disabled", "networkBlock": + "192.168.48.0/22", "vcenterPassword": "UpfBXae9ZquZSDXk(", "nsxtPassword": "5rqdLj4GF3cePUe6("}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + Content-Length: + - '259' + Content-Type: + - application/json + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1","location":"westcentralus","name":"cloud1","properties":{"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost32.mp01.mock01.vmcp.vs.management","gp-fakehost31.mp01.mock01.vmcp.vs.management","gp-fakehost35.mp01.mock01.vmcp.vs.management","gp-fakehost33.mp01.mock01.vmcp.vs.management"],"provisioningState":"Building"},"managementNetwork":"192.168.48.0/26","networkBlock":"192.168.48.0/22","provisioningNetwork":"192.168.50.0/25","provisioningState":"Building","vmotionNetwork":"192.168.49.128/25"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"}' + headers: + azure-asyncoperation: + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + cache-control: + - no-cache + content-length: + - '975' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:31:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-msedge-ref: + - 'Ref A: A48C421106D744FDBA74C2B83DA1AE66 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:31:02Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":0,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:31:17 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: A7F5055826E848CC89D63DABF7F730C5 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:31:18Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":0,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:31:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 5A2DF10B42C44F6195236E3A4DCC1C90 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:31:28Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":88.75,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '389' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:31:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 9A71AB1BF5C2492ABDBB0348E5FFD5E0 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:31:38Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":88.75,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '389' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:31:49 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: D513923D84424D05B0032411BB6ABC88 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:31:50Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":88.75,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '389' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:31:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: B8A1E952D01D49879789145F75E0C129 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:32:00Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:32:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 84C4A64855EC474186ABCD0875CC2273 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:32:10Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:32:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 2E594EDAC923487EB2E5C9EE3C86A857 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:32:21Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:32:30 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: D90EC2FF56D54E90A18D63F39E316C94 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:32:31Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:32:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 8701EDBA01F04A3BA737D1F08B3FD6C0 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:32:41Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:32:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 01C3BB0A447B4E549629883EDFCBB3FC Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:32:52Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: A9115CA3A4F14E3AB91D85EDAC99C0BC Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:33:02Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: DDD84377BB76445F8AAC3A2CA47F6CB5 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:33:12Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef?api-version=2021-06-01 + response: + body: + string: '{"endTime":"2021-06-16T18:33:17.6247815+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/operationstatuses/a3970561-6113-45e9-80d3-36c4f8b70cef","name":"a3970561-6113-45e9-80d3-36c4f8b70cef","percentComplete":100,"properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1","location":"westcentralus","name":"cloud1","properties":{"circuit":{"expressRouteID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt38-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt38-cust-mp01-mock01-er","expressRoutePrivatePeeringID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt38-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt38-cust-mp01-mock01-er/peerings/AzurePrivatePeering","primarySubnet":"192.168.48.232/30","secondarySubnet":"192.168.48.236/30"},"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost32.mp01.mock01.vmcp.vs.management","gp-fakehost31.mp01.mock01.vmcp.vs.management","gp-fakehost35.mp01.mock01.vmcp.vs.management","gp-fakehost33.mp01.mock01.vmcp.vs.management"],"provisioningState":"Succeeded"},"managementNetwork":"192.168.48.0/26","networkBlock":"192.168.48.0/22","nsxtCertificateThumbprint":"B9A9474616752565A3FAF23E0A013ECE3DC8B8FF","provisioningNetwork":"192.168.50.0/25","provisioningState":"Succeeded","vcenterCertificateThumbprint":"BE8EA855AA13D9662A115571636B9B1925C6DB68","vmotionNetwork":"192.168.49.128/25"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"},"startTime":"2021-06-16T18:31:04.9031706+00:00","status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '2067' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 7C13D211D3BB40F9A4308A9136E7723A Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:33:22Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --nsxt-password --vcenter-password + --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1","location":"westcentralus","name":"cloud1","properties":{"circuit":{"expressRouteID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt38-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt38-cust-mp01-mock01-er","expressRoutePrivatePeeringID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt38-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt38-cust-mp01-mock01-er/peerings/AzurePrivatePeering","primarySubnet":"192.168.48.232/30","secondarySubnet":"192.168.48.236/30"},"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost32.mp01.mock01.vmcp.vs.management","gp-fakehost31.mp01.mock01.vmcp.vs.management","gp-fakehost35.mp01.mock01.vmcp.vs.management","gp-fakehost33.mp01.mock01.vmcp.vs.management"],"provisioningState":"Succeeded"},"managementNetwork":"192.168.48.0/26","networkBlock":"192.168.48.0/22","nsxtCertificateThumbprint":"B9A9474616752565A3FAF23E0A013ECE3DC8B8FF","provisioningNetwork":"192.168.50.0/25","provisioningState":"Succeeded","vcenterCertificateThumbprint":"BE8EA855AA13D9662A115571636B9B1925C6DB68","vmotionNetwork":"192.168.49.128/25"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"}' + headers: + cache-control: + - no-cache + content-length: + - '1619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 22021F46B3334A2BAA1AF96537D01351 Ref B: LAXEDGE1414 Ref C: 2021-06-16T18:33:23Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:25 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=An35iydOw-1LloiYBalnmAI; expires=Fri, 16-Jul-2021 18:33:26 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr_vrnxMBtaeFjr-Ht_9jFZ6pHW2I4qCmotPnAfjGN6CrgJCTM2U5UTRPI1sEdSuCWi_jN6tae2uRLgkZGDrWiW28T96Ee57oXA5ZimwXlvI3xJ9F_bxRQIip8Jr2fkwnypXXWKwfE5gq-rcCy1TnQpRpZ7DnmP2_jPGLDE5sKjQogAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.4 - WUS2 ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware global-reach-connection list + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections?api-version=2021-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 5DD6EED41276432FA4C7ED7B9A4BA1A5 Ref B: LAXEDGE1313 Ref C: 2021-06-16T18:33:29Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:32 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=Av0lksS2butIkMfRSiyWHtY; expires=Fri, 16-Jul-2021 18:33:32 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevryDCxNBU4JwAYX2vzxpCFH5mTR5SA6XPJnx9mTKUKzzPpjP684jOue7hkpZI9yRptZfBE9yKCq3hLAS3eXofry7b-Q974Vtjh7HLrc9CF5VeSEfQjUVqtyr1f0K6g2clUMFe4GX5Lj4zTHiwLSfRStYaP4QiAFQyXqx8Eciwc7ysgAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11787.15 - SCUS ProdSlices + status: + code: 200 + message: OK +- request: + body: '{"properties": {"authorizationKey": "01010101-0101-0101-0101-010101010101", + "peerExpressRouteCircuit": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware global-reach-connection create + Connection: + - keep-alive + Content-Length: + - '237' + Content-Type: + - application/json + ParameterSetName: + - -g -c -n --peer-express-route-circuit --authorization-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1","name":"connection1","properties":{"addressPrefix":"192.168.48.128/29","authorizationKey":"01010101-0101-0101-0101-010101010101","circuitConnectionStatus":"Connected","peerExpressRouteCircuit":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer","provisioningState":"Succeeded"},"type":"Microsoft.AVS/privateClouds/globalReachConnections"}' + headers: + cache-control: + - no-cache + content-length: + - '650' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-msedge-ref: + - 'Ref A: A3B484C50C994CEB9C8F1102B2CB5B8B Ref B: LAX311000110045 Ref C: 2021-06-16T18:33:34Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:40 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AoD69EGLOwdAkNMeXxYy8yY; expires=Fri, 16-Jul-2021 18:33:41 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrPDz5PcwspIuNlYuBaKH_CXEuTn3wPEruQ413C1dgmrsBHupq9jK5JnNdAYsgeiiSeTic7gU3Inizx1rN4r8DF_DzQMNVuIflShlJTchSmVEVUvjJAxRnIIjzz28nzxsdhl9nmOtt35IQ2p3qlZPQNt5TgX9rvh-AX67Nlpy9jNkgAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.4 - SCUS ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware global-reach-connection list + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections?api-version=2021-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1","name":"connection1","properties":{"addressPrefix":"192.168.48.128/29","authorizationKey":"01010101-0101-0101-0101-010101010101","circuitConnectionStatus":"Connected","peerExpressRouteCircuit":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer","provisioningState":"Succeeded"},"type":"Microsoft.AVS/privateClouds/globalReachConnections"}]}' + headers: + cache-control: + - no-cache + content-length: + - '662' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 23D03EA98A8D40B1AED7DAB0753462A2 Ref B: LAXEDGE1507 Ref C: 2021-06-16T18:33:43Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:46 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AiufH1Q4TlhGjS0FnHO-ZYg; expires=Fri, 16-Jul-2021 18:33:46 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrrcsJRZTy3qrlfoGI45CMppcI0X-HiDZMpuaf4Xz65N8g3a3ufFwQnK2aDVK7UTmApxHr7UJ1o3TuswUVS1L__hGidZztrUvTWLxLtK-BV8zanyZ0WadU14lUF2g3lVXng3-vbMkvNJwHfh6kV9wjxd9wHlgGx2sxHvFeWObpIHkgAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.4 - WUS2 ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware global-reach-connection show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1","name":"connection1","properties":{"addressPrefix":"192.168.48.128/29","authorizationKey":"01010101-0101-0101-0101-010101010101","circuitConnectionStatus":"Connected","peerExpressRouteCircuit":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer","provisioningState":"Succeeded"},"type":"Microsoft.AVS/privateClouds/globalReachConnections"}' + headers: + cache-control: + - no-cache + content-length: + - '650' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:49 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: D4382A82F88C4CF690BD79E31A74BE92 Ref B: LAXEDGE0908 Ref C: 2021-06-16T18:33:49Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:51 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AnPvMCpPyopNuILmsAR3bQ4; expires=Fri, 16-Jul-2021 18:33:52 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrKaaUnwWkEc_kvfbR7irS4PMZ--7SSeXfsREXazVM4LW7C6BxZvS34Enqabo0TZQcH0Lm58D5ZGRxXY8ODyIu4k_6jrj-YKNVjlO9L5CLYGPb_UVbE1ABmXja93pT6TaNsPuPzEkzRSsAOpTyeNf1kJSNqihYa3GLPMNtXL_gGE8gAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.4 - EUS ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware global-reach-connection delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections/connection1?api-version=2021-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/html + date: + - Wed, 16 Jun 2021 18:33:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + x-msedge-ref: + - 'Ref A: 254CEE8C24944AADA685055E1D02BA56 Ref B: LAXEDGE0807 Ref C: 2021-06-16T18:33:54Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:33:57 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=Al3x0vN6soBLgLdZYlT2wYw; expires=Fri, 16-Jul-2021 18:33:58 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevruiQILcR_l77Wj1FFIY-FMZjZRaoyXdqCyglZrmjaIqbqSqfuTcoiKP-ojtUdwIELgU__q8AyMNOehp-8WIn_mX2OCeQKH2_lBkM13IWTKQYeRnbGh167mWjx9r8GxtxAdcvH4JkHuTsSdmyQI5OJa5ktd_jKgvji1rD1k5QxRGsgAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11787.15 - WUS2 ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware global-reach-connection list + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_hcx000001/providers/Microsoft.AVS/privateClouds/cloud1/globalReachConnections?api-version=2021-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 16 Jun 2021 18:34:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 1E82997E90B7412AA76545F261D77742 Ref B: LAXEDGE0810 Ref C: 2021-06-16T18:34:00Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/vmware/azext_vmware/tests/latest/test_global_reach_connection_scenario.py b/src/vmware/azext_vmware/tests/latest/test_global_reach_connection_scenario.py new file mode 100644 index 00000000000..35a29bc4e9e --- /dev/null +++ b/src/vmware/azext_vmware/tests/latest/test_global_reach_connection_scenario.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. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + + +class VmwareGlobalReachConnectionScenarioTest(ScenarioTest): + def setUp(self): + # https://vcrpy.readthedocs.io/en/latest/configuration.html#request-matching + self.vcr.match_on = ['scheme', 'method', 'path', 'query'] # not 'host', 'port' + super(VmwareGlobalReachConnectionScenarioTest, self).setUp() + + @ResourceGroupPreparer(name_prefix='cli_test_vmware_hcx') + def test_vmware_global_reach_connection(self): + self.kwargs.update({ + 'loc': 'westcentralus', + 'privatecloud': 'cloud1', + 'global_reach_connection': 'connection1', + 'peer_express_route_circuit': '/subscriptions/12341234-1234-1234-1234-123412341234/resourceGroups/mygroup/providers/Microsoft.Network/expressRouteCircuits/mypeer', + 'authorization_key': '01010101-0101-0101-0101-010101010101' + }) + + self.cmd('az vmware private-cloud create -g {rg} -n {privatecloud} --location {loc} --sku av20 --cluster-size 4 --network-block 192.168.48.0/22 --nsxt-password 5rqdLj4GF3cePUe6( --vcenter-password UpfBXae9ZquZSDXk( --accept-eula') + + count = len(self.cmd('az vmware global-reach-connection list -g {rg} -c {privatecloud}').get_output_in_json()) + self.assertEqual(count, 0, 'count expected to be 0') + + rsp = self.cmd('az vmware global-reach-connection create -g {rg} -c {privatecloud} -n {global_reach_connection} --peer-express-route-circuit {peer_express_route_circuit} --authorization-key {authorization_key}').get_output_in_json() + self.assertEqual(rsp['type'], 'Microsoft.AVS/privateClouds/globalReachConnections') + self.assertEqual(rsp['name'], self.kwargs.get('global_reach_connection')) + + count = len(self.cmd('az vmware global-reach-connection list -g {rg} -c {privatecloud}').get_output_in_json()) + self.assertEqual(count, 1, 'count expected to be 1') + + self.cmd('vmware global-reach-connection show -g {rg} -c {privatecloud} -n {global_reach_connection}').get_output_in_json() + self.assertEqual(rsp['type'], 'Microsoft.AVS/privateClouds/globalReachConnections') + self.assertEqual(rsp['name'], self.kwargs.get('global_reach_connection')) + + rsp = self.cmd('vmware global-reach-connection delete -g {rg} -c {privatecloud} -n {global_reach_connection}').output + self.assertEqual(len(rsp), 0) + + count = len(self.cmd('az vmware global-reach-connection list -g {rg} -c {privatecloud}').get_output_in_json()) + self.assertEqual(count, 0, 'count expected to be 0') diff --git a/src/vmware/linter_exclusions.yml b/src/vmware/linter_exclusions.yml new file mode 100644 index 00000000000..60984f9fde5 --- /dev/null +++ b/src/vmware/linter_exclusions.yml @@ -0,0 +1,5 @@ +vmware global-reach-connection create: + parameters: + peer_express_route_circuit: + rule_exclusions: + - option_length_too_long From 870df2db187ef9b6c9366de1e488244530cf5f4f Mon Sep 17 00:00:00 2001 From: Cameron Taggart Date: Wed, 30 Jun 2021 00:02:39 -0600 Subject: [PATCH 27/85] [vmware] add SRM recorded tests (#3535) * reenable SRM Addon tests * srm tests recorded --- src/vmware/azext_vmware/_help.py | 4 +- .../latest/recordings/test_vmware_addon.yaml | 1347 +++++++++++++++-- .../tests/latest/test_addon_scenario.py | 24 +- 3 files changed, 1195 insertions(+), 180 deletions(-) diff --git a/src/vmware/azext_vmware/_help.py b/src/vmware/azext_vmware/_help.py index 9a30569d37f..0d30d76d60c 100644 --- a/src/vmware/azext_vmware/_help.py +++ b/src/vmware/azext_vmware/_help.py @@ -277,7 +277,7 @@ short-summary: Create a Site Recovery Manager (SRM) addon for a private cloud. examples: - name: Create a Site Recovery Manager (SRM) addon. - text: az vmware addon srm create --resource-group MyResourceGroup --private-cloud MyPrivateCloud --license-key "41915178-A8FF-4A4D-B683-6D735AF5E3F5" + text: az vmware addon srm create --resource-group MyResourceGroup --private-cloud MyPrivateCloud --license-key "41915-178A8-FF4A4-DB683-6D735" """ helps['vmware addon vr show'] = """ @@ -325,7 +325,7 @@ short-summary: Update a Site Recovery Manager (SRM) addon for a private cloud. examples: - name: Update a Site Recovery Manager (SRM) addon. - text: az vmware addon srm update --resource-group MyResourceGroup --private-cloud MyPrivateCloud --license-key "41915178-A8FF-4A4D-B683-6D735AF5E3F5" + text: az vmware addon srm update --resource-group MyResourceGroup --private-cloud MyPrivateCloud --license-key "41915-178A8-FF4A4-DB683-6D735" """ helps['vmware addon vr delete'] = """ diff --git a/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_addon.yaml b/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_addon.yaml index 03337806818..6950c6b262f 100644 --- a/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_addon.yaml +++ b/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_addon.yaml @@ -23,7 +23,7 @@ interactions: x-client-Ver: - 1.2.3 method: GET - uri: https://login.microsoftonline.com/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 response: body: string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' @@ -39,13 +39,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:14:55 GMT + - Tue, 22 Jun 2021 14:26:12 GMT p3p: - CP="DSP CUR OTPi IND OTRi ONL FIN" set-cookie: - - fpc=AlgsTiJUP3FIrRG1JcPVEMw; expires=Sun, 04-Jul-2021 01:14:55 GMT; path=/; + - fpc=Ag7RmEAofDVCkHeKzXTSl3Y; expires=Thu, 22-Jul-2021 14:26:12 GMT; path=/; secure; HttpOnly; SameSite=None - - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevroOhDcX_mPGRtljDDj4Q1klOhQMVEbcBZ9y7OzKwXqUIF7_bFwRKIdtOazpn_-QnFYhG_ZQzU4lH1B2TWhj3Hj1VidKUhamjDcb3sMdb8AGa7po1-pVR0yK559ciAQ87U_9pKNiTberfEjvg-2zUYPjKgeD8aMZMoW3LZzWHFAdggAA; + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrzYX5pqjfocXUFB3gXv1Bolu-crimgQVjhs240rCxupR2CVNOOLKKyemDoRLBgYVOGY7kwMbi4lDCR2zpR2xKlVZBNPRP2i0EK-P9NhZVkL8in6vE0h6Z6Kxmum6bKV0A7yzvyhqqV5RFURSJWoTPzqWkqlApRO3TtjbJ2A_fl4QgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly @@ -54,7 +54,7 @@ interactions: x-content-type-options: - nosniff x-ms-ests-server: - - 2.1.11722.21 - NCUS ProdSlices + - 2.1.11829.4 - WUS2 ProdSlices status: code: 200 message: OK @@ -80,21 +80,21 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1","location":"northcentralus","name":"mycloud1","properties":{"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost31.mp01.mock01.vmcp.vs.management","gp-fakehost30.mp01.mock01.vmcp.vs.management","gp-fakehost29.mp01.mock01.vmcp.vs.management","gp-fakehost28.mp01.mock01.vmcp.vs.management"],"provisioningState":"Building"},"managementNetwork":"192.168.48.0/24","networkBlock":"192.168.48.0/22","provisioningNetwork":"192.168.50.0/24","provisioningState":"Building","vmotionNetwork":"192.168.49.0/24"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1","location":"northcentralus","name":"mycloud1","properties":{"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost42.mp01.mock01.vmcp.vs.management","gp-fakehost41.mp01.mock01.vmcp.vs.management","gp-fakehost38.mp01.mock01.vmcp.vs.management","gp-fakehost39.mp01.mock01.vmcp.vs.management"],"provisioningState":"Building"},"managementNetwork":"192.168.48.0/26","networkBlock":"192.168.48.0/22","provisioningNetwork":"192.168.50.0/25","provisioningState":"Building","vmotionNetwork":"192.168.49.128/25"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"}' headers: azure-asyncoperation: - - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 cache-control: - no-cache content-length: - - '978' + - '980' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:15:02 GMT + - Tue, 22 Jun 2021 14:26:25 GMT expires: - '-1' pragma: @@ -108,7 +108,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: - '1199' x-msedge-ref: - - 'Ref A: E68EC5C3FDB047D4851EDEE0B4C2C12F Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:14:55Z' + - 'Ref A: E665DED7E34D401991A3DF1BDDA97E14 Ref B: LAX311000113019 Ref C: 2021-06-22T14:26:14Z' status: code: 201 message: Created @@ -128,10 +128,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":0,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":0,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -140,7 +140,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:15:12 GMT + - Tue, 22 Jun 2021 14:26:35 GMT expires: - '-1' pragma: @@ -152,7 +152,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 3C9C78087AB4450AB94EA2AF141D7E31 Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:15:12Z' + - 'Ref A: 88C5609070D540408506367BAE82E776 Ref B: LAX311000113019 Ref C: 2021-06-22T14:26:35Z' status: code: 200 message: OK @@ -172,10 +172,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":0,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":0,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -184,7 +184,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:15:22 GMT + - Tue, 22 Jun 2021 14:26:46 GMT expires: - '-1' pragma: @@ -196,7 +196,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: E8149F6885704EF1A6059802FA972DA3 Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:15:22Z' + - 'Ref A: 6CDCFC648EB04D01965E2DD01F69320B Ref B: LAX311000113019 Ref C: 2021-06-22T14:26:46Z' status: code: 200 message: OK @@ -216,10 +216,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":88.75,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":88.75,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -228,7 +228,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:15:32 GMT + - Tue, 22 Jun 2021 14:26:56 GMT expires: - '-1' pragma: @@ -240,7 +240,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 1E35F494A033475ABBC44E4D06E27C96 Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:15:32Z' + - 'Ref A: 8F35A3655D2549879682543EA2B763ED Ref B: LAX311000113019 Ref C: 2021-06-22T14:26:56Z' status: code: 200 message: OK @@ -260,10 +260,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":88.75,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":88.75,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -272,7 +272,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:15:42 GMT + - Tue, 22 Jun 2021 14:27:06 GMT expires: - '-1' pragma: @@ -284,7 +284,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 7CB1EF3BBB6242BD84744AD93F32F01F Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:15:43Z' + - 'Ref A: 7A00B94E2BF44DE9A42A20EEC7912985 Ref B: LAX311000113019 Ref C: 2021-06-22T14:27:06Z' status: code: 200 message: OK @@ -304,10 +304,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -316,7 +316,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:15:52 GMT + - Tue, 22 Jun 2021 14:27:16 GMT expires: - '-1' pragma: @@ -328,7 +328,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 8443BC2B28004A9B972D37F1056652D8 Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:15:53Z' + - 'Ref A: BD7E470595934875B39A3F73426275CA Ref B: LAX311000113019 Ref C: 2021-06-22T14:27:17Z' status: code: 200 message: OK @@ -348,10 +348,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -360,7 +360,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:16:03 GMT + - Tue, 22 Jun 2021 14:27:27 GMT expires: - '-1' pragma: @@ -372,7 +372,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 56563E9676834382A7C124F7A9E6C27C Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:16:03Z' + - 'Ref A: A39BA79AE2A84B83A049CD415745256D Ref B: LAX311000113019 Ref C: 2021-06-22T14:27:27Z' status: code: 200 message: OK @@ -392,10 +392,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -404,7 +404,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:16:13 GMT + - Tue, 22 Jun 2021 14:27:37 GMT expires: - '-1' pragma: @@ -416,7 +416,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: CE377FAB2F8E475391A3ADAF1B2605B8 Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:16:13Z' + - 'Ref A: 710981C0ABD64AD8A1EA3575D3AEA44D Ref B: LAX311000113019 Ref C: 2021-06-22T14:27:37Z' status: code: 200 message: OK @@ -436,10 +436,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -448,7 +448,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:16:23 GMT + - Tue, 22 Jun 2021 14:27:47 GMT expires: - '-1' pragma: @@ -460,7 +460,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: D45A7CD0E487479E81BFDC4A868EAF3C Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:16:23Z' + - 'Ref A: DE2E51E344CD4EB7B7325817790A15B6 Ref B: LAX311000113019 Ref C: 2021-06-22T14:27:47Z' status: code: 200 message: OK @@ -480,10 +480,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -492,7 +492,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:16:33 GMT + - Tue, 22 Jun 2021 14:27:58 GMT expires: - '-1' pragma: @@ -504,7 +504,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 39E7E3BD1F684223BDC2327C0B6BE7AB Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:16:34Z' + - 'Ref A: 39B86360B53D4B03B981AC89BAC90692 Ref B: LAX311000113019 Ref C: 2021-06-22T14:27:58Z' status: code: 200 message: OK @@ -524,10 +524,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -536,7 +536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:16:43 GMT + - Tue, 22 Jun 2021 14:28:08 GMT expires: - '-1' pragma: @@ -548,7 +548,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 61BE8D450CC84B6D874D67E301B4602D Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:16:44Z' + - 'Ref A: B463EAD80F68420696A089E8B01D0CBD Ref B: LAX311000113019 Ref C: 2021-06-22T14:28:08Z' status: code: 200 message: OK @@ -568,10 +568,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -580,7 +580,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:16:54 GMT + - Tue, 22 Jun 2021 14:28:18 GMT expires: - '-1' pragma: @@ -592,7 +592,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 8E7EE79974CD48D69F3F24C221E84547 Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:16:54Z' + - 'Ref A: 0D122BF089964235A7401AC8BC298B0C Ref B: LAX311000113019 Ref C: 2021-06-22T14:28:18Z' status: code: 200 message: OK @@ -612,19 +612,63 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 response: body: - string: '{"endTime":"2021-06-04T01:16:59.2258667+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","name":"74262fa0-62b2-430b-a9b5-1fc7ea3e97e6","percentComplete":100,"properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1","location":"northcentralus","name":"mycloud1","properties":{"circuit":{"expressRouteID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt75-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt75-cust-mp01-mock01-er","expressRoutePrivatePeeringID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt75-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt75-cust-mp01-mock01-er/peerings/AzurePrivatePeering","primarySubnet":"192.168.51.8/30","secondarySubnet":"192.168.51.12/30"},"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost31.mp01.mock01.vmcp.vs.management","gp-fakehost30.mp01.mock01.vmcp.vs.management","gp-fakehost29.mp01.mock01.vmcp.vs.management","gp-fakehost28.mp01.mock01.vmcp.vs.management"],"provisioningState":"Succeeded"},"managementNetwork":"192.168.48.0/24","networkBlock":"192.168.48.0/22","nsxtCertificateThumbprint":"B9A9474616752565A3FAF23E0A013ECE3DC8B8FF","provisioningNetwork":"192.168.50.0/24","provisioningState":"Succeeded","vcenterCertificateThumbprint":"BE8EA855AA13D9662A115571636B9B1925C6DB68","vmotionNetwork":"192.168.49.0/24"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"},"startTime":"2021-06-04T01:15:01.9605806+00:00","status":"Succeeded"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Building"}' headers: cache-control: - no-cache content-length: - - '2069' + - '389' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:28:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 4AC5AFB36A30403E989107A5CE9FC336 Ref B: LAX311000113019 Ref C: 2021-06-22T14:28:28Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware private-cloud create + Connection: + - keep-alive + ParameterSetName: + - -g -n --location --sku --cluster-size --network-block --accept-eula + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33?api-version=2021-06-01 + response: + body: + string: '{"endTime":"2021-06-22T14:28:26.7438593+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/operationstatuses/36755fb6-4acb-41ff-b64d-30fdc320fb33","name":"36755fb6-4acb-41ff-b64d-30fdc320fb33","percentComplete":100,"properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1","location":"northcentralus","name":"mycloud1","properties":{"circuit":{"expressRouteID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt24-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt24-cust-mp01-mock01-er","expressRoutePrivatePeeringID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt24-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt24-cust-mp01-mock01-er/peerings/AzurePrivatePeering","primarySubnet":"192.168.48.232/30","secondarySubnet":"192.168.48.236/30"},"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost42.mp01.mock01.vmcp.vs.management","gp-fakehost41.mp01.mock01.vmcp.vs.management","gp-fakehost38.mp01.mock01.vmcp.vs.management","gp-fakehost39.mp01.mock01.vmcp.vs.management"],"provisioningState":"Succeeded"},"managementNetwork":"192.168.48.0/26","networkBlock":"192.168.48.0/22","nsxtCertificateThumbprint":"B9A9474616752565A3FAF23E0A013ECE3DC8B8FF","provisioningNetwork":"192.168.50.0/25","provisioningState":"Succeeded","vcenterCertificateThumbprint":"BE8EA855AA13D9662A115571636B9B1925C6DB68","vmotionNetwork":"192.168.49.128/25"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"},"startTime":"2021-06-22T14:26:25.1286132+00:00","status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '2074' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:04 GMT + - Tue, 22 Jun 2021 14:28:39 GMT expires: - '-1' pragma: @@ -636,7 +680,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 21BFA2A2E7A449458A670AA6AD99DFE9 Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:17:04Z' + - 'Ref A: B4050301F5314410B2403D97CCCA502B Ref B: LAX311000113019 Ref C: 2021-06-22T14:28:39Z' status: code: 200 message: OK @@ -656,19 +700,19 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1","location":"northcentralus","name":"mycloud1","properties":{"circuit":{"expressRouteID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt75-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt75-cust-mp01-mock01-er","expressRoutePrivatePeeringID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt75-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt75-cust-mp01-mock01-er/peerings/AzurePrivatePeering","primarySubnet":"192.168.51.8/30","secondarySubnet":"192.168.51.12/30"},"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost31.mp01.mock01.vmcp.vs.management","gp-fakehost30.mp01.mock01.vmcp.vs.management","gp-fakehost29.mp01.mock01.vmcp.vs.management","gp-fakehost28.mp01.mock01.vmcp.vs.management"],"provisioningState":"Succeeded"},"managementNetwork":"192.168.48.0/24","networkBlock":"192.168.48.0/22","nsxtCertificateThumbprint":"B9A9474616752565A3FAF23E0A013ECE3DC8B8FF","provisioningNetwork":"192.168.50.0/24","provisioningState":"Succeeded","vcenterCertificateThumbprint":"BE8EA855AA13D9662A115571636B9B1925C6DB68","vmotionNetwork":"192.168.49.0/24"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1","location":"northcentralus","name":"mycloud1","properties":{"circuit":{"expressRouteID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt24-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt24-cust-mp01-mock01-er","expressRoutePrivatePeeringID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tnt24-cust-mp01-mock01/providers/Microsoft.Network/expressRouteCircuits/tnt24-cust-mp01-mock01-er/peerings/AzurePrivatePeering","primarySubnet":"192.168.48.232/30","secondarySubnet":"192.168.48.236/30"},"endpoints":{"hcxCloudManager":"https://192.168.48.9/","nsxtManager":"https://192.168.48.3/","vcsa":"https://192.168.48.2/"},"externalCloudLinks":[],"identitySources":[],"internet":"Disabled","managementCluster":{"clusterId":1,"clusterSize":4,"hosts":["gp-fakehost42.mp01.mock01.vmcp.vs.management","gp-fakehost41.mp01.mock01.vmcp.vs.management","gp-fakehost38.mp01.mock01.vmcp.vs.management","gp-fakehost39.mp01.mock01.vmcp.vs.management"],"provisioningState":"Succeeded"},"managementNetwork":"192.168.48.0/26","networkBlock":"192.168.48.0/22","nsxtCertificateThumbprint":"B9A9474616752565A3FAF23E0A013ECE3DC8B8FF","provisioningNetwork":"192.168.50.0/25","provisioningState":"Succeeded","vcenterCertificateThumbprint":"BE8EA855AA13D9662A115571636B9B1925C6DB68","vmotionNetwork":"192.168.49.128/25"},"sku":{"name":"av20"},"tags":{},"type":"Microsoft.AVS/privateClouds"}' headers: cache-control: - no-cache content-length: - - '1619' + - '1624' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:04 GMT + - Tue, 22 Jun 2021 14:28:39 GMT expires: - '-1' pragma: @@ -680,7 +724,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 69D9634CE9004CDDB99625AC5789B76E Ref B: PDX31EDGE0113 Ref C: 2021-06-04T01:17:04Z' + - 'Ref A: 2ED2A13699554EE28E4905D6CEE24542 Ref B: LAX311000113019 Ref C: 2021-06-22T14:28:39Z' status: code: 200 message: OK @@ -708,7 +752,7 @@ interactions: x-client-Ver: - 1.2.3 method: GET - uri: https://login.microsoftonline.com/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 response: body: string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' @@ -724,13 +768,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:05 GMT + - Tue, 22 Jun 2021 14:28:42 GMT p3p: - CP="DSP CUR OTPi IND OTRi ONL FIN" set-cookie: - - fpc=AvJdidjTajVMpJI6tkbvCgo; expires=Sun, 04-Jul-2021 01:17:05 GMT; path=/; + - fpc=Al-jRvG9QitPrMBjVWS3qcQ; expires=Thu, 22-Jul-2021 14:28:42 GMT; path=/; secure; HttpOnly; SameSite=None - - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr2HJdDjtvCUrc2CeixeTXUBlvXJa7xGTkRWj3QOC-vOovJC3V9rumQ0fEYRqDFnkm66LsbdmoSZ7AKI4NAjKSl2VBecA-FEcFIPF81X9KxnfKctgp-f1ofDu2TWqlxfQawS87iGb0-3BFgbEds96nGVgXWd6g5TEwcRiU5HBFW7EgAA; + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrI78JItPXDBKyxYJUWTDJ82ydX99vWo_-ac1LG--7VWAGYbBVPl1PB-AfCoxlnjQxXwdi5Knr5pdYw0YCfTkHpIswdJl8c-wk371v1PaiF0PAR0_lEINeE4l7lWrdVMnnQlim2rRG20o7gK7VOcWawFPrX4wEim6KKtJ3WCiuBRkgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly @@ -739,7 +783,7 @@ interactions: x-content-type-options: - nosniff x-ms-ests-server: - - 2.1.11722.26 - SCUS ProdSlices + - 2.1.11829.4 - NCUS ProdSlices status: code: 200 message: OK @@ -759,7 +803,7 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 response: body: string: '{"value":[]}' @@ -771,7 +815,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:05 GMT + - Tue, 22 Jun 2021 14:28:44 GMT expires: - '-1' pragma: @@ -783,7 +827,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: D13ED1D68C0540809F10B1649E335D27 Ref B: PDX31EDGE0119 Ref C: 2021-06-04T01:17:05Z' + - 'Ref A: 0B4BCDC41075475ABFAC89CA920E29CD Ref B: LAXEDGE1516 Ref C: 2021-06-22T14:28:44Z' status: code: 200 message: OK @@ -811,7 +855,7 @@ interactions: x-client-Ver: - 1.2.3 method: GET - uri: https://login.microsoftonline.com/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 response: body: string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' @@ -827,13 +871,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:06 GMT + - Tue, 22 Jun 2021 14:28:47 GMT p3p: - CP="DSP CUR OTPi IND OTRi ONL FIN" set-cookie: - - fpc=AvKvRMVhyU1CmxNvwH7muzo; expires=Sun, 04-Jul-2021 01:17:06 GMT; path=/; + - fpc=AkHPXhR209pMvYq0U1G1FBc; expires=Thu, 22-Jul-2021 14:28:48 GMT; path=/; secure; HttpOnly; SameSite=None - - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrGimviEVQAG9CE5uWHnVUH1iSNMJyfPFGLD5aiR1SsWUJ2bwj12Yr0BXSuApQkfLRdhsHVerqBxK_ZWgerN5cO0xS4MfR6W49nL2fUliquL-4GcMNfgGFR5AXlDvfoP9Q1_GXzSC4Swl5VAdTANgVDVt3P8UGK71z28tsPNRJkkwgAA; + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrkGquA-G5lGSwmeoPd9bT8AOvNz70Uxo8k7AQhL9S5AAxvfascqgtGQT5TEzZv4qZQDjuTj7XLLxP8pzxZlzgFUk2C2zjFu1jpZOAfKbbVgULGXiDraY-x7ka5gbQpp70os1dKVtT3YORGYtHo-dl6QJjdzptGvPaaV9aK4rHBacgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly @@ -842,7 +886,7 @@ interactions: x-content-type-options: - nosniff x-ms-ests-server: - - 2.1.11787.14 - SCUS ProdSlices + - 2.1.11829.8 - WUS2 ProdSlices status: code: 200 message: OK @@ -866,13 +910,13 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr","name":"vr","properties":{"addonType":"VR","provisioningState":"Building","vrsCount":1},"type":"Microsoft.AVS/privateClouds/addons"}' headers: azure-asyncoperation: - - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b?api-version=2021-06-01 + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24?api-version=2021-06-01 cache-control: - no-cache content-length: @@ -880,7 +924,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:07 GMT + - Tue, 22 Jun 2021 14:28:51 GMT expires: - '-1' pragma: @@ -892,9 +936,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' x-msedge-ref: - - 'Ref A: 6AFFE1DDE1DD4B97918375009ABF1AC6 Ref B: PDX31EDGE0120 Ref C: 2021-06-04T01:17:06Z' + - 'Ref A: B4C3BFE125314C56884365824DCF8C27 Ref B: LAX311000110051 Ref C: 2021-06-22T14:28:50Z' status: code: 201 message: Created @@ -914,10 +958,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b","name":"a7c4a7bb-f176-4443-accf-52606e7b907b","percentComplete":25,"startTime":"2021-06-04T01:17:07.6503196+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24","name":"123d1b24-3710-462c-893b-c5c18d71eb24","percentComplete":25,"startTime":"2021-06-22T14:28:52.0125818+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -926,7 +970,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:17 GMT + - Tue, 22 Jun 2021 14:29:02 GMT expires: - '-1' pragma: @@ -938,7 +982,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: B4DCFE37D3634558A7761EA03AD72052 Ref B: PDX31EDGE0120 Ref C: 2021-06-04T01:17:17Z' + - 'Ref A: BCE109EFDE9E43D898F72F0430F6716A Ref B: LAX311000110051 Ref C: 2021-06-22T14:29:02Z' status: code: 200 message: OK @@ -958,10 +1002,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b","name":"a7c4a7bb-f176-4443-accf-52606e7b907b","percentComplete":0,"startTime":"2021-06-04T01:17:07.6503196+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24","name":"123d1b24-3710-462c-893b-c5c18d71eb24","percentComplete":0,"startTime":"2021-06-22T14:28:52.0125818+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -970,7 +1014,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:27 GMT + - Tue, 22 Jun 2021 14:29:12 GMT expires: - '-1' pragma: @@ -982,7 +1026,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 78AC6270A30643A59315B7EE00F4ED32 Ref B: PDX31EDGE0120 Ref C: 2021-06-04T01:17:28Z' + - 'Ref A: 9FDA367B7D1B4C948C21D37A9229EBCE Ref B: LAX311000110051 Ref C: 2021-06-22T14:29:12Z' status: code: 200 message: OK @@ -1002,10 +1046,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b","name":"a7c4a7bb-f176-4443-accf-52606e7b907b","percentComplete":50,"startTime":"2021-06-04T01:17:07.6503196+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24","name":"123d1b24-3710-462c-893b-c5c18d71eb24","percentComplete":50,"startTime":"2021-06-22T14:28:52.0125818+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -1014,7 +1058,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:37 GMT + - Tue, 22 Jun 2021 14:29:22 GMT expires: - '-1' pragma: @@ -1026,7 +1070,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 3B88D8C9502445DD9C31DC7C8051A0DF Ref B: PDX31EDGE0120 Ref C: 2021-06-04T01:17:38Z' + - 'Ref A: 8EC3AF47A7BD4EC9AF2F4C2408D558A9 Ref B: LAX311000110051 Ref C: 2021-06-22T14:29:23Z' status: code: 200 message: OK @@ -1046,10 +1090,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b","name":"a7c4a7bb-f176-4443-accf-52606e7b907b","percentComplete":0,"startTime":"2021-06-04T01:17:07.6503196+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24","name":"123d1b24-3710-462c-893b-c5c18d71eb24","percentComplete":0,"startTime":"2021-06-22T14:28:52.0125818+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -1058,7 +1102,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:47 GMT + - Tue, 22 Jun 2021 14:29:33 GMT expires: - '-1' pragma: @@ -1070,7 +1114,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 76FF3B630FB742619DEF746EC05674C4 Ref B: PDX31EDGE0120 Ref C: 2021-06-04T01:17:48Z' + - 'Ref A: ABB32745A3C746A08144792995AEE416 Ref B: LAX311000110051 Ref C: 2021-06-22T14:29:33Z' status: code: 200 message: OK @@ -1090,10 +1134,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24?api-version=2021-06-01 response: body: - string: '{"endTime":"2021-06-04T01:17:44.0502741+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/a7c4a7bb-f176-4443-accf-52606e7b907b","name":"a7c4a7bb-f176-4443-accf-52606e7b907b","percentComplete":100,"properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr","name":"vr","properties":{"addonType":"VR","provisioningState":"Succeeded","vrsCount":1},"type":"Microsoft.AVS/privateClouds/addons"},"startTime":"2021-06-04T01:17:07.6503196+00:00","status":"Succeeded"}' + string: '{"endTime":"2021-06-22T14:29:31.6168753+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/123d1b24-3710-462c-893b-c5c18d71eb24","name":"123d1b24-3710-462c-893b-c5c18d71eb24","percentComplete":100,"properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr","name":"vr","properties":{"addonType":"VR","provisioningState":"Succeeded","vrsCount":1},"type":"Microsoft.AVS/privateClouds/addons"},"startTime":"2021-06-22T14:28:52.0125818+00:00","status":"Succeeded"}' headers: cache-control: - no-cache @@ -1102,7 +1146,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:58 GMT + - Tue, 22 Jun 2021 14:29:43 GMT expires: - '-1' pragma: @@ -1114,7 +1158,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: FCD295CCABB24CF5947DC0FE831A34FC Ref B: PDX31EDGE0120 Ref C: 2021-06-04T01:17:58Z' + - 'Ref A: FFBB937CFE1D419AB52C0552288505BE Ref B: LAX311000110051 Ref C: 2021-06-22T14:29:43Z' status: code: 200 message: OK @@ -1134,7 +1178,7 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr","name":"vr","properties":{"addonType":"VR","provisioningState":"Succeeded","vrsCount":1},"type":"Microsoft.AVS/privateClouds/addons"}' @@ -1146,7 +1190,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:58 GMT + - Tue, 22 Jun 2021 14:29:43 GMT expires: - '-1' pragma: @@ -1158,7 +1202,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 2BC0AAE5923846DA91FEB7F7C8B968D1 Ref B: PDX31EDGE0120 Ref C: 2021-06-04T01:17:58Z' + - 'Ref A: 9B0ECE8EDAD348B6991D83D57B7C3701 Ref B: LAX311000110051 Ref C: 2021-06-22T14:29:44Z' status: code: 200 message: OK @@ -1186,7 +1230,7 @@ interactions: x-client-Ver: - 1.2.3 method: GET - uri: https://login.microsoftonline.com/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 response: body: string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' @@ -1202,13 +1246,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:58 GMT + - Tue, 22 Jun 2021 14:29:46 GMT p3p: - CP="DSP CUR OTPi IND OTRi ONL FIN" set-cookie: - - fpc=AoNokgBYlSVBtZKOL8n1xrY; expires=Sun, 04-Jul-2021 01:17:59 GMT; path=/; + - fpc=AgfaJ22iEP5NkbKA6iZ0NOI; expires=Thu, 22-Jul-2021 14:29:47 GMT; path=/; secure; HttpOnly; SameSite=None - - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrtO1NEQsZnsGnUjYGZw8kluGK-py-Y03C1b1-hgciN2AEVIvUgrDRcJnQB3mXiBlh1QkLBYH4IwsL84LQsknh-MjKLPceJC_JO0DBeHs0MjfoFOHzuP4zSzsSVDUFRoYcwE_8TMFZZMv8ZMqS_AGfG8l4oxZ-PZlNYC-7lMU01jIgAA; + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrOl3YBdgvhdVrd7Ih7brdSnokzoaTIuwI90l452onQpKMyeITWjkCvy30i4mh3hPPJNdgHn5l-aorC4fqLga4WXxNj_QyFBhBdU47DSrsdA8pOX4v40s4sB0pQ-bSI3X5TV46ZdUAeoCGh4lsHw5nOqcYtVJzcbRbw9vpMpU7PPkgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly @@ -1217,7 +1261,7 @@ interactions: x-content-type-options: - nosniff x-ms-ests-server: - - 2.1.11722.21 - EUS ProdSlices + - 2.1.11829.8 - EUS ProdSlices status: code: 200 message: OK @@ -1237,7 +1281,7 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr","name":"vr","properties":{"addonType":"VR","provisioningState":"Succeeded","vrsCount":1},"type":"Microsoft.AVS/privateClouds/addons"}]}' @@ -1249,7 +1293,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:17:59 GMT + - Tue, 22 Jun 2021 14:29:49 GMT expires: - '-1' pragma: @@ -1261,7 +1305,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 05BD151FA6764AA784FE3DCC8F8E1D3D Ref B: PDX31EDGE0111 Ref C: 2021-06-04T01:17:59Z' + - 'Ref A: 9828FF9CFECB41E199BCF6607C263D9B Ref B: LAXEDGE1507 Ref C: 2021-06-22T14:29:49Z' status: code: 200 message: OK @@ -1289,7 +1333,7 @@ interactions: x-client-Ver: - 1.2.3 method: GET - uri: https://login.microsoftonline.com/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 response: body: string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' @@ -1305,13 +1349,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:00 GMT + - Tue, 22 Jun 2021 14:29:53 GMT p3p: - CP="DSP CUR OTPi IND OTRi ONL FIN" set-cookie: - - fpc=AshtVrOo-1ZDjzlDEtDFg78; expires=Sun, 04-Jul-2021 01:18:00 GMT; path=/; + - fpc=AlBToC54zCBAomzQqCjRNbE; expires=Thu, 22-Jul-2021 14:29:53 GMT; path=/; secure; HttpOnly; SameSite=None - - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrXEESoVLh9tborC-5jO0qjlQmRHg0Id2nDz61j8LIfTsGbZ2bbWh2kUpX6qxyNVaeT5-tn3YFsdP1sIQVxWUwNE63mwkcZaUt1Cz5XMQWyT61uU9pvmeUVUlLl7QHcYNbjbrK5mF4VzJqgTwQbo8jbVXOtGNy5cf8AVGZfP2WOdUgAA; + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrE9IEfC9c5n68PM2m-rrgTaHPN8DMy8NwVN1lKRmXmOmvFKju7pxEs90WhwnDZgNOTvXUeQVR_h0aEDykW2BUHQ8oxtsyeqkEprHx-UNokTz-TvwFVyQkvlihmPc-TwMrQZpwLqoFaazj4xjd7WNc2RJv5If1zZZNU7pvqMt1FNggAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly @@ -1320,7 +1364,7 @@ interactions: x-content-type-options: - nosniff x-ms-ests-server: - - 2.1.11722.21 - SCUS ProdSlices + - 2.1.11829.8 - EUS ProdSlices status: code: 200 message: OK @@ -1340,7 +1384,7 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr","name":"vr","properties":{"addonType":"VR","provisioningState":"Succeeded","vrsCount":1},"type":"Microsoft.AVS/privateClouds/addons"}' @@ -1352,7 +1396,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:00 GMT + - Tue, 22 Jun 2021 14:29:54 GMT expires: - '-1' pragma: @@ -1364,7 +1408,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 262EFE2448474AFF86CF1CD2C54D6480 Ref B: PDX31EDGE0111 Ref C: 2021-06-04T01:18:00Z' + - 'Ref A: F15D58C3DDF74D5DAE783F20094353F4 Ref B: LAXEDGE1618 Ref C: 2021-06-22T14:29:55Z' status: code: 200 message: OK @@ -1392,7 +1436,7 @@ interactions: x-client-Ver: - 1.2.3 method: GET - uri: https://login.microsoftonline.com/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 response: body: string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' @@ -1408,13 +1452,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:00 GMT + - Tue, 22 Jun 2021 14:29:58 GMT p3p: - CP="DSP CUR OTPi IND OTRi ONL FIN" set-cookie: - - fpc=AhTm7fQbUAdEuhVbK8xP1qs; expires=Sun, 04-Jul-2021 01:18:00 GMT; path=/; + - fpc=AgT2xr0DooJOuUqD8Nxc0vA; expires=Thu, 22-Jul-2021 14:29:58 GMT; path=/; secure; HttpOnly; SameSite=None - - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrOiiFQPf4_nciCCIipWyZSUZsjIm0atKnhF23cvHRrK_NEHzHFwvl8VcnvFlrV7ev4T0hWRQjiBhzGuR3a_7iB-yJY_Wucc2c-oEjaaX3uQu4EydAcOgj7VgN6ii5IanLi3QxsVLGqMjhob9Z5frRImc6g8hePviNGqTqfGx3InYgAA; + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrBGwJxnKZPFmyTkbbrt5uCn3iVFx4bN2o9FXNCDi1IxDUtumYL3gYpeSOwOpo14ahInuENttuogKKME6cvyG8aQ_dpC4FurWe3XsJ2fjyvTk7T-ScDOFsa1DcSdJVO4nDe7P6qhHOuBp549PMZWlX7HE8-u_YXAsy699_sO0khmIgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly @@ -1423,7 +1467,7 @@ interactions: x-content-type-options: - nosniff x-ms-ests-server: - - 2.1.11722.26 - EUS ProdSlices + - 2.1.11829.4 - NCUS ProdSlices status: code: 200 message: OK @@ -1445,13 +1489,13 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr","name":"vr","properties":{"addonType":"VR","provisioningState":"Deleting","vrsCount":1},"type":"Microsoft.AVS/privateClouds/addons"}' headers: azure-asyncoperation: - - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92?api-version=2021-06-01 + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb?api-version=2021-06-01 cache-control: - no-cache content-length: @@ -1459,11 +1503,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:00 GMT + - Tue, 22 Jun 2021 14:30:01 GMT expires: - '-1' location: - - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationresults/98235272-1944-43ca-b45c-bebd59b1bd92?api-version=2021-06-01 + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationresults/d4c93e9e-4431-4241-b0b2-2b7a41f751cb?api-version=2021-06-01 pragma: - no-cache strict-transport-security: @@ -1473,9 +1517,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' x-msedge-ref: - - 'Ref A: CD5B5BFA6D4D444DB2D34BC3C02F1B2F Ref B: PDX31EDGE0121 Ref C: 2021-06-04T01:18:00Z' + - 'Ref A: CBC3AD7151644D6F80017624035585B2 Ref B: LAXEDGE1720 Ref C: 2021-06-22T14:30:00Z' status: code: 202 message: Accepted @@ -1495,10 +1539,10 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92","name":"98235272-1944-43ca-b45c-bebd59b1bd92","percentComplete":0,"startTime":"2021-06-04T01:18:01.1326769+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb","name":"d4c93e9e-4431-4241-b0b2-2b7a41f751cb","percentComplete":0,"startTime":"2021-06-22T14:30:01.2766941+00:00","status":"Building"}' headers: cache-control: - no-cache @@ -1507,7 +1551,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:11 GMT + - Tue, 22 Jun 2021 14:30:11 GMT expires: - '-1' pragma: @@ -1519,7 +1563,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: BC592D98F6C240B68C12F83D5DD1EEFB Ref B: PDX31EDGE0121 Ref C: 2021-06-04T01:18:11Z' + - 'Ref A: 95FD424F2F6D42158F179519BAEE41B3 Ref B: LAXEDGE1720 Ref C: 2021-06-22T14:30:11Z' status: code: 200 message: OK @@ -1539,19 +1583,19 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92","name":"98235272-1944-43ca-b45c-bebd59b1bd92","percentComplete":0,"startTime":"2021-06-04T01:18:01.1326769+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb","name":"d4c93e9e-4431-4241-b0b2-2b7a41f751cb","percentComplete":50,"startTime":"2021-06-22T14:30:01.2766941+00:00","status":"Building"}' headers: cache-control: - no-cache content-length: - - '397' + - '398' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:21 GMT + - Tue, 22 Jun 2021 14:30:21 GMT expires: - '-1' pragma: @@ -1563,7 +1607,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 32387C5DA5874D67A93A1560C208C400 Ref B: PDX31EDGE0121 Ref C: 2021-06-04T01:18:21Z' + - 'Ref A: 110EA0F27F5C4599A543E1F545C87FCE Ref B: LAXEDGE1720 Ref C: 2021-06-22T14:30:21Z' status: code: 200 message: OK @@ -1583,19 +1627,19 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92","name":"98235272-1944-43ca-b45c-bebd59b1bd92","percentComplete":50,"startTime":"2021-06-04T01:18:01.1326769+00:00","status":"Building"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb","name":"d4c93e9e-4431-4241-b0b2-2b7a41f751cb","percentComplete":0,"startTime":"2021-06-22T14:30:01.2766941+00:00","status":"Building"}' headers: cache-control: - no-cache content-length: - - '398' + - '397' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:31 GMT + - Tue, 22 Jun 2021 14:30:31 GMT expires: - '-1' pragma: @@ -1607,7 +1651,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: A8F32D41E935423FB28F701155BED24E Ref B: PDX31EDGE0121 Ref C: 2021-06-04T01:18:31Z' + - 'Ref A: 9BB43327D17241C9B365CDB3A139E4E8 Ref B: LAXEDGE1720 Ref C: 2021-06-22T14:30:31Z' status: code: 200 message: OK @@ -1627,19 +1671,19 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb?api-version=2021-06-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92","name":"98235272-1944-43ca-b45c-bebd59b1bd92","percentComplete":0,"startTime":"2021-06-04T01:18:01.1326769+00:00","status":"Building"}' + string: '{"endTime":"2021-06-22T14:30:36.6323601+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/d4c93e9e-4431-4241-b0b2-2b7a41f751cb","name":"d4c93e9e-4431-4241-b0b2-2b7a41f751cb","percentComplete":100,"startTime":"2021-06-22T14:30:01.2766941+00:00","status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '397' + - '446' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:41 GMT + - Tue, 22 Jun 2021 14:30:41 GMT expires: - '-1' pragma: @@ -1651,7 +1695,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: 96815CAAF5134036B032510D806728BD Ref B: PDX31EDGE0121 Ref C: 2021-06-04T01:18:41Z' + - 'Ref A: E34ABF10EA434E7CBBFEF3DEB3C58ED9 Ref B: LAXEDGE1720 Ref C: 2021-06-22T14:30:42Z' status: code: 200 message: OK @@ -1660,10 +1704,69 @@ interactions: headers: Accept: - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:30:45 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AmvJHgBrni5FlS9BT7ekDhI; expires=Thu, 22-Jul-2021 14:30:45 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevrv6HHhjcADrhe9wwy1JGdD7lU6VX_FkBIaOs8eRotzIYwx3tABu9CLI1DrhxoxwGH6RknPadDMITsoz5DDliCo-vGi9nswpABU03_ZxB9lVhNLNp_gIOgv_Gdp9XC7WNFSzUcaTsZ50kEFoR1yMaXmEqr4MilMDuy8u3_3skZpF4gAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.8 - SCUS ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json Accept-Encoding: - gzip, deflate CommandName: - - vmware addon vr delete + - vmware addon list Connection: - keep-alive ParameterSetName: @@ -1671,19 +1774,931 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 response: body: - string: '{"endTime":"2021-06-04T01:18:39.0494200+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/vr/operationstatuses/98235272-1944-43ca-b45c-bebd59b1bd92","name":"98235272-1944-43ca-b45c-bebd59b1bd92","percentComplete":100,"startTime":"2021-06-04T01:18:01.1326769+00:00","status":"Succeeded"}' + string: '{"value":[]}' headers: cache-control: - no-cache content-length: - - '446' + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:30:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: E6789D34B71442FCAA2C85AF54327B55 Ref B: LAX311000110019 Ref C: 2021-06-22T14:30:47Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:30:50 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AnncqloWeppBgJvMAgcU4l0; expires=Thu, 22-Jul-2021 14:30:51 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr9Bj-QUqG_4BQlD9h5zbI3BVw52nMztk7SFeYFTuMV_VM4SxH6wdUWbznhAyGpczJnkS7Ut539FF0qHKBlI4fIQWrN6cmUuvwp67SCFcLOCz2jWKhzTAgReYU62bPp05CeDMAWN7HI0RPC1j9NWBBn43Rt4MoWv97WnQZdDoayNcgAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.4 - NCUS ProdSlices + status: + code: 200 + message: OK +- request: + body: '{"properties": {"addonType": "SRM", "licenseKey": "41915-178A8-FF4A4-DB683-6D735"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm create + Connection: + - keep-alive + Content-Length: + - '83' + Content-Type: + - application/json + ParameterSetName: + - -g -c --license-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm","name":"srm","properties":{"addonType":"SRM","licenseKey":"41915-178A8-FF4A4-DB683-6D735","provisioningState":"Building"},"type":"Microsoft.AVS/privateClouds/addons"}' + headers: + azure-asyncoperation: + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba?api-version=2021-06-01 + cache-control: + - no-cache + content-length: + - '375' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:30:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-msedge-ref: + - 'Ref A: 7A1F0606A7BE49FEA0A9216F70B8DD1D Ref B: LAXEDGE1611 Ref C: 2021-06-22T14:30:53Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm create + Connection: + - keep-alive + ParameterSetName: + - -g -c --license-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","name":"80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","percentComplete":25,"startTime":"2021-06-22T14:30:54.0388632+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: E26311E7E1A54F1C84C685FC552B82F9 Ref B: LAXEDGE1611 Ref C: 2021-06-22T14:31:04Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm create + Connection: + - keep-alive + ParameterSetName: + - -g -c --license-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","name":"80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","percentComplete":0,"startTime":"2021-06-22T14:30:54.0388632+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '398' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 88C5A67627BE4C65AF9FAF79706062E7 Ref B: LAXEDGE1611 Ref C: 2021-06-22T14:31:14Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm create + Connection: + - keep-alive + ParameterSetName: + - -g -c --license-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","name":"80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","percentComplete":50,"startTime":"2021-06-22T14:30:54.0388632+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:24 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: D2B90998F676405E94843F0E610FCF0E Ref B: LAXEDGE1611 Ref C: 2021-06-22T14:31:25Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm create + Connection: + - keep-alive + ParameterSetName: + - -g -c --license-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","name":"80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","percentComplete":75,"startTime":"2021-06-22T14:30:54.0388632+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: A7B1B63FFADC43E6A2E32938B7A0B71C Ref B: LAXEDGE1611 Ref C: 2021-06-22T14:31:35Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm create + Connection: + - keep-alive + ParameterSetName: + - -g -c --license-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba?api-version=2021-06-01 + response: + body: + string: '{"endTime":"2021-06-22T14:31:31.6176814+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","name":"80af6ca5-35e9-4183-bfb9-55f1aa36e0ba","percentComplete":100,"properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm","name":"srm","properties":{"addonType":"SRM","licenseKey":"41915-178A8-FF4A4-DB683-6D735","provisioningState":"Succeeded"},"type":"Microsoft.AVS/privateClouds/addons"},"startTime":"2021-06-22T14:30:54.0388632+00:00","status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '837' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: A911C66370EE4A4C95DB85EC3D257345 Ref B: LAXEDGE1611 Ref C: 2021-06-22T14:31:45Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm create + Connection: + - keep-alive + ParameterSetName: + - -g -c --license-key + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm","name":"srm","properties":{"addonType":"SRM","licenseKey":"41915-178A8-FF4A4-DB683-6D735","provisioningState":"Succeeded"},"type":"Microsoft.AVS/privateClouds/addons"}' + headers: + cache-control: + - no-cache + content-length: + - '376' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 86613A99A70D4C57A2FDB507223C7080 Ref B: LAXEDGE1611 Ref C: 2021-06-22T14:31:45Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:48 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AtLwp-vYI4pEsIXd5O9xGYA; expires=Thu, 22-Jul-2021 14:31:49 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrFok1ZQiPwrZBnqqHKXJQEtc5QQGXGHyBf-CsmHj-veBegKwH1m0-GBE9TbfQzQ3JZv4PMwIUfLaO_S1YKT1Bv1oB2TvSKnbBL89STwhVTZ0zZLeo-gkwfXM2YrVORmFJ81EGo2Fv7uR6lP9vZoq6Mq2_jYJq4us8S1w_TQL2_Q4gAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.4 - NCUS ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon list + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm","name":"srm","properties":{"addonType":"SRM","licenseKey":"41915-178A8-FF4A4-DB683-6D735","provisioningState":"Succeeded"},"type":"Microsoft.AVS/privateClouds/addons"}]}' + headers: + cache-control: + - no-cache + content-length: + - '388' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 2A64509D01B341E7AB0A1C324CEE9521 Ref B: LAX311000112029 Ref C: 2021-06-22T14:31:51Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:54 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AmsjMx6JVkZNmmN7FZAyLAo; expires=Thu, 22-Jul-2021 14:31:54 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrcwYZN93qx-wvMu3n0bCWotKtFaJPuuErJb67hn7heC54wk-tnENlDxkKwaiQavyCWyBR4_ixIa9pjKNwLT2EBOECLID3MzTk9mBtxv12UpfP6xQ4psQv0_vIp0-ohJ6MtOzIh7m5RbmueT5yvn5Web0X9OE8FuzlVxs_mMgrVwAgAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.4 - WUS2 ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm show + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm","name":"srm","properties":{"addonType":"SRM","licenseKey":"41915-178A8-FF4A4-DB683-6D735","provisioningState":"Succeeded"},"type":"Microsoft.AVS/privateClouds/addons"}' + headers: + cache-control: + - no-cache + content-length: + - '376' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:31:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: C5CE4366459340FB9DA8805EABC6DAD9 Ref B: LAX311000111049 Ref C: 2021-06-22T14:31:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Charset: + - utf-8 + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.22.0 + return-client-request-id: + - 'true' + x-client-CPU: + - x64 + x-client-OS: + - win32 + x-client-SKU: + - Python + x-client-Ver: + - 1.2.3 + method: GET + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + response: + body: + string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' + headers: + access-control-allow-methods: + - GET, OPTIONS + access-control-allow-origin: + - '*' + cache-control: + - max-age=86400, private + content-length: + - '131' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:32:00 GMT + p3p: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + set-cookie: + - fpc=AsGfmW9-zbdDhS2YjzbD0kA; expires=Thu, 22-Jul-2021 14:32:00 GMT; path=/; + secure; HttpOnly; SameSite=None + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7Wevr5jE_AzsmbYxzITjVD5BLzj5rj-Rdr6wIZVVpYYLVmGfA-Tvi6SA-Vc3hU6drgd7XGcpuSE3uuZSFiv23eGwYOSYxAQGUb0IEHAbBBrsLhqfPYx-FX9ZOCCWd83CZH1yK9nZ9DzJuPwtQ7kmyqwE7yVREA5Ody2S5FifTZU5gJvggAA; + domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly + - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ests-server: + - 2.1.11829.8 - WUS2 ProdSlices + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm","name":"srm","properties":{"addonType":"SRM","licenseKey":"41915-178A8-FF4A4-DB683-6D735","provisioningState":"Deleting"},"type":"Microsoft.AVS/privateClouds/addons"}' + headers: + azure-asyncoperation: + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05?api-version=2021-06-01 + cache-control: + - no-cache + content-length: + - '375' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:32:03 GMT + expires: + - '-1' + location: + - https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationresults/f90bcbce-e2c6-40ab-bc62-f4414eca8a05?api-version=2021-06-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + x-msedge-ref: + - 'Ref A: 0B3D19E213B1469E8E70636E8C402BA0 Ref B: LAX311000112021 Ref C: 2021-06-22T14:32:02Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm delete + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05","name":"f90bcbce-e2c6-40ab-bc62-f4414eca8a05","percentComplete":0,"startTime":"2021-06-22T14:32:02.9951519+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '398' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:32:13 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 6170F1BCD55C45618D1DF6FEE57ACEB7 Ref B: LAX311000112021 Ref C: 2021-06-22T14:32:13Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm delete + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05","name":"f90bcbce-e2c6-40ab-bc62-f4414eca8a05","percentComplete":25,"startTime":"2021-06-22T14:32:02.9951519+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:32:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: B30520955E714512A5012B474D643B8A Ref B: LAX311000112021 Ref C: 2021-06-22T14:32:23Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm delete + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05","name":"f90bcbce-e2c6-40ab-bc62-f4414eca8a05","percentComplete":50,"startTime":"2021-06-22T14:32:02.9951519+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:32:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: F8C8912CD59C4F6C94A1794BBE285561 Ref B: LAX311000112021 Ref C: 2021-06-22T14:32:33Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm delete + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05?api-version=2021-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05","name":"f90bcbce-e2c6-40ab-bc62-f4414eca8a05","percentComplete":75,"startTime":"2021-06-22T14:32:02.9951519+00:00","status":"Building"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 14:32:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: C6EA54D9F9CB45789C6B1462AD29FF08 Ref B: LAX311000112021 Ref C: 2021-06-22T14:32:43Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware addon srm delete + Connection: + - keep-alive + ParameterSetName: + - -g -c + User-Agent: + - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05?api-version=2021-06-01 + response: + body: + string: '{"endTime":"2021-06-22T14:32:41.6261102+00:00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons/srm/operationstatuses/f90bcbce-e2c6-40ab-bc62-f4414eca8a05","name":"f90bcbce-e2c6-40ab-bc62-f4414eca8a05","percentComplete":100,"startTime":"2021-06-22T14:32:02.9951519+00:00","status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '447' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:51 GMT + - Tue, 22 Jun 2021 14:32:54 GMT expires: - '-1' pragma: @@ -1695,7 +2710,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: D52AC86943324364834495C971CCCC37 Ref B: PDX31EDGE0121 Ref C: 2021-06-04T01:18:52Z' + - 'Ref A: 1D47AE1FF58B487F8434607CEB69F1C7 Ref B: LAX311000112021 Ref C: 2021-06-22T14:32:54Z' status: code: 200 message: OK @@ -1723,7 +2738,7 @@ interactions: x-client-Ver: - 1.2.3 method: GET - uri: https://login.microsoftonline.com/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 + uri: https://localhost:8866/common/discovery/instance?authorization_endpoint=https%3A%2F%2Flogin.windows-ppe.net%2Ff686d426-8d16-42db-81b7-ab578e110ccd%2Foauth2%2Fauthorize&api-version=1.0 response: body: string: '{"tenant_discovery_endpoint":"https://login.windows-ppe.net/f686d426-8d16-42db-81b7-ab578e110ccd/.well-known/openid-configuration"}' @@ -1739,13 +2754,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:52 GMT + - Tue, 22 Jun 2021 14:32:56 GMT p3p: - CP="DSP CUR OTPi IND OTRi ONL FIN" set-cookie: - - fpc=Aonec9VPQYFMiOT1xefOtek; expires=Sun, 04-Jul-2021 01:18:52 GMT; path=/; + - fpc=Atuqkns_aExAqz8bV79FoVU; expires=Thu, 22-Jul-2021 14:32:57 GMT; path=/; secure; HttpOnly; SameSite=None - - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrJ5x1-VgS2KVYhm90pYVRX-JClvzgjcDE0RlN9_t5XwlrZIWYTXo9hE7fP5V3l4n6NkFkDky2K615sdL4QSlz18p5gOWkgRpB3UXmqOjC4DkuEWw8AVIkWPjKEq4klQWHKP862Fep7c17QQxxcm5awRSWsuFN9ee9jE1NiSnz6XogAA; + - esctx=AQABAAAAAAD--DLA3VO7QrddgJg7WevrGv47Y-341-ZeQRxTCXSDzXojrt27RGYU6gFqw7D4uQ_JkFqqF6_S7-zpiKYKYT-6xl7qfIUOXC9NvyLFRYyoWb18NXtICDniRw5Jm9QnG5lKwIl0VmwBKCPWeTkk4CUUHCvcDiHCYQX9aGpt0vAmdimhCRmWiTq7uTNuXRLCEOUgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None - x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly - stsservicecookie=estsfd; path=/; secure; samesite=none; httponly @@ -1754,7 +2769,7 @@ interactions: x-content-type-options: - nosniff x-ms-ests-server: - - 2.1.11722.26 - EUS ProdSlices + - 2.1.11829.4 - NCUS ProdSlices status: code: 200 message: OK @@ -1774,7 +2789,7 @@ interactions: User-Agent: - AZURECLI/2.18.0 azsdk-python-mgmt-avs/0.1.0 Python/3.8.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://api-dogfood.resources.windows-int.net/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 + uri: https://localhost:8866/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmware_addon000001/providers/Microsoft.AVS/privateClouds/mycloud1/addons?api-version=2021-06-01 response: body: string: '{"value":[]}' @@ -1786,7 +2801,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Jun 2021 01:18:53 GMT + - Tue, 22 Jun 2021 14:32:59 GMT expires: - '-1' pragma: @@ -1798,7 +2813,7 @@ interactions: x-content-type-options: - nosniff x-msedge-ref: - - 'Ref A: E42B1FCEA4FA4BDEB76E1571C3D351F0 Ref B: PDX31EDGE0111 Ref C: 2021-06-04T01:18:53Z' + - 'Ref A: 80619451795648878D8A23D5320333E3 Ref B: LAX311000113047 Ref C: 2021-06-22T14:32:59Z' status: code: 200 message: OK diff --git a/src/vmware/azext_vmware/tests/latest/test_addon_scenario.py b/src/vmware/azext_vmware/tests/latest/test_addon_scenario.py index 3c98b5ce987..cfda2e68734 100644 --- a/src/vmware/azext_vmware/tests/latest/test_addon_scenario.py +++ b/src/vmware/azext_vmware/tests/latest/test_addon_scenario.py @@ -47,19 +47,19 @@ def test_vmware_addon(self): count = len(self.cmd('vmware addon list -g {rg} -c {privatecloud}').get_output_in_json()) self.assertEqual(count, 0, 'addon count expected to be 0') - # # Create a SRM addon - # self.cmd('az vmware addon srm create -g {rg} -c {privatecloud} --license-key "41915178-A8FF-4A4D-B683-6D735AF5E3F5"') + # Create a SRM addon + self.cmd('az vmware addon srm create -g {rg} -c {privatecloud} --license-key "41915-178A8-FF4A4-DB683-6D735"') - # # List all existing addon - # count = len(self.cmd('vmware addon list -g {rg} -c {privatecloud}').get_output_in_json()) - # self.assertEqual(count, 1, 'addon count expected to be 1') + # List all existing addon + count = len(self.cmd('vmware addon list -g {rg} -c {privatecloud}').get_output_in_json()) + self.assertEqual(count, 1, 'addon count expected to be 1') - # # Show a SRM addon - # self.cmd('az vmware addon srm show -g {rg} -c {privatecloud}') + # Show a SRM addon + self.cmd('az vmware addon srm show -g {rg} -c {privatecloud}') - # # Delete a SRM addon - # self.cmd('az vmware addon srm delete -g {rg} -c {privatecloud}') + # Delete a SRM addon + self.cmd('az vmware addon srm delete -g {rg} -c {privatecloud}') - # # List all existing addon - # count = len(self.cmd('vmware addon list -g {rg} -c {privatecloud}').get_output_in_json()) - # self.assertEqual(count, 0, 'addon count expected to be 0') + # List all existing addon + count = len(self.cmd('vmware addon list -g {rg} -c {privatecloud}').get_output_in_json()) + self.assertEqual(count, 0, 'addon count expected to be 0') From f29b32350e47a50695ea285b8d49fca7acc63ee0 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Wed, 30 Jun 2021 16:46:05 +0800 Subject: [PATCH 28/85] {AKS} Polish scripts in aks live test pipeline (#3563) * update setup venv * update according to shellcheck * show az-aks-tool version * fix arg pass * update pipeline name --- .../azcli_aks_live_test/scripts/clean_up.sh | 4 +-- .../azcli_aks_live_test/scripts/clone_repo.sh | 10 +++---- .../scripts/prepare_image.sh | 4 +-- .../azcli_aks_live_test/scripts/setup_venv.sh | 29 ++++++++++--------- .../scripts/start_container.sh | 8 ++--- .../scripts/test_cli_live.sh | 6 ++-- .../scripts/test_ext_live.sh | 6 ++-- .../vsts-azcli-aks-live-test.yaml | 2 +- .../vsts-azcli-aks-unit-test.yaml | 2 +- 9 files changed, 37 insertions(+), 34 deletions(-) diff --git a/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh b/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh index 4bbeb2f3520..38ff104e8d5 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash # login -az login --service-principal -u $AZCLI_ALT_CLIENT_ID -p $AZCLI_ALT_CLIENT_SECRET -t $TENANT_ID -az account set -s $AZCLI_ALT_SUBSCRIPTION_ID +az login --service-principal -u "${AZCLI_ALT_CLIENT_ID}" -p "${AZCLI_ALT_CLIENT_SECRET}" -t "${TENANT_ID}" +az account set -s "${AZCLI_ALT_SUBSCRIPTION_ID}" az account show # list the details of resource groups whose names start with "clitest" diff --git a/src/aks-preview/azcli_aks_live_test/scripts/clone_repo.sh b/src/aks-preview/azcli_aks_live_test/scripts/clone_repo.sh index e932487bf7e..af131c4a9f0 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/clone_repo.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/clone_repo.sh @@ -15,22 +15,22 @@ set -o xtrace [[ -z "${LIVE_TEST_BASE_DIR}" ]] && (echo "LIVE_TEST_BASE_DIR is empty"; exit 1) # clone azure-cli (default is the official repo) -git clone ${CLI_REPO} +git clone "${CLI_REPO}" # ckeckout to a specific azure-cli branch (default is the dev branch) pushd azure-cli/ git branch -a -git checkout ${CLI_BRANCH} +git checkout "${CLI_BRANCH}" popd # clone azure-cli-extensions when manually trigger the pipeline if [[ ${BUILD_REASON} == "Manual" ]]; then echo "Manually trigger the pipeline, delete the current 'azure-cli-extensions' directory!" rm -rf azure-cli-extensions/ - git clone ${EXT_REPO} + git clone "${EXT_REPO}" pushd azure-cli-extensions/ git branch -a - git checkout ${EXT_BRANCH} + git checkout "${EXT_BRANCH}" popd fi @@ -41,5 +41,5 @@ git log -10 popd # copy live test related files to the same level as the checkout directory ($(Agent.BuildDirectory)/s) -cp -rT ${LIVE_TEST_BASE_DIR} ./ +cp -rT "${LIVE_TEST_BASE_DIR}" ./ ls -alh diff --git a/src/aks-preview/azcli_aks_live_test/scripts/prepare_image.sh b/src/aks-preview/azcli_aks_live_test/scripts/prepare_image.sh index 6843d74722f..9f84224663f 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/prepare_image.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/prepare_image.sh @@ -13,5 +13,5 @@ set -o xtrace # prepare docker image echo "Pulling test image from '${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}'..." -docker pull ${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG} -docker tag ${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG} ${IMAGE_NAME}:${IMAGE_TAG} +docker pull "${IMAGE_PREFIX}"/"${IMAGE_NAME}":"${IMAGE_TAG}" +docker tag "${IMAGE_PREFIX}"/"${IMAGE_NAME}":"${IMAGE_TAG}" "${IMAGE_NAME}":"${IMAGE_TAG}" diff --git a/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh index 34b867b010e..0a48cdc951c 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash # check var +# specify the version of python3, e.g. 3.6 [[ -z "${PYTHON_VERSION}" ]] && (echo "PYTHON_VERSION is empty"; exit 1) patchImageTools(){ @@ -13,7 +14,7 @@ setupVenv(){ rm -rf azEnv || true # create new venv - python${PYTHON_VERSION} -m venv azEnv + python"${PYTHON_VERSION}" -m venv azEnv source azEnv/bin/activate python -m pip install -U pip } @@ -37,9 +38,9 @@ setupAZ(){ # install-az: from cloned repos with azdev if [[ -z ${ext_repo} ]]; then - azdev setup -c ${cli_repo} + azdev setup -c "${cli_repo}" else - azdev setup -c ${cli_repo} -r ${ext_repo} + azdev setup -c "${cli_repo}" -r "${ext_repo}" fi # post-install-az: check installation result @@ -58,7 +59,8 @@ installTestPackages(){ # need to be executed in a venv installAZAKSTOOLFromLocal(){ wheel_file=${1} - pip install ${wheel_file} + pip install "${wheel_file}" + pip show az-aks-tool } # need to be executed in a venv @@ -71,7 +73,7 @@ installAZAKSTOOL(){ # need to be executed in a venv with kusto related modules installed removeKustoPTHFile(){ - pushd azEnv/lib/python${PYTHON_VERSION}/site-packages + pushd azEnv/lib/python"${PYTHON_VERSION}"/site-packages rm azure_kusto_data*nspkg.pth rm azure_kusto_ingest*nspkg.pth popd @@ -108,7 +110,8 @@ setupAKSPreview(){ source azEnv/bin/activate } -if [[ -n ${1} ]]; then +setup_option=${1:-""} +if [[ -n ${setup_option} ]]; then # bash options set -o errexit set -o nounset @@ -127,31 +130,31 @@ if [[ -n ${1} ]]; then source azEnv/bin/activate fi - if [[ ${1} == "build" ]]; then + if [[ ${setup_option} == "build" ]]; then echo "Start to build az-aks-tool!" installBuildTools - elif [[ ${1} == "setup-tool" ]]; then + elif [[ ${setup_option} == "setup-tool" ]]; then echo "Start to setup az-aks-tool!" local_setup=${3:-"n"} if [[ ${local_setup} == "y" ]]; then wheel_file=${4} - installAZAKSTOOLFromLocal ${wheel_file} + installAZAKSTOOLFromLocal "${wheel_file}" else installAZAKSTOOL fi removeKustoPTHFile - elif [[ ${1} == "setup-az" ]]; then + elif [[ ${setup_option} == "setup-az" ]]; then echo "Start to setup azure-cli!" cli_repo=${3:-"azure-cli/"} ext_repo=${4:-""} - setupAZ ${cli_repo} ${ext_repo} + setupAZ "${cli_repo}" "${ext_repo}" installTestPackages - elif [[ ${1} == "setup-akspreview" ]]; then + elif [[ ${setup_option} == "setup-akspreview" ]]; then echo "Start to setup aks-preview!" setupAKSPreview igniteAKSPreview else - echo "Unknown arg '${1}'!" + echo "Unsupported setup option '${setup_option}'!" fi echo "All Done!" fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh b/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh index ed4818d6edc..0d64e564add 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh @@ -25,11 +25,11 @@ ls -alh # set working directory as /opt in container # pass secrects as environment variables directly (instead of storing in env.list) # pass other environment variables with env.list -docker run -t -d -v $PWD:/opt -w /opt \ --e AZCLI_ALT_CLIENT_SECRET=${MAPPED_AZCLI_ALT_CLIENT_SECRET} \ --e AZURE_CLI_TEST_DEV_SP_PASSWORD=${MAPPED_AZCLI_ALT_CLIENT_SECRET} \ +docker run -t -d -v "$PWD":/opt -w /opt \ +-e AZCLI_ALT_CLIENT_SECRET="${MAPPED_AZCLI_ALT_CLIENT_SECRET}" \ +-e AZURE_CLI_TEST_DEV_SP_PASSWORD="${MAPPED_AZCLI_ALT_CLIENT_SECRET}" \ --env-file ./env.list \ ---name ${container_name} ${IMAGE_NAME}:${IMAGE_TAG} +--name "${container_name}" "${IMAGE_NAME}":"${IMAGE_TAG}" # remove env.list rm ./env.list diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh index 751c916bf59..466e981f873 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh @@ -27,7 +27,7 @@ removeAKSPreview # prepare run flags run_flags="-c --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" # parallel -if [ ${PARALLELISM} -ge 2 ]; then +if [[ ${PARALLELISM} -ge 2 ]]; then run_flags+=" -j ${PARALLELISM}" else run_flags+=" -s" @@ -57,8 +57,8 @@ fi # live test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live mode!" - az login --service-principal -u ${AZCLI_ALT_CLIENT_ID} -p ${AZCLI_ALT_CLIENT_SECRET} -t ${TENANT_ID} - az account set -s ${AZCLI_ALT_SUBSCRIPTION_ID} + az login --service-principal -u "${AZCLI_ALT_CLIENT_ID}" -p "${AZCLI_ALT_CLIENT_SECRET}" -t "${TENANT_ID}" + az account set -s "${AZCLI_ALT_SUBSCRIPTION_ID}" az account show run_flags+=" -l --json-report-file=cli_live_report.json" run_flags+=" --xml-file=cli_live_result.xml" diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh index f90d0170f3b..ebf07068e65 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh @@ -26,7 +26,7 @@ source azEnv/bin/activate # prepare run flags run_flags="-e --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" # parallel -if [ ${PARALLELISM} -ge 2 ]; then +if [[ ${PARALLELISM} -ge 2 ]]; then run_flags+=" -j ${PARALLELISM}" else run_flags+=" -s" @@ -56,8 +56,8 @@ fi # live test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live mode!" - az login --service-principal -u ${AZCLI_ALT_CLIENT_ID} -p ${AZCLI_ALT_CLIENT_SECRET} -t ${TENANT_ID} - az account set -s ${AZCLI_ALT_SUBSCRIPTION_ID} + az login --service-principal -u "${AZCLI_ALT_CLIENT_ID}" -p "${AZCLI_ALT_CLIENT_SECRET}" -t "${TENANT_ID}" + az account set -s "${AZCLI_ALT_SUBSCRIPTION_ID}" az account show run_flags+=" -l --json-report-file=ext_live_report.json" run_flags+=" --xml-file=ext_live_result.xml" diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml index 065b9b542de..37cb3ab171f 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml @@ -1,4 +1,4 @@ -name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mode-$(TEST_MODE)_Branch-$(Build.SourceBranchName) +name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mode-$(TEST_MODE) trigger: none diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml index a1baf6631c6..9df978d35a3 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml @@ -1,4 +1,4 @@ -name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mode-$(TEST_MODE)_Branch-$(Build.SourceBranchName) +name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mode-$(TEST_MODE) trigger: none From cea0bd0b307bb51542f5ee02df2f08b649cbdc1f Mon Sep 17 00:00:00 2001 From: David Michelman Date: Wed, 30 Jun 2021 19:08:03 -0700 Subject: [PATCH 29/85] David/aks monitoring aad auth (#3500) * about to add check for if DCR is available in regions * tested * forgot to remove an exception * fixed linter problems * fixed some linter errors * fixing linter errors * fixing some feedback, more to come * fixed all feedback and a bug * cleanup * addressed comments and static analyzer errors * Update src/aks-preview/azext_aks_preview/_help.py Co-authored-by: Xing Zhou * Update src/aks-preview/azext_aks_preview/_help.py Co-authored-by: Xing Zhou * fix linter error * fixed small errors * added unit tests, cleaned up the msi/sp auth check * adding unit tests * commenting out tests which require a subscription-level feature flag * uncommented tests, put them in a list to not run Co-authored-by: Xing Zhou --- linter_exclusions.yml | 6 + .../configs/ext_matrix_default.json | 6 +- src/aks-preview/azext_aks_preview/_consts.py | 1 + src/aks-preview/azext_aks_preview/_help.py | 6 + src/aks-preview/azext_aks_preview/_params.py | 3 + src/aks-preview/azext_aks_preview/custom.py | 420 +++++++++++++----- .../tests/latest/test_aks_commands.py | 169 +++++++ 7 files changed, 494 insertions(+), 117 deletions(-) diff --git a/linter_exclusions.yml b/linter_exclusions.yml index 8ce15836f65..e47a82d4a74 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -76,6 +76,9 @@ aks create: workspace_resource_id: rule_exclusions: - option_length_too_long + enable_msi_auth_for_monitoring: + rule_exclusions: + - option_length_too_long enable_encryption_at_host: rule_exclusions: - option_length_too_long @@ -93,6 +96,9 @@ aks enable-addons: workspace_resource_id: rule_exclusions: - option_length_too_long + enable_msi_auth_for_monitoring: + rule_exclusions: + - option_length_too_long aks nodepool add: parameters: enable_node_public_ip: diff --git a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json index dffce3ffd09..d60baa9e4b6 100644 --- a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json +++ b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json @@ -26,7 +26,11 @@ "test_aks_create_with_pod_identity_enabled", "test_aks_create_using_azurecni_with_pod_identity_enabled", "test_aks_pod_identity_usage", - "test_aks_create_with_fips" + "test_aks_create_with_fips", + "test_aks_create_with_monitoring_aad_auth_msi", + "test_aks_create_with_monitoring_aad_auth_uai", + "test_aks_enable_monitoring_with_aad_auth_msi", + "test_aks_enable_monitoring_with_aad_auth_uai" ], "unknown": [ "test_aks_create_and_update_with_managed_aad_enable_azure_rbac", diff --git a/src/aks-preview/azext_aks_preview/_consts.py b/src/aks-preview/azext_aks_preview/_consts.py index 642e28fca36..961bb5b234d 100644 --- a/src/aks-preview/azext_aks_preview/_consts.py +++ b/src/aks-preview/azext_aks_preview/_consts.py @@ -23,6 +23,7 @@ CONST_MONITORING_ADDON_NAME = "omsagent" CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID = "logAnalyticsWorkspaceResourceID" +CONST_MONITORING_USING_AAD_MSI_AUTH = "useAADAuth" CONST_VIRTUAL_NODE_ADDON_NAME = "aciConnector" CONST_VIRTUAL_NODE_SUBNET_NAME = "SubnetName" diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index d07f22936e1..05ff0a95486 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -222,6 +222,9 @@ - name: --workspace-resource-id type: string short-summary: The resource ID of an existing Log Analytics Workspace to use for storing monitoring data. If not specified, uses the default Log Analytics Workspace if it exists, otherwise creates one. + - name: --enable-msi-auth-for-monitoring + type: bool + short-summary: Send monitoring data to Log Analytics using the cluster's assigned identity (instead of the Log Analytics Workspace's shared key). - name: --enable-cluster-autoscaler type: bool short-summary: Enable cluster autoscaler, default value is false. @@ -1042,6 +1045,9 @@ - name: --workspace-resource-id type: string short-summary: The resource ID of an existing Log Analytics Workspace to use for storing monitoring data. + - name: --enable-msi-auth-for-monitoring + type: bool + short-summary: Send monitoring data to Log Analytics using the cluster's assigned identity (instead of the Log Analytics Workspace's shared key). - name: --subnet-name -s type: string short-summary: The subnet name for the virtual node to use. diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index 592134fdf19..24853f6e819 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -91,6 +91,7 @@ def load_arguments(self, _): c.argument('pod_subnet_id', type=str, validator=validate_pod_subnet_id) c.argument('ppg') c.argument('workspace_resource_id') + c.argument('enable_msi_auth_for_monitoring', arg_type=get_three_state_flag(), is_preview=True) c.argument('skip_subnet_role_assignment', action='store_true') c.argument('enable_fips_image', action='store_true', is_preview=True) c.argument('enable_cluster_autoscaler', action='store_true') @@ -261,6 +262,8 @@ def load_arguments(self, _): c.argument('appgw_subnet_id', options_list=['--appgw-subnet-id'], arg_group='Application Gateway') c.argument('appgw_watch_namespace', options_list=['--appgw-watch-namespace'], arg_group='Application Gateway') c.argument('enable_secret_rotation', action='store_true') + c.argument('workspace_resource_id') + c.argument('enable_msi_auth_for_monitoring', arg_type=get_three_state_flag(), is_preview=True) with self.argument_context('aks get-credentials') as c: c.argument('admin', options_list=['--admin', '-a'], default=False) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 54cb66218f3..f50aba90bca 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -102,6 +102,7 @@ from ._consts import CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME from ._consts import CONST_MONITORING_ADDON_NAME from ._consts import CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID +from ._consts import CONST_MONITORING_USING_AAD_MSI_AUTH from ._consts import CONST_VIRTUAL_NODE_ADDON_NAME from ._consts import CONST_VIRTUAL_NODE_SUBNET_NAME from ._consts import CONST_AZURE_POLICY_ADDON_NAME @@ -987,6 +988,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to outbound_type=None, enable_addons=None, workspace_resource_id=None, + enable_msi_auth_for_monitoring=False, min_count=None, max_count=None, vnet_subnet_id=None, @@ -1144,7 +1146,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to service_principal_profile = None principal_obj = None - # If customer explicitly provide a service principal, disable managed identity. + # If customer explicitly provides a service principal, disable managed identity. if service_principal and client_secret: enable_managed_identity = False if not enable_managed_identity: @@ -1250,28 +1252,34 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to ) addon_profiles = _handle_addons_args( - cmd, - enable_addons, - subscription_id, - resource_group_name, - {}, - workspace_resource_id, - appgw_name, - appgw_subnet_prefix, - appgw_subnet_cidr, - appgw_id, - appgw_subnet_id, - appgw_watch_namespace, - enable_sgxquotehelper, - aci_subnet_name, - vnet_subnet_id, - enable_secret_rotation + cmd=cmd, + addons_str=enable_addons, + subscription_id=subscription_id, + resource_group_name=resource_group_name, + addon_profiles={}, + workspace_resource_id=workspace_resource_id, + enable_msi_auth_for_monitoring=enable_msi_auth_for_monitoring, + appgw_name=appgw_name, + appgw_subnet_prefix=appgw_subnet_prefix, + appgw_subnet_cidr=appgw_subnet_cidr, + appgw_id=appgw_id, + appgw_subnet_id=appgw_subnet_id, + appgw_watch_namespace=appgw_watch_namespace, + enable_sgxquotehelper=enable_sgxquotehelper, + aci_subnet_name=aci_subnet_name, + vnet_subnet_id=vnet_subnet_id, + enable_secret_rotation=enable_secret_rotation, ) monitoring = False if CONST_MONITORING_ADDON_NAME in addon_profiles: monitoring = True - _ensure_container_insights_for_monitoring( - cmd, addon_profiles[CONST_MONITORING_ADDON_NAME]) + if enable_msi_auth_for_monitoring and not enable_managed_identity: + raise ArgumentUsageError("--enable-msi-auth-for-monitoring can not be used on clusters with service principal auth.") + _ensure_container_insights_for_monitoring(cmd, + addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, + resource_group_name, name, location, + aad_route=enable_msi_auth_for_monitoring, create_dcr=True, + create_dcra=False) # addon is in the list and is enabled ingress_appgw_addon_enabled = CONST_INGRESS_APPGW_ADDON_NAME in addon_profiles and \ @@ -1445,6 +1453,10 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to retry_exception = Exception(None) for _ in range(0, max_retry): try: + if monitoring and enable_msi_auth_for_monitoring: + # Creating a DCR Association (for the monitoring addon) requires waiting for cluster creation to finish + no_wait = False + created_cluster = _put_managed_cluster_ensuring_permission( cmd, client, @@ -1461,6 +1473,15 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to attach_acr, headers, no_wait) + + if monitoring and enable_msi_auth_for_monitoring: + # Create the DCR Association here + _ensure_container_insights_for_monitoring(cmd, + addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, + resource_group_name, name, location, + aad_route=enable_msi_auth_for_monitoring, create_dcr=False, + create_dcra=True) + return created_cluster except CloudError as ex: retry_exception = ex @@ -2387,6 +2408,7 @@ def _handle_addons_args(cmd, # pylint: disable=too-many-statements resource_group_name, addon_profiles=None, workspace_resource_id=None, + enable_msi_auth_for_monitoring=False, appgw_name=None, appgw_subnet_prefix=None, appgw_subnet_cidr=None, @@ -2414,13 +2436,11 @@ def _handle_addons_args(cmd, # pylint: disable=too-many-statements # use default workspace if exists else create default workspace workspace_resource_id = _ensure_default_log_analytics_workspace_for_monitoring( cmd, subscription_id, resource_group_name) - workspace_resource_id = _sanitize_loganalytics_ws_resource_id(workspace_resource_id) - - addon_profiles[CONST_MONITORING_ADDON_NAME] = ManagedClusterAddonProfile(enabled=True, config={CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID: workspace_resource_id}) + addon_profiles[CONST_MONITORING_ADDON_NAME] = ManagedClusterAddonProfile(enabled=True, + config={CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID: workspace_resource_id, + CONST_MONITORING_USING_AAD_MSI_AUTH: enable_msi_auth_for_monitoring}) addons.remove('monitoring') - - # error out if '--enable-addons=monitoring' isn't set but workspace_resource_id is elif workspace_resource_id: raise CLIError( '"--workspace-resource-id" requires "--enable-addons monitoring".') @@ -2667,7 +2687,27 @@ def _sanitize_loganalytics_ws_resource_id(workspace_resource_id): return workspace_resource_id -def _ensure_container_insights_for_monitoring(cmd, addon): +def _ensure_container_insights_for_monitoring(cmd, + addon, + cluster_subscription, + cluster_resource_group_name, + cluster_name, + cluster_region, + remove_monitoring=False, + aad_route=False, + create_dcr=False, + create_dcra=False): + """ + Either adds the ContainerInsights solution to a LA Workspace OR sets up a DCR (Data Collection Rule) and DCRA + (Data Collection Rule Association). Both let the monitoring addon send data to a Log Analytics Workspace. + + Set aad_route == True to set up the DCR data route. Otherwise the solution route will be used. Create_dcr and + create_dcra have no effect if aad_route == False. + + Set remove_monitoring to True and create_dcra to True to remove the DCRA from a cluster. The association makes + it very hard to delete either the DCR or cluster. (It is not obvious how to even navigate to the association from + the portal, and it prevents the cluster and DCR from being deleted individually). + """ if not addon.enabled: return None @@ -2689,104 +2729,219 @@ def _ensure_container_insights_for_monitoring(cmd, addon): try: subscription_id = workspace_resource_id.split('/')[2] resource_group = workspace_resource_id.split('/')[4] + workspace_name = workspace_resource_id.split('/')[8] except IndexError: raise CLIError( 'Could not locate resource group in workspace-resource-id URL.') # region of workspace can be different from region of RG so find the location of the workspace_resource_id - resources = cf_resources(cmd.cli_ctx, subscription_id) - from azure.core.exceptions import HttpResponseError - try: - resource = resources.get_by_id( - workspace_resource_id, '2015-11-01-preview') - location = resource.location - except HttpResponseError as ex: - raise ex - - unix_time_in_millis = int( - (datetime.datetime.utcnow() - datetime.datetime.utcfromtimestamp(0)).total_seconds() * 1000.0) - - solution_deployment_name = 'ContainerInsights-{}'.format( - unix_time_in_millis) - - # pylint: disable=line-too-long - template = { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "workspaceResourceId": { - "type": "string", - "metadata": { - "description": "Azure Monitor Log Analytics Resource ID" - } - }, - "workspaceRegion": { - "type": "string", - "metadata": { - "description": "Azure Monitor Log Analytics workspace region" + if not remove_monitoring: + resources = cf_resources(cmd.cli_ctx, subscription_id) + from azure.core.exceptions import HttpResponseError + try: + resource = resources.get_by_id( + workspace_resource_id, '2015-11-01-preview') + location = resource.location + except HttpResponseError as ex: + raise ex + + if aad_route: + cluster_resource_id = f"/subscriptions/{cluster_subscription}/resourceGroups/{cluster_resource_group_name}/providers/Microsoft.ContainerService/managedClusters/{cluster_name}" + dataCollectionRuleName = f"DCR-{workspace_name}" + dcr_resource_id = f"/subscriptions/{subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" + from azure.cli.core.util import send_raw_request + from azure.cli.core.profiles import ResourceType + + if create_dcr: + # first get the association between region display names and region IDs (because for some reason + # the "which RPs are available in which regions" check returns region display names) + region_names_to_id = {} + # retry the request up to two times + for _ in range(3): + try: + location_list_url = f"https://management.azure.com/subscriptions/{subscription_id}/locations?api-version=2019-11-01" + r = send_raw_request(cmd.cli_ctx, "GET", location_list_url) + + # this is required to fool the static analyzer. The else statement will only run if an exception + # is thrown, but flake8 will complain that e is undefined if we don't also define it here. + error = None + break + except CLIError as e: + error = e + else: + # This will run if the above for loop was not broken out of. This means all three requests failed + raise error + json_response = json.loads(r.text) + for region_data in json_response["value"]: + region_names_to_id[region_data["displayName"]] = region_data["name"] + + # check if region supports DCRs and DCR-A + for _ in range(3): + try: + feature_check_url = f"https://management.azure.com/subscriptions/{subscription_id}/providers/Microsoft.Insights?api-version=2020-10-01" + r = send_raw_request(cmd.cli_ctx, "GET", feature_check_url) + error = None + break + except CLIError as e: + error = e + else: + raise error + json_response = json.loads(r.text) + for resource in json_response["resourceTypes"]: + region_ids = map(lambda x: region_names_to_id[x], resource["locations"]) # map is lazy, so doing this for every region isn't slow + if resource["resourceType"].lower() == "datacollectionrules" and location not in region_ids: + raise ClientRequestError(f'Data Collection Rules are not supported for LA workspace region {location}') + elif resource["resourceType"].lower() == "datacollectionruleassociations" and cluster_region not in region_ids: + raise ClientRequestError(f'Data Collection Rule Associations are not supported for cluster region {location}') + + # create the DCR + dcr_creation_body = json.dumps({"location": location, + "properties": { + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", + "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", + "Microsoft-KubeHealth", + "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", + "Microsoft-KubePodInventory", + "Microsoft-KubePVInventory", + "Microsoft-KubeServices", + "Microsoft-InsightsMetrics" + ], + "destinations": [ + "la-workspace" + ] + } + ], + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": workspace_resource_id, + "name": "la-workspace" + } + ] + } + }}) + dcr_url = f"https://management.azure.com/{dcr_resource_id}?api-version=2019-11-01-preview" + for _ in range(3): + try: + send_raw_request(cmd.cli_ctx, "PUT", dcr_url, body=dcr_creation_body) + error = None + break + except CLIError as e: + error = e + else: + raise error + + if create_dcra: + # only create or delete the association between the DCR and cluster + association_body = json.dumps({"location": cluster_region, + "properties": { + "dataCollectionRuleId": dcr_resource_id, + "description": "routes monitoring data to a Log Analytics workspace" + }}) + association_url = f"https://management.azure.com/{cluster_resource_id}/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-{workspace_name}?api-version=2019-11-01-preview" + for _ in range(3): + try: + send_raw_request(cmd.cli_ctx, "PUT" if not remove_monitoring else "DELETE", association_url, body=association_body) + error = None + break + except CLIError as e: + error = e + else: + raise error + + else: + # legacy auth with LA workspace solution + unix_time_in_millis = int( + (datetime.datetime.utcnow() - datetime.datetime.utcfromtimestamp(0)).total_seconds() * 1000.0) + + solution_deployment_name = 'ContainerInsights-{}'.format( + unix_time_in_millis) + + # pylint: disable=line-too-long + template = { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "workspaceResourceId": { + "type": "string", + "metadata": { + "description": "Azure Monitor Log Analytics Resource ID" + } + }, + "workspaceRegion": { + "type": "string", + "metadata": { + "description": "Azure Monitor Log Analytics workspace region" + } + }, + "solutionDeploymentName": { + "type": "string", + "metadata": { + "description": "Name of the solution deployment" + } } }, - "solutionDeploymentName": { - "type": "string", - "metadata": { - "description": "Name of the solution deployment" - } - } - }, - "resources": [ - { - "type": "Microsoft.Resources/deployments", - "name": "[parameters('solutionDeploymentName')]", - "apiVersion": "2017-05-10", - "subscriptionId": "[split(parameters('workspaceResourceId'),'/')[2]]", - "resourceGroup": "[split(parameters('workspaceResourceId'),'/')[4]]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": {}, - "variables": {}, - "resources": [ - { - "apiVersion": "2015-11-01-preview", - "type": "Microsoft.OperationsManagement/solutions", - "location": "[parameters('workspaceRegion')]", - "name": "[Concat('ContainerInsights', '(', split(parameters('workspaceResourceId'),'/')[8], ')')]", - "properties": { - "workspaceResourceId": "[parameters('workspaceResourceId')]" - }, - "plan": { + "resources": [ + { + "type": "Microsoft.Resources/deployments", + "name": "[parameters('solutionDeploymentName')]", + "apiVersion": "2017-05-10", + "subscriptionId": "[split(parameters('workspaceResourceId'),'/')[2]]", + "resourceGroup": "[split(parameters('workspaceResourceId'),'/')[4]]", + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "variables": {}, + "resources": [ + { + "apiVersion": "2015-11-01-preview", + "type": "Microsoft.OperationsManagement/solutions", + "location": "[parameters('workspaceRegion')]", "name": "[Concat('ContainerInsights', '(', split(parameters('workspaceResourceId'),'/')[8], ')')]", - "product": "[Concat('OMSGallery/', 'ContainerInsights')]", - "promotionCode": "", - "publisher": "Microsoft" + "properties": { + "workspaceResourceId": "[parameters('workspaceResourceId')]" + }, + "plan": { + "name": "[Concat('ContainerInsights', '(', split(parameters('workspaceResourceId'),'/')[8], ')')]", + "product": "[Concat('OMSGallery/', 'ContainerInsights')]", + "promotionCode": "", + "publisher": "Microsoft" + } } - } - ] - }, - "parameters": {} + ] + }, + "parameters": {} + } } - } - ] - } + ] + } - params = { - "workspaceResourceId": { - "value": workspace_resource_id - }, - "workspaceRegion": { - "value": location - }, - "solutionDeploymentName": { - "value": solution_deployment_name + params = { + "workspaceResourceId": { + "value": workspace_resource_id + }, + "workspaceRegion": { + "value": location + }, + "solutionDeploymentName": { + "value": solution_deployment_name + } } - } - deployment_name = 'aks-monitoring-{}'.format(unix_time_in_millis) - # publish the Container Insights solution to the Log Analytics workspace - return _invoke_deployment(cmd, resource_group, deployment_name, template, params, - validate=False, no_wait=False, subscription_id=subscription_id) + deployment_name = 'aks-monitoring-{}'.format(unix_time_in_millis) + # publish the Container Insights solution to the Log Analytics workspace + return _invoke_deployment(cmd, resource_group, deployment_name, template, params, + validate=False, no_wait=False, subscription_id=subscription_id) def _ensure_aks_service_principal(cli_ctx, @@ -3259,6 +3414,27 @@ def aks_disable_addons(cmd, client, resource_group_name, name, addons, no_wait=F instance = client.get(resource_group_name, name) subscription_id = get_subscription_id(cmd.cli_ctx) + try: + if addons == "monitoring" and CONST_MONITORING_ADDON_NAME in instance.addon_profiles and \ + instance.addon_profiles[CONST_MONITORING_ADDON_NAME].enabled and \ + CONST_MONITORING_USING_AAD_MSI_AUTH in instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config and \ + instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]: + # remove the DCR association because otherwise the DCR can't be deleted + _ensure_container_insights_for_monitoring( + cmd, + instance.addon_profiles[CONST_MONITORING_ADDON_NAME], + subscription_id, + resource_group_name, + name, + instance.location, + remove_monitoring=True, + aad_route=True, + create_dcr=False, + create_dcra=True + ) + except TypeError: + pass + instance = _update_addons( cmd, instance, @@ -3276,17 +3452,28 @@ 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_subnet_cidr=None, appgw_id=None, appgw_subnet_id=None, - appgw_watch_namespace=None, enable_sgxquotehelper=False, enable_secret_rotation=False, no_wait=False): + appgw_watch_namespace=None, enable_sgxquotehelper=False, enable_secret_rotation=False, no_wait=False, enable_msi_auth_for_monitoring=False): + instance = client.get(resource_group_name, name) + msi_auth = True if instance.service_principal_profile.client_id == "msi" else False # this is overwritten by _update_addons(), so the value needs to be recorded here + subscription_id = get_subscription_id(cmd.cli_ctx) instance = _update_addons(cmd, instance, subscription_id, resource_group_name, name, addons, enable=True, - workspace_resource_id=workspace_resource_id, subnet_name=subnet_name, + workspace_resource_id=workspace_resource_id, enable_msi_auth_for_monitoring=enable_msi_auth_for_monitoring, subnet_name=subnet_name, appgw_name=appgw_name, appgw_subnet_prefix=appgw_subnet_prefix, appgw_subnet_cidr=appgw_subnet_cidr, appgw_id=appgw_id, appgw_subnet_id=appgw_subnet_id, appgw_watch_namespace=appgw_watch_namespace, enable_sgxquotehelper=enable_sgxquotehelper, enable_secret_rotation=enable_secret_rotation, no_wait=no_wait) if CONST_MONITORING_ADDON_NAME in instance.addon_profiles and instance.addon_profiles[CONST_MONITORING_ADDON_NAME].enabled: - _ensure_container_insights_for_monitoring( - cmd, instance.addon_profiles[CONST_MONITORING_ADDON_NAME]) + if CONST_MONITORING_USING_AAD_MSI_AUTH in instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config and \ + instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]: + if not msi_auth: + raise ArgumentUsageError("--enable-msi-auth-for-monitoring can not be used on clusters with service principal auth.") + else: + # create a Data Collection Rule (DCR) and associate it with the cluster + _ensure_container_insights_for_monitoring(cmd, instance.addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, resource_group_name, name, instance.location, aad_route=True, create_dcr=True, create_dcra=True) + else: + # monitoring addon will use legacy path + _ensure_container_insights_for_monitoring(cmd, instance.addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, resource_group_name, name, instance.location, aad_route=False) monitoring = CONST_MONITORING_ADDON_NAME in instance.addon_profiles and instance.addon_profiles[ CONST_MONITORING_ADDON_NAME].enabled @@ -3344,6 +3531,7 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements addons, enable, workspace_resource_id=None, + enable_msi_auth_for_monitoring=False, subnet_name=None, appgw_name=None, appgw_subnet_prefix=None, @@ -3394,8 +3582,8 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements resource_group_name) workspace_resource_id = _sanitize_loganalytics_ws_resource_id(workspace_resource_id) - addon_profile.config = { - logAnalyticsConstName: workspace_resource_id} + addon_profile.config = {logAnalyticsConstName: workspace_resource_id} + addon_profile.config[CONST_MONITORING_USING_AAD_MSI_AUTH] = enable_msi_auth_for_monitoring elif addon == (CONST_VIRTUAL_NODE_ADDON_NAME + os_type): if addon_profile.enabled: raise CLIError('The virtual-node addon is already enabled for this managed cluster.\n' 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 cfb7db0831d..c54257888b2 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 @@ -1149,6 +1149,175 @@ def test_aks_update_to_msi_cluster_with_addons(self, resource_group, resource_gr self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + @live_only() + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_create_with_monitoring_aad_auth_msi(self, resource_group, resource_group_location,): + aks_name = self.create_random_name('cliakstest', 16) + self.create_new_cluster_with_monitoring_aad_auth(resource_group, resource_group_location, aks_name, user_assigned_identity=False) + + @live_only() + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_create_with_monitoring_aad_auth_uai(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + self.create_new_cluster_with_monitoring_aad_auth(resource_group, resource_group_location, aks_name, user_assigned_identity=True) + + def create_new_cluster_with_monitoring_aad_auth(self, resource_group, resource_group_location, aks_name, user_assigned_identity=False): + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + }) + + if user_assigned_identity: + uai_cmd = f'identity create -g {resource_group} -n {aks_name}_uai' + resp = self.cmd(uai_cmd).get_output_in_json() + identity_id = resp["id"] + print("********************") + print(f"identity_id: {identity_id}") + print("********************") + + # create + create_cmd = f'aks create --resource-group={resource_group} --name={aks_name} --location={resource_group_location} ' \ + '--generate-ssh-keys --enable-managed-identity ' \ + '--enable-addons monitoring ' \ + '--enable-msi-auth-for-monitoring ' \ + '--node-count 1 ' + create_cmd += f'--assign-identity {identity_id}' if user_assigned_identity else '' + + response = self.cmd(create_cmd, checks=[ + self.check('addonProfiles.omsagent.enabled', True), + self.check('addonProfiles.omsagent.config.useAADAuth', 'True') + ]).get_output_in_json() + + cluster_resource_id = response["id"] + subscription = cluster_resource_id.split("/")[2] + workspace_resource_id = response["addonProfiles"]["omsagent"]["config"]["logAnalyticsWorkspaceResourceID"] + workspace_name = workspace_resource_id.split("/")[-1] + workspace_resource_group = workspace_resource_id.split("/")[4] + + # check that the DCR was created + dataCollectionRuleName = f"DCR-{workspace_name}" + dcr_resource_id = f"/subscriptions/{subscription}/resourceGroups/{workspace_resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" + get_cmd = f'rest --method get --url https://management.azure.com{dcr_resource_id}?api-version=2019-11-01-preview' + self.cmd(get_cmd, checks=[ + self.check('properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') + ]) + + # check that the DCR-A was created + dcra_resource_id = f"{cluster_resource_id}/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-{workspace_name}" + get_cmd = f'rest --method get --url https://management.azure.com{dcra_resource_id}?api-version=2019-11-01-preview' + self.cmd(get_cmd, checks=[ + self.check('properties.dataCollectionRuleId', f'{dcr_resource_id}') + ]) + + # make sure monitoring can be smoothly disabled + self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') + + # delete + self.cmd(f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) + + + @live_only() + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_enable_monitoring_with_aad_auth_msi(self, resource_group, resource_group_location,): + aks_name = self.create_random_name('cliakstest', 16) + self.enable_monitoring_existing_cluster_aad_atuh(resource_group, resource_group_location, aks_name, user_assigned_identity=False) + + @live_only() + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_enable_monitoring_with_aad_auth_uai(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + self.enable_monitoring_existing_cluster_aad_atuh(resource_group, resource_group_location, aks_name, user_assigned_identity=True) + + def enable_monitoring_existing_cluster_aad_atuh(self, resource_group, resource_group_location, aks_name, user_assigned_identity=False): + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + }) + + if user_assigned_identity: + uai_cmd = f'identity create -g {resource_group} -n {aks_name}_uai' + resp = self.cmd(uai_cmd).get_output_in_json() + identity_id = resp["id"] + print("********************") + print(f"identity_id: {identity_id}") + print("********************") + + # create + create_cmd = f'aks create --resource-group={resource_group} --name={aks_name} --location={resource_group_location} ' \ + '--generate-ssh-keys --enable-managed-identity ' \ + '--node-count 1 ' + create_cmd += f'--assign-identity {identity_id}' if user_assigned_identity else '' + self.cmd(create_cmd) + + enable_monitoring_cmd = f'aks enable-addons -a monitoring --resource-group={resource_group} --name={aks_name} ' \ + '--enable-msi-auth-for-monitoring ' + + response = self.cmd(enable_monitoring_cmd, checks=[ + self.check('addonProfiles.omsagent.enabled', True), + self.check('addonProfiles.omsagent.config.useAADAuth', 'True') + ]).get_output_in_json() + + cluster_resource_id = response["id"] + subscription = cluster_resource_id.split("/")[2] + workspace_resource_id = response["addonProfiles"]["omsagent"]["config"]["logAnalyticsWorkspaceResourceID"] + workspace_name = workspace_resource_id.split("/")[-1] + workspace_resource_group = workspace_resource_id.split("/")[4] + + # check that the DCR was created + dataCollectionRuleName = f"DCR-{workspace_name}" + dcr_resource_id = f"/subscriptions/{subscription}/resourceGroups/{workspace_resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" + get_cmd = f'rest --method get --url https://management.azure.com{dcr_resource_id}?api-version=2019-11-01-preview' + self.cmd(get_cmd, checks=[ + self.check('properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') + ]) + + # check that the DCR-A was created + dcra_resource_id = f"{cluster_resource_id}/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-{workspace_name}" + get_cmd = f'rest --method get --url https://management.azure.com{dcra_resource_id}?api-version=2019-11-01-preview' + self.cmd(get_cmd, checks=[ + self.check('properties.dataCollectionRuleId', f'{dcr_resource_id}') + ]) + + # make sure monitoring can be smoothly disabled + self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') + + # delete + self.cmd(f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) + + @live_only() + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_create_with_monitoring_legacy_auth(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + }) + + # create + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--generate-ssh-keys --enable-managed-identity ' \ + '--enable-addons monitoring ' \ + '--node-count 1 ' + self.cmd(create_cmd, checks=[ + self.check('addonProfiles.omsagent.enabled', True), + self.exists('addonProfiles.omsagent.config.logAnalyticsWorkspaceResourceID'), + self.check('addonProfiles.omsagent.config.useAADAuth', 'False') + ]) + + # make sure monitoring can be smoothly disabled + self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') + + # delete + self.cmd(f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) + @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_auto_upgrade_channel(self, resource_group, resource_group_location): From aa0d22ef8b1283de7cdec0fd9374c7153d7d1ec5 Mon Sep 17 00:00:00 2001 From: "Kerwin(Kaihui) Sun" Date: Thu, 1 Jul 2021 14:51:51 +0800 Subject: [PATCH 30/85] [Front Door] Add update func for backend and fix backend_host_header (#3394) * [Front Door] Add update func for backend and fix backend_host_header judgment in create func * fix linter * fix * fix option_length_too_long * fix test * Remove CLIError and fix backend index range * fix style * get updated backend * update history and version --- src/front-door/HISTORY.rst | 5 + src/front-door/azext_front_door/_help.py | 5 + src/front-door/azext_front_door/_params.py | 4 +- src/front-door/azext_front_door/commands.py | 1 + src/front-door/azext_front_door/custom.py | 216 ++- .../recordings/test_backend_pool_backend.yaml | 1494 +++++++++++++++++ .../test_front_door_basic_scenario.yaml | 4 +- .../latest/test_backend_pool_scenarios.py | 57 + src/front-door/setup.py | 2 +- 9 files changed, 1693 insertions(+), 95 deletions(-) create mode 100644 src/front-door/azext_front_door/tests/latest/recordings/test_backend_pool_backend.yaml diff --git a/src/front-door/HISTORY.rst b/src/front-door/HISTORY.rst index c770c5de4bc..733e44ce074 100644 --- a/src/front-door/HISTORY.rst +++ b/src/front-door/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +1.0.15 +++++++ +* Add az network front-door backend-pool backend update command: Update a backend to Front Door backend pool. +* Fix backend related bugs + 1.0.14 ++++++ * Migrate to Track2 SDK. diff --git a/src/front-door/azext_front_door/_help.py b/src/front-door/azext_front_door/_help.py index 1480c91d140..b9908dd5ea3 100644 --- a/src/front-door/azext_front_door/_help.py +++ b/src/front-door/azext_front_door/_help.py @@ -98,6 +98,11 @@ short-summary: Add a backend to a Front Door backend pool. """ +helps['network front-door backend-pool backend update'] = """ + type: command + short-summary: Update a backend to a Front Door backend pool. +""" + helps['network front-door backend-pool backend list'] = """ type: command short-summary: List backends of a Front Door backend pool. diff --git a/src/front-door/azext_front_door/_params.py b/src/front-door/azext_front_door/_params.py index 1908f36f756..69e430ef07a 100644 --- a/src/front-door/azext_front_door/_params.py +++ b/src/front-door/azext_front_door/_params.py @@ -129,9 +129,9 @@ def load_arguments(self, _): c.argument('https_port', type=int, help='HTTPS TCP port number.') c.argument('weight', type=int, help='Weight of this endpoint for load balancing purposes.') c.argument('private_link_alias', help='The Alias of the Private Link resource. Populating this optional field indicates that this backend is \'Private\'.') - c.argument('private_link_resource_id', help='The Resource Id of the Private Link. Populating this optional field indicates that this backend is \'Private\'.') + c.argument('private_link_resource_id', options_list=['--private-link-resource-id', '--resource-id'], help='The Resource Id of the Private Link. Populating this optional field indicates that this backend is \'Private\'.') c.argument('private_link_location', help='The location of the Private Link resource. Required only if \'privateLinkResourceId\' is populated.') - c.argument('private_link_approval_message', help='A custom message to be included in the approval request to connect to the Private Link.') + c.argument('private_link_approval_message', options_list=['--private-link-approval-message', '--approval-message'], help='A custom message to be included in the approval request to connect to the Private Link.') c.argument('backend_host_header', help='Host header sent to the backend.') c.argument('backend_pool_name', options_list='--pool-name', help='Name of the backend pool.') c.argument('index', type=int, help='Index of the backend to remove (starting with 1).') diff --git a/src/front-door/azext_front_door/commands.py b/src/front-door/azext_front_door/commands.py index dd213b93d62..84891b1a412 100644 --- a/src/front-door/azext_front_door/commands.py +++ b/src/front-door/azext_front_door/commands.py @@ -105,6 +105,7 @@ def load_command_table(self, _): with self.command_group('network front-door backend-pool backend', frontdoor_sdk) as g: g.custom_command('add', 'add_fd_backend') + g.custom_command('update', 'update_fd_backend') g.custom_command('list', 'list_fd_backends') g.custom_command('remove', 'remove_fd_backend') diff --git a/src/front-door/azext_front_door/custom.py b/src/front-door/azext_front_door/custom.py index 24e018dd0df..d8cb411e97b 100644 --- a/src/front-door/azext_front_door/custom.py +++ b/src/front-door/azext_front_door/custom.py @@ -49,8 +49,8 @@ def _upsert_frontdoor_subresource(cmd, resource_group_name, front_door_name, col item_name = getattr(obj_to_add, key_name) if item_name is None: - from knack.util import CLIError - raise CLIError( + from azure.cli.core.azclierror import ClientRequestError + raise ClientRequestError( "Unable to resolve a value for key '{}' with which to match.".format(key_name)) match = next((x for x in collection if getattr(x, key_name, None) == item_name), None) if match: @@ -84,8 +84,8 @@ def get_func(cmd, resource_group_name, resource_name, item_name): result = next((x for x in items if x.name.lower() == item_name.lower()), None) if not result: - from knack.util import CLIError - raise CLIError("Item '{}' does not exist on {} '{}'".format( + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("Item '{}' does not exist on {} '{}'".format( item_name, resource, resource_name)) return result @@ -113,8 +113,8 @@ def delete_func(cmd, resource_group_name, resource_name, item_name, no_wait=Fals client.begin_create_or_update, resource_group_name, resource_name, item).result() if next((x for x in getattr(result, prop) if x.name.lower() == item_name.lower()), None): - from knack.util import CLIError - raise CLIError("Failed to delete '{}' on '{}'".format(item_name, resource_name)) + from azure.cli.core.azclierror import AzureResponseError + raise AzureResponseError("Failed to delete '{}' on '{}'".format(item_name, resource_name)) func_name = 'delete_fd_{}_{}'.format(resource, prop) setattr(sys.modules[__name__], func_name, delete_func) @@ -328,14 +328,14 @@ def configure_fd_frontend_endpoint_enable_https(cmd, resource_group_name, front_ secret_name=None, secret_version=None, certificate_source='FrontDoor', vault_id=None, minimum_tls_version='1.2'): - from knack.util import CLIError + from azure.cli.core.azclierror import ArgumentUsageError if certificate_source != 'AzureKeyVault' and any([vault_id, secret_name, secret_version]): - raise CLIError("usage error: no need to specify --vault-id, --secret-name and --secret-version " - "for Front Door managed certificate source.") + raise ArgumentUsageError("usage error: no need to specify --vault-id, --secret-name and --secret-version " + "for Front Door managed certificate source.") if certificate_source == 'AzureKeyVault' and not all([vault_id, secret_name]): - raise CLIError("usage error: at least --vault-id and --secret-name are rquired for " - "Azure Key Vault certificate source.") + raise ArgumentUsageError("usage error: at least --vault-id and --secret-name are rquired for " + "Azure Key Vault certificate source.") # if not being disabled, then must be enabled if certificate_source == 'FrontDoor': @@ -436,7 +436,7 @@ def add_fd_backend(cmd, resource_group_name, front_door_name, backend_pool_name, enabled_state='Disabled' if disabled else 'Enabled', priority=priority, weight=weight, - backend_host_header=backend_host_header or address, + backend_host_header=address if backend_host_header is None else backend_host_header, private_link_alias=private_link_alias, private_link_resource_id=private_link_resource_id, private_link_location=private_link_location, @@ -446,32 +446,68 @@ def add_fd_backend(cmd, resource_group_name, front_door_name, backend_pool_name, frontdoor = client.get(resource_group_name, front_door_name) backend_pool = next((x for x in frontdoor.backend_pools if x.name == backend_pool_name), None) if not backend_pool: - from knack.util import CLIError - raise CLIError("Backend pool '{}' could not be found on frontdoor '{}'".format( + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("Backend pool '{}' could not be found on frontdoor '{}'".format( backend_pool_name, front_door_name)) backend_pool.backends.append(backend) client.begin_create_or_update(resource_group_name, front_door_name, frontdoor).result() return backend +def update_fd_backend(cmd, resource_group_name, front_door_name, backend_pool_name, index, address=None, + http_port=None, https_port=None, disabled=None, priority=None, weight=None, + backend_host_header=None, private_link_alias=None, private_link_resource_id=None, + private_link_location=None, private_link_approval_message=None): + + client = cf_frontdoor(cmd.cli_ctx, None) + frontdoor = client.get(resource_group_name, front_door_name) + backend_pool = next((x for x in frontdoor.backend_pools if x.name == backend_pool_name), None) + if not backend_pool: + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("Backend pool '{}' could not be found on frontdoor '{}'".format( + backend_pool_name, front_door_name)) + if index > len(backend_pool.backends) or index <= 0: + from azure.cli.core.azclierror import InvalidArgumentValueError + raise InvalidArgumentValueError("Backend range is from 1 to {}, index '{}' could not be found on frontdoor '{}'".format( + len(backend_pool.backends), index, front_door_name)) + backend = backend_pool.backends[index - 1] + with UpdateContext(backend) as c: + c.update_param('address', address, None) + c.update_param('http_port', http_port, None) + c.update_param('https_port', https_port, None) + c.update_param('enabled_state', 'Disabled' if disabled else 'Enabled', None) + c.update_param('priority', priority, None) + c.update_param('weight', weight, None) + c.update_param('backend_host_header', backend_host_header, None) + c.update_param('private_link_alias', private_link_alias, None) + c.update_param('private_link_resource_id', private_link_resource_id, None) + c.update_param('private_link_location', private_link_location, None) + c.update_param('private_link_approval_message', private_link_approval_message, None) + frontdoor = client.begin_create_or_update(resource_group_name, front_door_name, frontdoor).result() + + backend_pool = next((x for x in frontdoor.backend_pools if x.name == backend_pool_name), None) + backend = backend_pool.backends[index - 1] + return backend + + def list_fd_backends(cmd, resource_group_name, front_door_name, backend_pool_name): client = cf_frontdoor(cmd.cli_ctx, None) frontdoor = client.get(resource_group_name, front_door_name) backend_pool = next((x for x in frontdoor.backend_pools if x.name == backend_pool_name), None) if not backend_pool: - from knack.util import CLIError - raise CLIError("Backend pool '{}' could not be found on frontdoor '{}'".format( + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("Backend pool '{}' could not be found on frontdoor '{}'".format( backend_pool_name, front_door_name)) return backend_pool.backends def remove_fd_backend(cmd, resource_group_name, front_door_name, backend_pool_name, index): - from knack.util import CLIError + from azure.cli.core.azclierror import ResourceNotFoundError, InvalidArgumentValueError client = cf_frontdoor(cmd.cli_ctx, None) frontdoor = client.get(resource_group_name, front_door_name) backend_pool = next((x for x in frontdoor.backend_pools if x.name == backend_pool_name), None) if not backend_pool: - raise CLIError("Backend pool '{}' could not be found on frontdoor '{}'".format( + raise ResourceNotFoundError("Backend pool '{}' could not be found on frontdoor '{}'".format( backend_pool_name, front_door_name)) try: if index > 0: @@ -479,9 +515,9 @@ def remove_fd_backend(cmd, resource_group_name, front_door_name, backend_pool_na elif index < 0: backend_pool.backends.pop(index) else: - raise CLIError('invalid index. Index can range from 1 to {}'.format(len(backend_pool.backends))) + raise InvalidArgumentValueError('invalid index. Index can range from 1 to {}'.format(len(backend_pool.backends))) except IndexError: - raise CLIError('invalid index. Index can range from 1 to {}'.format(len(backend_pool.backends))) + raise InvalidArgumentValueError('invalid index. Index can range from 1 to {}'.format(len(backend_pool.backends))) client.begin_create_or_update(resource_group_name, front_door_name, frontdoor).result() @@ -507,8 +543,8 @@ def update_fd_health_probe_settings(cmd, resource_group_name, front_door_name, i frontdoor = client.get(resource_group_name, front_door_name) probe_setting = next((x for x in frontdoor.health_probe_settings if x.name == item_name), None) if not probe_setting: - from knack.util import CLIError - raise CLIError("Health probe setting '{}' could not be found on frontdoor '{}'".format( + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("Health probe setting '{}' could not be found on frontdoor '{}'".format( item_name, front_door_name)) if probe_method: probe_setting.health_probe_method = probe_method @@ -568,12 +604,12 @@ def routing_rule_usage_helper(route_type, backend_pool=None, custom_forwarding_p # pylint: disable=line-too-long 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) + from azure.cli.core.azclierror import ArgumentUsageError + raise ArgumentUsageError(forwarding_usage) 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) + from azure.cli.core.azclierror import ArgumentUsageError + raise ArgumentUsageError(redirect_usage) def create_fd_routing_rules(cmd, resource_group_name, front_door_name, item_name, frontend_endpoints, route_type, @@ -811,8 +847,8 @@ def add_override_azure_managed_rule_set(cmd, resource_group_name, policy_name, r setRule = True if not setRule: - from knack.util import CLIError - raise CLIError("type '{}' not found".format(rule_set_type)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("type '{}' not found".format(rule_set_type)) return client.begin_create_or_update(resource_group_name, policy_name, policy) @@ -841,8 +877,8 @@ def remove_override_azure_managed_rule_set(cmd, resource_group_name, policy_name removedRule = True if not removedRule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_id)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_id)) return client.begin_create_or_update(resource_group_name, policy_name, policy) @@ -857,8 +893,8 @@ def list_override_azure_managed_rule_set(cmd, resource_group_name, policy_name, if rule_set.rule_set_type.upper() == rule_set_type.upper(): return rule_set.rule_group_overrides - from knack.util import CLIError - raise CLIError("rule set '{}' not found".format(rule_set_type)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule set '{}' not found".format(rule_set_type)) def add_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, rule_set_type, @@ -866,10 +902,10 @@ def add_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, rule_group_id=None, rule_id=None): from azext_front_door.vendored_sdks.models import ManagedRuleOverride, ManagedRuleGroupOverride from azext_front_door.vendored_sdks.models import ManagedRuleExclusion - from knack.util import CLIError + from azure.cli.core.azclierror import RequiredArgumentMissingError, ResourceNotFoundError if rule_id and not rule_group_id: - raise CLIError("Must specify rule-group-id of the rule when you specify rule-id") + raise RequiredArgumentMissingError("Must specify rule-group-id of the rule when you specify rule-id") client = cf_waf_policies(cmd.cli_ctx, None) policy = client.get(resource_group_name, policy_name) @@ -891,7 +927,7 @@ def add_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, break if rule_set_obj is None: - raise CLIError("type '{}' not found".format(rule_set_type)) + raise ResourceNotFoundError("type '{}' not found".format(rule_set_type)) rule_group_override = None if rule_group_id is None: @@ -927,9 +963,9 @@ def add_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, exclusion_holder.exclusions.append(exclusion) else: if rule_id: - raise CLIError("rule {} within group {} within type '{}' not found" - .format(rule_id, rule_group_id, rule_set_type)) - raise CLIError("group {} within type '{}' not found".format(rule_group_id, rule_set_type)) + raise ResourceNotFoundError("rule {} within group {} within type '{}' not found" + .format(rule_id, rule_group_id, rule_set_type)) + raise ResourceNotFoundError("group {} within type '{}' not found".format(rule_group_id, rule_set_type)) return client.begin_create_or_update(resource_group_name, policy_name, policy) @@ -937,10 +973,10 @@ def add_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, def remove_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, rule_set_type, match_variable, operator, value, rule_group_id=None, rule_id=None): - from knack.util import CLIError + from azure.cli.core.azclierror import RequiredArgumentMissingError, ResourceNotFoundError if rule_id and not rule_group_id: - raise CLIError("Must specify rule-group-id of the rule when you specify rule-id") + raise RequiredArgumentMissingError("Must specify rule-group-id of the rule when you specify rule-id") client = cf_waf_policies(cmd.cli_ctx, None) policy = client.get(resource_group_name, policy_name) @@ -948,7 +984,7 @@ def remove_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_nam exclusions = None if not policy.managed_rules.managed_rule_sets: - raise CLIError("Exclusion not found") + raise ResourceNotFoundError("Exclusion not found") rule_set_obj = None for rule_set in policy.managed_rules.managed_rule_sets: @@ -962,7 +998,7 @@ def remove_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_nam exclusions = rule_set_obj.exclusions else: if not rule_set_obj.rule_group_overrides: - raise CLIError("Exclusion not found") + raise ResourceNotFoundError("Exclusion not found") for rg in rule_set_obj.rule_group_overrides: if rg.rule_group_name.upper() == rule_group_id.upper(): rule_group_override = rg @@ -973,14 +1009,14 @@ def remove_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_nam exclusions = rule_group_override.exclusions else: if rule_group_override.rules is None: - raise CLIError("Exclusion not found") + raise ResourceNotFoundError("Exclusion not found") for rule in rule_group_override.rules: if rule.rule_id.upper() == rule_id.upper(): exclusions = rule.exclusions break if exclusions is None: - raise CLIError("Exclusion not found") + raise ResourceNotFoundError("Exclusion not found") for i, exclusion in enumerate(exclusions): if (exclusion.match_variable == match_variable and @@ -992,19 +1028,19 @@ def remove_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_nam def list_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, rule_set_type, rule_group_id=None, rule_id=None): - from knack.util import CLIError + from azure.cli.core.azclierror import RequiredArgumentMissingError, ResourceNotFoundError client = cf_waf_policies(cmd.cli_ctx, None) policy = client.get(resource_group_name, policy_name) if rule_id and not rule_group_id: - raise CLIError("Must specify rule-group-id of the rule when you specify rule-id") + raise RequiredArgumentMissingError("Must specify rule-group-id of the rule when you specify rule-id") client = cf_waf_policies(cmd.cli_ctx, None) policy = client.get(resource_group_name, policy_name) if policy.managed_rules.managed_rule_sets is None: - raise CLIError("rule set '{}' not found".format(rule_set_type)) + raise ResourceNotFoundError("rule set '{}' not found".format(rule_set_type)) rule_set_obj = None for rule_set in policy.managed_rules.managed_rule_sets: @@ -1015,10 +1051,10 @@ def list_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, break if rule_set_obj is None: - raise CLIError("rule set '{}' not found".format(rule_set_type)) + raise ResourceNotFoundError("rule set '{}' not found".format(rule_set_type)) if rule_set_obj.rule_group_overrides is None: - raise CLIError("rule set '{}' has no overrides".format(rule_set_type)) + raise RequiredArgumentMissingError("rule set '{}' has no overrides".format(rule_set_type)) rule_group_override = None for rg in rule_set_obj.rule_group_overrides: @@ -1030,16 +1066,16 @@ def list_exclusion_azure_managed_rule_set(cmd, resource_group_name, policy_name, break if rule_group_override is None: - raise CLIError("rule group '{}' not found".format(rule_group_id)) + raise ResourceNotFoundError("rule group '{}' not found".format(rule_group_id)) if rule_group_override.rules is None: - raise CLIError("rule '{}' not found".format(rule_id)) + raise ResourceNotFoundError("rule '{}' not found".format(rule_id)) for rule in rule_group_override.rules: if rule.rule_id.upper() == rule_id.upper(): return rule.exclusions or [] - raise CLIError("rule '{}' not found".format(rule_id)) + raise ResourceNotFoundError("rule '{}' not found".format(rule_id)) def list_managed_rules_definitions(cmd): @@ -1051,8 +1087,8 @@ def list_managed_rules_definitions(cmd): def create_wp_custom_rule(cmd, resource_group_name, policy_name, rule_name, priority, rule_type, action, rate_limit_duration=None, rate_limit_threshold=None, disabled=None): if rule_type.lower() == "ratelimitrule" and (rate_limit_duration is None or rate_limit_threshold is None): - from knack.util import CLIError - raise CLIError("rate_limit_duration and rate_limit_threshold are required for a RateLimitRule") + from azure.cli.core.azclierror import RequiredArgumentMissingError + raise RequiredArgumentMissingError("rate_limit_duration and rate_limit_threshold are required for a RateLimitRule") from azext_front_door.vendored_sdks.models import CustomRule client = cf_waf_policies(cmd.cli_ctx, None) @@ -1088,8 +1124,8 @@ def update_wp_custom_rule(cmd, resource_group_name, policy_name, rule_name, prio c.update_param('enabled_state', 'Enabled' if not disabled else 'Disabled', 'Disabled') if not foundRule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) return cached_put(cmd, client.begin_create_or_update, policy, resource_group_name, policy_name).result() @@ -1113,8 +1149,8 @@ def show_wp_custom_rule(cmd, resource_group_name, policy_name, rule_name): try: return next(x for x in policy.custom_rules.rules if x.name.lower() == rule_name.lower()) except StopIteration: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) def remove_custom_rule_match_condition(cmd, resource_group_name, policy_name, rule_name, @@ -1128,14 +1164,14 @@ def remove_custom_rule_match_condition(cmd, resource_group_name, policy_name, ru foundRule = True if index >= len(rule.match_conditions): - from knack.util import CLIError - raise CLIError("Index out of bounds") + from azure.cli.core.azclierror import InvalidArgumentValueError + raise InvalidArgumentValueError("Index out of bounds") rule.match_conditions = [v for (i, v) in enumerate(rule.match_conditions) if i != index] if not foundRule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) return cached_put(cmd, client.begin_create_or_update, policy, resource_group_name, policy_name).result() @@ -1167,8 +1203,8 @@ def add_custom_rule_match_condition(cmd, resource_group_name, policy_name, rule_ )) if not foundRule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) return cached_put(cmd, client.begin_create_or_update, policy, resource_group_name, policy_name).result() @@ -1181,8 +1217,8 @@ def list_custom_rule_match_conditions(cmd, resource_group_name, policy_name, rul if rule.name.upper() == rule_name.upper(): return rule.match_conditions - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) # endregion @@ -1254,8 +1290,8 @@ def delete_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_en rules_engine = client.get(resource_group_name, front_door_name, rules_engine_name) rules_engine.rules = [x for x in rules_engine.rules if x.name.lower() != rule_name.lower()] if not rules_engine.rules: - from knack.util import CLIError - raise CLIError("Rules Engine must at least contain one rule") + from azure.cli.core.azclierror import BadRequestError + raise BadRequestError("Rules Engine must at least contain one rule") rules_engine_parameters = RulesEngine(rules=rules_engine.rules) return client.begin_create_or_update(resource_group_name, @@ -1270,8 +1306,8 @@ def show_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_engi try: return next(x for x in rules_engine.rules if x.name.lower() == rule_name.lower()) except StopIteration: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) def list_rules_engine_rule(cmd, resource_group_name, front_door_name, rules_engine_name): @@ -1296,8 +1332,8 @@ def update_rules_engine_rule(cmd, resource_group_name, front_door_name, break if not found_rule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) rules_engine_parameters = RulesEngine(rules=rules_engine.rules) return client.begin_create_or_update(resource_group_name, @@ -1328,8 +1364,8 @@ def add_rules_engine_condition(cmd, resource_group_name, front_door_name, rules_ rule.match_conditions.append(condition) if not found_rule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) rules_engine_parameters = RulesEngine(rules=rules_engine.rules) return client.begin_create_or_update(resource_group_name, @@ -1350,14 +1386,14 @@ def remove_rules_engine_condition(cmd, resource_group_name, found_rule = True if index >= len(rule.match_conditions): - from knack.util import CLIError - raise CLIError("Index out of bounds") + from azure.cli.core.azclierror import InvalidArgumentValueError + raise InvalidArgumentValueError("Index out of bounds") rule.match_conditions = [v for (i, v) in enumerate(rule.match_conditions) if i != index] if not found_rule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) rules_engine_parameters = RulesEngine(rules=rules_engine.rules) return client.begin_create_or_update(resource_group_name, @@ -1376,8 +1412,8 @@ def list_rules_engine_condition(cmd, resource_group_name, if rule.name.upper() == rule_name.upper(): return rule.match_conditions - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) def add_rules_engine_action(cmd, resource_group_name, front_door_name, rules_engine_name, rule_name, @@ -1443,8 +1479,8 @@ def add_action_helper(rule): add_action_helper(rule) if not found_rule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) rules_engine_parameters = RulesEngine(rules=rules_engine.rules) return client.begin_create_or_update(resource_group_name, @@ -1457,8 +1493,8 @@ def remove_rules_engine_action(cmd, resource_group_name, front_door_name, rules_ rule_name, action_type, index=None): def check_index(arr): if index is None or index >= len(arr): - from knack.util import CLIError - raise CLIError("Index out of bounds") + from azure.cli.core.azclierror import InvalidArgumentValueError + raise InvalidArgumentValueError("Index out of bounds") def remove_action_helper(rule): if action_type.lower() == 'requestheader': @@ -1486,12 +1522,12 @@ def remove_action_helper(rule): if len(rule.action.request_header_actions) <= 0 and \ len(rule.action.response_header_actions) <= 0 and \ rule.action.route_configuration_override is None: - from knack.util import CLIError - raise CLIError("Cannot remove all actions from rule '{}'".format(rule_name)) + from azure.cli.core.azclierror import BadRequestError + raise BadRequestError("Cannot remove all actions from rule '{}'".format(rule_name)) if not found_rule: - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) rules_engine_parameters = RulesEngine(rules=rules_engine.rules) return client.begin_create_or_update(resource_group_name, @@ -1510,7 +1546,7 @@ def list_rules_engine_action(cmd, resource_group_name, if rule.name.upper() == rule_name.upper(): return rule.action - from knack.util import CLIError - raise CLIError("rule '{}' not found".format(rule_name)) + from azure.cli.core.azclierror import ResourceNotFoundError + raise ResourceNotFoundError("rule '{}' not found".format(rule_name)) # endregion diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_backend_pool_backend.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_backend_pool_backend.yaml new file mode 100644 index 00000000000..5ec5a566be8 --- /dev/null +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_backend_pool_backend.yaml @@ -0,0 +1,1494 @@ +interactions: +- request: + body: '{"location": "global", "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"name": "DefaultRoutingRule", "properties": {"frontendEndpoints": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}], + "loadBalancingSettings": [{"name": "DefaultLoadBalancingSettings", "properties": + {"sampleSize": 4, "successfulSamplesRequired": 2, "additionalLatencyMilliseconds": + 0}}], "healthProbeSettings": [{"name": "DefaultProbeSettings", "properties": + {"path": "/", "protocol": "Https", "intervalInSeconds": 30, "healthProbeMethod": + "HEAD"}}], "backendPools": [{"name": "DefaultBackendPool", "properties": {"backends": + [{"address": "202.120.2.3", "httpPort": 80, "httpsPort": 443, "enabledState": + "Enabled", "priority": 1, "weight": 50, "backendHostHeader": "202.120.2.3"}], + "loadBalancingSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"name": "DefaultFrontendEndpoint", "properties": {"hostName": + "clifrontdoor000002.azurefd.net", "sessionAffinityEnabledState": "Disabled"}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled"}, "enabledState": + "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + Content-Length: + - '2313' + Content-Type: + - application/json + ParameterSetName: + - -g -n --backend-address + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Creating\",\"resourceState\":\"Creating\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Creating\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Creating\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Creating\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Creating\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\r\n ],\"enabledState\":\"Enabled\",\"resourceState\":\"Creating\",\"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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"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/f76cd59c-cf4b-47dd-a4aa-bf2c5dde9682?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '5429' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:08:38 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/f76cd59c-cf4b-47dd-a4aa-bf2c5dde9682?api-version=2020-05-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: + - Wed, 19 May 2021 03:08:49 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/f76cd59c-cf4b-47dd-a4aa-bf2c5dde9682?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:09:20 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door create + Connection: + - keep-alive + ParameterSetName: + - -g -n --backend-address + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5424' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:09:21 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door backend-pool create + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --address --load-balancing --probe + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '5424' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:09:24 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}, + {"name": "bkp1", "properties": {"backends": [{"address": "202.120.2.3", "httpPort": + 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, "weight": 50, + "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool create + Connection: + - keep-alive + Content-Length: + - '4442' + Content-Type: + - application/json + ParameterSetName: + - -f -g -n --address --load-balancing --probe + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"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/d0268b12-9f1f-4b59-8170-523b440ab9d5?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '6766' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:09:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d0268b12-9f1f-4b59-8170-523b440ab9d5/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + 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: + - '1196' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool create + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --address --load-balancing --probe + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d0268b12-9f1f-4b59-8170-523b440ab9d5?api-version=2020-05-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: + - Wed, 19 May 2021 03:09:44 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool create + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --address --load-balancing --probe + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d0268b12-9f1f-4b59-8170-523b440ab9d5?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:10:14 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool create + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --address --load-balancing --probe + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '6766' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:10:15 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door backend-pool backend add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --address --backend-host-header + --disabled --http-port --https-port --priority --weight + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '6766' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:10:18 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1", + "name": "bkp1", "properties": {"backends": [{"address": "202.120.2.3", "httpPort": + 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, "weight": 50, + "backendHostHeader": "202.120.2.3"}, {"address": "202.120.2.3", "httpPort": + 80, "httpsPort": 443, "enabledState": "Disabled", "priority": 2, "weight": 1, + "backendHostHeader": ""}], "loadBalancingSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend add + Connection: + - keep-alive + Content-Length: + - '4815' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --front-door-name --pool-name --address --backend-host-header + --disabled --http-port --https-port --priority --weight + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ },{\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":2,\"weight\":1,\"backendHostHeader\":\"\",\"enabledState\":\"Disabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"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/e96d9b32-daa3-45ab-a788-a9cf27cb4f22?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '7068' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:10:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/e96d9b32-daa3-45ab-a788-a9cf27cb4f22/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + 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: + - '1195' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --address --backend-host-header + --disabled --http-port --https-port --priority --weight + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/e96d9b32-daa3-45ab-a788-a9cf27cb4f22?api-version=2020-05-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: + - Wed, 19 May 2021 03:10:37 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --address --backend-host-header + --disabled --http-port --https-port --priority --weight + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/e96d9b32-daa3-45ab-a788-a9cf27cb4f22?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:11:07 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --address --backend-host-header + --disabled --http-port --https-port --priority --weight + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ },{\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":2,\"weight\":1,\"backendHostHeader\":\"\",\"enabledState\":\"Disabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '7068' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:11:09 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door backend-pool backend update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --index --disabled + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ },{\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":2,\"weight\":1,\"backendHostHeader\":\"\",\"enabledState\":\"Disabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '7068' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:11:12 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1", + "name": "bkp1", "properties": {"backends": [{"address": "202.120.2.3", "httpPort": + 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, "weight": 50, + "backendHostHeader": "202.120.2.3"}, {"address": "202.120.2.3", "httpPort": + 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 2, "weight": 1, + "backendHostHeader": ""}], "loadBalancingSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend update + Connection: + - keep-alive + Content-Length: + - '4814' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --front-door-name --pool-name --index --disabled + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ },{\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":2,\"weight\":1,\"backendHostHeader\":\"\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"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/4339ffbb-717a-4cc8-bb3f-8f478c957b33?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '7067' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:11:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4339ffbb-717a-4cc8-bb3f-8f478c957b33/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + 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: + - '1195' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --index --disabled + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4339ffbb-717a-4cc8-bb3f-8f478c957b33?api-version=2020-05-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: + - Wed, 19 May 2021 03:11:30 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --index --disabled + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4339ffbb-717a-4cc8-bb3f-8f478c957b33?api-version=2020-05-01 + response: + body: + string: "{\r\n \"status\":\"Succeeded\",\"error\":{\r\n \"code\":\"None\",\"message\":null\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '77' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:12:00 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door backend-pool backend update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --index --disabled + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ },{\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":2,\"weight\":1,\"backendHostHeader\":\"\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '7067' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:12:02 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door backend-pool backend update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --front-door-name --pool-name --index --disabled + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: "{\r\n \"name\":\"clifrontdoor000002\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002\",\"type\":\"Microsoft.Network/frontdoors\",\"tags\":{\r\n + \ \r\n },\"location\":\"Global\",\"properties\":{\r\n \"provisioningState\":\"Succeeded\",\"resourceState\":\"Enabled\",\"backendPools\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool\",\"name\":\"DefaultBackendPool\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n },{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/bkp1\",\"name\":\"bkp1\",\"type\":\"Microsoft.Network/Frontdoors/BackendPools\",\"properties\":{\r\n + \ \"backends\":[\r\n {\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":1,\"weight\":50,\"backendHostHeader\":\"202.120.2.3\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ },{\r\n \"address\":\"202.120.2.3\",\"httpPort\":80,\"httpsPort\":443,\"priority\":2,\"weight\":1,\"backendHostHeader\":\"\",\"enabledState\":\"Enabled\",\"privateLinkAlias\":null,\"privateEndpointStatus\":null,\"privateLinkApprovalMessage\":null,\"privateLinkResourceId\":null,\"privateLinkLocation\":null\r\n + \ }\r\n ],\"healthProbeSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings\"\r\n + \ },\"loadBalancingSettings\":{\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings\"\r\n + \ },\"resourceState\":\"Enabled\"\r\n }\r\n }\r\n ],\"healthProbeSettings\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings\",\"name\":\"DefaultProbeSettings\",\"type\":\"Microsoft.Network/Frontdoors/HealthProbeSettings\",\"properties\":{\r\n + \ \"intervalInSeconds\":30,\"path\":\"/\",\"protocol\":\"Https\",\"resourceState\":\"Enabled\",\"enabledState\":\"Enabled\",\"healthProbeMethod\":\"Head\"\r\n + \ }\r\n }\r\n ],\"frontendEndpoints\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint\",\"name\":\"DefaultFrontendEndpoint\",\"type\":\"Microsoft.Network/Frontdoors/FrontendEndpoints\",\"properties\":{\r\n + \ \"hostName\":\"clifrontdoor000002.azurefd.net\",\"sessionAffinityEnabledState\":\"Disabled\",\"sessionAffinityTtlSeconds\":0,\"webApplicationFirewallPolicyLink\":null,\"customHttpsProvisioningState\":null,\"customHttpsProvisioningSubstate\":null,\"customHttpsConfiguration\":null,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"loadBalancingSettings\":[\r\n {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings\",\"name\":\"DefaultLoadBalancingSettings\",\"type\":\"Microsoft.Network/Frontdoors/LoadBalancingSettings\",\"properties\":{\r\n + \ \"additionalLatencyMilliseconds\":0,\"sampleSize\":4,\"successfulSamplesRequired\":2,\"resourceState\":\"Enabled\"\r\n + \ }\r\n }\r\n ],\"rulesEngines\":[\r\n \r\n ],\"routingRules\":[\r\n + \ {\r\n \"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule\",\"name\":\"DefaultRoutingRule\",\"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 + \ }\r\n ],\"acceptedProtocols\":[\r\n \"Http\"\r\n + \ ],\"patternsToMatch\":[\r\n \"/*\"\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 + \ }\r\n },\"rulesEngine\":null,\"webApplicationFirewallPolicyLink\":null\r\n + \ }\r\n }\r\n ],\"backendPoolsSettings\":{\r\n \"enforceCertificateNameCheck\":\"Enabled\",\"sendRecvTimeoutSeconds\":30\r\n + \ },\"enabledState\":\"Enabled\",\"cName\":\"clifrontdoor000002.azurefd.net\",\"frontdoorId\":\"d9fe5abb-ff39-42b9-87fe-d54202b82e34\",\"friendlyName\":\"clifrontdoor000002\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '7067' + content-type: + - application/json; odata.metadata=minimal + date: + - Wed, 19 May 2021 03:12:04 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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 +version: 1 diff --git a/src/front-door/azext_front_door/tests/latest/recordings/test_front_door_basic_scenario.yaml b/src/front-door/azext_front_door/tests/latest/recordings/test_front_door_basic_scenario.yaml index fc962be9be0..32b8df30236 100644 --- a/src/front-door/azext_front_door/tests/latest/recordings/test_front_door_basic_scenario.yaml +++ b/src/front-door/azext_front_door/tests/latest/recordings/test_front_door_basic_scenario.yaml @@ -354,7 +354,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azfdtest.xyz/providers/Microsoft.Network/dnsZones/cdne2e.azfdtest.xyz/CNAME/clife000002?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azfdtest.xyz/providers/Microsoft.Network/dnsZones/cdne2e.azfdtest.xyz/cname/clife000002?api-version=2018-05-01 response: body: string: '{"code":"NotFound","message":"The resource record ''clife000002'' does @@ -404,7 +404,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azfdtest.xyz/providers/Microsoft.Network/dnsZones/cdne2e.azfdtest.xyz/CNAME/clife000002?api-version=2018-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azfdtest.xyz/providers/Microsoft.Network/dnsZones/cdne2e.azfdtest.xyz/cname/clife000002?api-version=2018-05-01 response: body: string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/azfdtest.xyz\/providers\/Microsoft.Network\/dnszones\/cdne2e.azfdtest.xyz\/CNAME\/clife000002","name":"clife000002","type":"Microsoft.Network\/dnszones\/CNAME","etag":"bd9175a9-254c-4134-8aa2-9d23be6112b0","properties":{"fqdn":"clife000002.cdne2e.azfdtest.xyz.","TTL":3600,"CNAMERecord":{"cname":"clifrontdoor000003.azurefd.net"},"targetResource":{},"provisioningState":"Succeeded"}}' diff --git a/src/front-door/azext_front_door/tests/latest/test_backend_pool_scenarios.py b/src/front-door/azext_front_door/tests/latest/test_backend_pool_scenarios.py index 8ed3201386a..205deaabcd0 100644 --- a/src/front-door/azext_front_door/tests/latest/test_backend_pool_scenarios.py +++ b/src/front-door/azext_front_door/tests/latest/test_backend_pool_scenarios.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) +from knack.util import CLIError class BackendPoolScenarioTest(ScenarioTest): @@ -37,3 +38,59 @@ def test_backend_pool_basic(self, resource_group): checks=[ self.check('length(@)', 1), ]) + + @ResourceGroupPreparer(location='westus') + def test_backend_pool_backend(self, resource_group): + self.kwargs.update({ + 'front_door': self.create_random_name('clifrontdoor', 20), + 'bkp1': 'bkp1', + 'lb1': 'lb1', + 'pb1': 'pb1' + }) + self.cmd('network front-door create -g {rg} -n {front_door} --backend-address 202.120.2.3') + + self.cmd('network front-door backend-pool create -f {front_door} -g {rg} -n {bkp1} ' + '--address 202.120.2.3 ' + '--load-balancing DefaultLoadBalancingSettings ' + '--probe DefaultProbeSettings ', + checks=[ + self.check('backends[0].address', '202.120.2.3'), + self.check('ends_with(loadBalancingSettings.id, `DefaultLoadBalancingSettings`)', True), + self.check('ends_with(healthProbeSettings.id, `DefaultProbeSettings`)', True) + ]) + + # Fix Issue: https://github.com/Azure/azure-cli/issues/17269 + self.cmd('network front-door backend-pool backend add ' + '--resource-group {rg} ' + '--front-door-name {front_door} ' + '--pool-name {bkp1} ' + '--address 202.120.2.3 ' + '--backend-host-header "" ' + '--disabled true ' + '--http-port 80 ' + '--https-port 443 ' + '--priority 2 ' + '--weight 1 ', + checks=[ + self.check('backendHostHeader', '') + ]) + + # Fix Iussue: https://github.com/Azure/azure-cli/issues/17270 + self.cmd('network front-door backend-pool backend update ' + '--resource-group {rg} ' + '--front-door-name {front_door} ' + '--pool-name {bkp1} ' + '--index 2 ' + '--disabled false ', + checks=[ + self.check('enabledState', 'Enabled'), + self.check('backendHostHeader', '') + ]) + + with self.assertRaises(CLIError): + self.cmd('network front-door backend-pool backend update ' + '--resource-group {rg} ' + '--front-door-name {front_door} ' + '--pool-name {bkp1} ' + '--index 3 ' + '--disabled false ') diff --git a/src/front-door/setup.py b/src/front-door/setup.py index ee8f949dea0..e9da57dd3f2 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.14" +VERSION = "1.0.15" CLASSIFIERS = [ 'Development Status :: 4 - Beta', From e11e44d79c4abad5e5bf83325f30f976e7dfb121 Mon Sep 17 00:00:00 2001 From: Cameron Taggart Date: Thu, 1 Jul 2021 19:17:24 -0600 Subject: [PATCH 31/85] publish vmware 3.0.0 (#3570) --- src/vmware/CHANGELOG.md | 2 +- src/vmware/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vmware/CHANGELOG.md b/src/vmware/CHANGELOG.md index f78a788dfb5..2dde8b3e47f 100644 --- a/src/vmware/CHANGELOG.md +++ b/src/vmware/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 3.0.0 (2021-06) +## 3.0.0 (2021-07) - [BREAKING CHANGE] `az vmware datastore create` has been removed. Please use `az vmware datastore netapp-volume create` or `az vmware datastore disk-pool-volume create` instead. Other changes: diff --git a/src/vmware/setup.py b/src/vmware/setup.py index 9649cf71529..86253aa8a6d 100644 --- a/src/vmware/setup.py +++ b/src/vmware/setup.py @@ -8,7 +8,7 @@ from io import open from setuptools import setup, find_packages -VERSION = "2.0.1" +VERSION = "3.0.0" with open('README.md', encoding='utf-8') as f: readme = f.read() From 0e83afd6d7fdc60534414eb23c97b1139b72e1fa Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 2 Jul 2021 09:23:42 +0800 Subject: [PATCH 32/85] [Release] Update index.json for extension [ front-door ] (#3567) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=976903 Last commit: https://github.com/Azure/azure-cli-extensions/commit/aa0d22ef8b1283de7cdec0fd9374c7153d7d1ec5 --- src/index.json | 54 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/src/index.json b/src/index.json index f6f49c54933..db109052487 100644 --- a/src/index.json +++ b/src/index.json @@ -3915,10 +3915,10 @@ "arcdata": [ { "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.1-py2.py3-none-any.whl", - "filename": "arcdata-0.0.1-py2.py3-none-any.whl", + "filename": "arcdata-0.0.1-py2.py3-none-any.whl", "metadata": { "azext.isExperimental": false, - "azext.minCliCoreVersion": "2.3.1", + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 1 - Beta", "Intended Audience :: Developers", @@ -3954,9 +3954,9 @@ "name": "arcdata", "run_requires": [ { - "requires": [ + "requires": [ "jinja2 (==2.10.3)", - "jsonpatch (==1.24)", + "jsonpatch (==1.24)", "jsonpath-ng (==1.4.3)", "kubernetes (==11.0.0)", "pydash (==4.8.0)" @@ -3968,7 +3968,7 @@ }, "sha256Digest": "e727a7bf123aa15b406455f268be8a906907d6d32bd314d122b83d006767adc8" } - ], + ], "attestation": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/attestation-0.1.0-py3-none-any.whl", @@ -10705,6 +10705,48 @@ "version": "1.0.14" }, "sha256Digest": "bca02f32e3a322de8cf29be1a2c255897ede3a34ee620dcc1871f1dbb6019ff1" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-1.0.15-py3-none-any.whl", + "filename": "front_door-1.0.15-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.15" + }, + "sha256Digest": "8673a26f16f0d5b96f217d69f1f2c7588105c56c7e5e53c9a1f6f36b7d9edcff" } ], "fzf": [ @@ -20266,4 +20308,4 @@ ] }, "formatVersion": "1" -} +} \ No newline at end of file From 9fd2a2d48752fa303bf082568dadfec2091ac46f Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Sun, 4 Jul 2021 09:03:48 +0800 Subject: [PATCH 33/85] [Release] Update index.json for extension [ vmware ] (#3576) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=981055 Last commit: https://github.com/Azure/azure-cli-extensions/commit/e11e44d79c4abad5e5bf83325f30f976e7dfb121 --- src/index.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/index.json b/src/index.json index db109052487..270398efe14 100644 --- a/src/index.json +++ b/src/index.json @@ -20116,6 +20116,39 @@ "version": "2.0.1" }, "sha256Digest": "9201be5570c050b7f048f25b70ee0a2229bf73ad048aea036b484166631bc8e5" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-3.0.0-py2.py3-none-any.whl", + "filename": "vmware-3.0.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.11.0", + "description_content_type": "text/markdown", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft", + "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": "vmware", + "summary": "Azure VMware Solution commands.", + "version": "3.0.0" + }, + "sha256Digest": "d68bcb114a2b46860eecf0debeb0d9c5db46c069399ef9e3f5292220a3cd37c2" } ], "webapp": [ From 98288def710f29bd6a08ad7ef2b612141f23211f Mon Sep 17 00:00:00 2001 From: Ryan K Date: Sat, 3 Jul 2021 18:04:13 -0700 Subject: [PATCH 34/85] IoT Extension Release v0.10.14 (#3573) Co-authored-by: Ryan --- src/index.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/index.json b/src/index.json index 270398efe14..185e686f1ec 100644 --- a/src/index.json +++ b/src/index.json @@ -5455,6 +5455,59 @@ "version": "0.10.13" }, "sha256Digest": "a4e684dd021306bc1e48ec22243f59a7679aff55174d37401e861b7b595565f5" + }, + { + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.14/azure_iot-0.10.14-py3-none-any.whl", + "filename": "azure_iot-0.10.14-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.17.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": "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", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.2.0)", + "packaging", + "paho-mqtt (==1.5.0)" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.10.14" + }, + "sha256Digest": "91ed29b19a26e61414cfcc65291ee046b2be01fae55878d5475d7f86809b903c" } ], "baremetal-infrastructure": [ From 5380f93389561646a2430612d3ec9f3db8743940 Mon Sep 17 00:00:00 2001 From: Shriroop Joshi Date: Sun, 4 Jul 2021 19:00:04 -0700 Subject: [PATCH 35/85] Change dnc extension mode (#3568) * Change dnc extension mode Change dnc extension mode from experimental to preview * Update dnc extension version * Update extension version in history and setup.py * Change is_preview to true Co-authored-by: Shriroop --- src/dnc/HISTORY.rst | 4 ++++ src/dnc/azext_dnc/azext_metadata.json | 2 +- src/dnc/azext_dnc/generated/commands.py | 2 +- src/dnc/setup.py | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/dnc/HISTORY.rst b/src/dnc/HISTORY.rst index 1c139576ba0..0942adbdddd 100644 --- a/src/dnc/HISTORY.rst +++ b/src/dnc/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.1.1 +++++++ +* Updated extension-mode to preview + 0.1.0 ++++++ * Initial release. diff --git a/src/dnc/azext_dnc/azext_metadata.json b/src/dnc/azext_dnc/azext_metadata.json index cfc30c747c7..30fdaf614ee 100644 --- a/src/dnc/azext_dnc/azext_metadata.json +++ b/src/dnc/azext_dnc/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isExperimental": true, + "azext.isPreview": true, "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/dnc/azext_dnc/generated/commands.py b/src/dnc/azext_dnc/generated/commands.py index 2784ab57041..61ad2fba0ad 100644 --- a/src/dnc/azext_dnc/generated/commands.py +++ b/src/dnc/azext_dnc/generated/commands.py @@ -60,5 +60,5 @@ def load_command_table(self, _): g.custom_command('delete', 'dnc_delegated_subnet_service_delete', supports_no_wait=True, confirmation=True) g.custom_wait_command('wait', 'dnc_delegated_subnet_service_show') - with self.command_group('dnc', is_experimental=True): + with self.command_group('dnc', is_preview=True): pass diff --git a/src/dnc/setup.py b/src/dnc/setup.py index 71d89822c42..ec960229622 100644 --- a/src/dnc/setup.py +++ b/src/dnc/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' try: from azext_dnc.manual.version import VERSION except ImportError: From c353c4e1b41c47ff8fee68dc34b4c369de7738da Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 5 Jul 2021 10:30:40 +0800 Subject: [PATCH 36/85] [Release] Update index.json for extension [ dnc ] (#3581) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=983005 Last commit: https://github.com/Azure/azure-cli-extensions/commit/5380f93389561646a2430612d3ec9f3db8743940 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 185e686f1ec..027c1cfd12d 100644 --- a/src/index.json +++ b/src/index.json @@ -9885,6 +9885,49 @@ "version": "0.1.0" }, "sha256Digest": "5398ed171b49fe0d27307caec0f6bf2f6310da0b877b5f3b6d8a0fd6e7f50cbe" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/dnc-0.1.1-py3-none-any.whl", + "filename": "dnc-0.1.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.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/tree/master/src/dnc" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "dnc", + "summary": "Microsoft Azure Command-Line Tools DNC Extension", + "version": "0.1.1" + }, + "sha256Digest": "7d34527aec383a227d1183eea2ecb9d9aaa0642acf9ef206c2f3e6aab72d86b3" } ], "eventgrid": [ From a7a58b8314c28ab2879db8040a87bc9b94e6b489 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Mon, 5 Jul 2021 14:06:43 +0800 Subject: [PATCH 37/85] update pipeline (#3583) --- .../vsts-azcli-aks-live-test.yaml | 26 ++++++++++++++----- .../vsts-azcli-aks-unit-test.yaml | 14 +++++----- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml index 37cb3ab171f..d3383b9fc75 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml @@ -14,8 +14,12 @@ variables: - group: azcli-aks-tool - name: ContainerName value: "azcli-aks-live-test" + - name: REPO_NAME + value: "azure-cli-extensions" - name: LIVE_TEST_BASE_DIR value: "azure-cli-extensions/src/aks-preview/azcli_aks_live_test" + - name: AKS_PREVIEW_BASE_DIR + value: "azure-cli-extensions/src/aks-preview/azext_aks_preview" jobs: - job: LiveTest @@ -25,18 +29,15 @@ jobs: displayName: "Live Test with Python" steps: - bash: | - pwd - ls -alh - mkdir azure-cli-extensions + mkdir $(REPO_NAME) shopt -s extglob dotglob - mv !(azure-cli-extensions) azure-cli-extensions + mv !($(REPO_NAME)) $(REPO_NAME) shopt -u extglob dotglob - ls -alh - displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" + displayName: "Move All Files to a Subdirectory" - bash: | $(LIVE_TEST_BASE_DIR)/scripts/clone_repo.sh condition: succeeded() - displayName: "Clone GitHub Repo and Move Test Related Files" + displayName: "Clone GitHub Repo(s) and Extract Test Scripts" - bash: | ./scripts/prepare_image.sh condition: succeeded() @@ -68,6 +69,17 @@ jobs: flattenFolders: true targetFolder: $(Build.ArtifactStagingDirectory) condition: succeededOrFailed() + displayName: "Copy Reports & Logs" + - bash: mkdir -p $(Build.ArtifactStagingDirectory)/recordings + condition: succeededOrFailed() + displayName: "Create Dir for Recordings" + - task: CopyFiles@2 + inputs: + contents: '$(AKS_PREVIEW_BASE_DIR)/tests/latest/recordings/**' + flattenFolders: true + targetFolder: $(Build.ArtifactStagingDirectory)/recordings + condition: succeededOrFailed() + displayName: "Copy Recordings" - task: PublishBuildArtifacts@1 inputs: pathToPublish: $(Build.ArtifactStagingDirectory) diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml index 9df978d35a3..0145ab2686c 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml @@ -14,6 +14,8 @@ variables: - group: azcli-aks-tool - name: ContainerName value: "azcli-aks-unit-test" + - name: REPO_NAME + value: "azure-cli-extensions" - name: LIVE_TEST_BASE_DIR value: "azure-cli-extensions/src/aks-preview/azcli_aks_live_test" @@ -25,18 +27,15 @@ jobs: displayName: "Unit Test with Python" steps: - bash: | - pwd - ls -alh - mkdir azure-cli-extensions + mkdir $(REPO_NAME) shopt -s extglob dotglob - mv !(azure-cli-extensions) azure-cli-extensions + mv !($(REPO_NAME)) $(REPO_NAME) shopt -u extglob dotglob - ls -alh - displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" + displayName: "Move All Files to a Subdirectory" - bash: | $(LIVE_TEST_BASE_DIR)/scripts/clone_repo.sh condition: succeeded() - displayName: "Clone GitHub Repo and Move Test Related Files" + displayName: "Clone GitHub Repo(s) and Extract Test Scripts" - bash: | ./scripts/prepare_image.sh condition: succeeded() @@ -68,6 +67,7 @@ jobs: flattenFolders: true targetFolder: $(Build.ArtifactStagingDirectory) condition: succeededOrFailed() + displayName: "Copy Reports & Logs" - task: PublishBuildArtifacts@1 inputs: pathToPublish: $(Build.ArtifactStagingDirectory) From 0053e53d9b2627b58ca040687adb0d5269c5afe0 Mon Sep 17 00:00:00 2001 From: "Kerwin(Kaihui) Sun" Date: Mon, 5 Jul 2021 16:04:58 +0800 Subject: [PATCH 38/85] [Confluent] Remove isRIRequired and msrp in price of `az confluent offer-detail show` (#3569) --- src/confluent/azext_confluent/manual/custom.py | 5 ++++- .../tests/latest/test_confluent_scenario.py | 2 ++ .../tests/latest/test_confluent_scenario_coverage.md | 12 ++++++------ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/confluent/azext_confluent/manual/custom.py b/src/confluent/azext_confluent/manual/custom.py index e995331fd26..a491060af4c 100644 --- a/src/confluent/azext_confluent/manual/custom.py +++ b/src/confluent/azext_confluent/manual/custom.py @@ -113,7 +113,10 @@ def confluent_offer_detail_show(cmd, publisher_id=None, offer_id=None): 'offerId': offer_id, 'publisherId': publisher_id, 'termUnits':[{ - 'price': item['price'], + 'price': { + 'currencyCode': item['price']['currencyCode'], + 'listPrice': item['price']['listPrice'] + }, 'termDescription': item['termDescription'], 'termUnits': item['termUnits'] } for a in plan['availabilities'] for item in a['terms']] diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py index f855240a37a..24650b54a0f 100644 --- a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py @@ -47,6 +47,8 @@ def step_offer_detail_show(test, rg, checks=None): if term_unit.get('termUnits', None): assert term_unit['termUnits'] in ['P1M', 'P1Y'] assert term_unit.get('price', None) is not None + assert term_unit['price'].get('isPIRequired', None) is None + assert term_unit['price'].get('msrp', None) is None assert term_unit.get('termDescription', None) is not None diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md index 789db8ad7d9..338b827661b 100644 --- a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md @@ -1,8 +1,8 @@ |Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| -|step_terms_list|successed||||2021-06-21 02:44:44.694501|2021-06-21 02:44:44.946485| -|step_organization_show|successed||||2021-06-21 02:44:45.356491|2021-06-21 02:44:45.449457| -|step_organization_list|successed||||2021-06-21 02:44:45.449457|2021-06-21 02:44:45.571478| -|step_organization_list2|successed||||2021-06-21 02:44:45.572449|2021-06-21 02:44:45.670480| -|step_organization_update|successed||||2021-06-21 02:44:45.671479|2021-06-21 02:44:45.766477| -|step_organization_delete|successed||||2021-06-21 02:44:45.767451|2021-06-21 02:44:45.991454| +|step_terms_list|successed||||2021-07-01 10:18:02.406899|2021-07-01 10:18:02.587908| +|step_organization_show|successed||||2021-07-01 10:18:02.902892|2021-07-01 10:18:02.999867| +|step_organization_list|successed||||2021-07-01 10:18:02.999867|2021-07-01 10:18:03.094902| +|step_organization_list2|successed||||2021-07-01 10:18:03.094902|2021-07-01 10:18:03.190902| +|step_organization_update|successed||||2021-07-01 10:18:03.190902|2021-07-01 10:18:03.287868| +|step_organization_delete|successed||||2021-07-01 10:18:03.287868|2021-07-01 10:18:03.506873| Coverage: 6/6 From e44bb6203ef4b3533c88310af93726a53aef1ddf Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Tue, 6 Jul 2021 13:26:07 +0800 Subject: [PATCH 39/85] unping azdev version (#3585) --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 88ed55eb08b..7b69763056f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -55,7 +55,7 @@ jobs: git clone -q --single-branch -b dev https://github.com/Azure/azure-cli.git ../azure-cli python -m pip install -U pip - pip install -q azdev==0.1.31 + pip install -q azdev azdev setup -c ../azure-cli -r ./ @@ -140,7 +140,7 @@ jobs: git clone --single-branch -b dev https://github.com/Azure/azure-cli.git ../azure-cli python -m pip install -U pip - pip install azdev==0.1.31 + pip install azdev azdev --version From b4e070979e7117ede83702ba3d3f19bfb5327955 Mon Sep 17 00:00:00 2001 From: bettinaheim <34236215+bettinaheim@users.noreply.github.com> Date: Tue, 6 Jul 2021 08:39:48 -0700 Subject: [PATCH 40/85] Updating the quantum extension to add simulator support (#3575) This PR edits the output function to allow for jobs that run on the simulator to have output logged during execution that is not in json format. For simulator jobs, we expect the job result to be printed as the last item on its own line, and string output to be enclosed with `"`. --- src/quantum/azext_quantum/commands.py | 2 +- src/quantum/azext_quantum/operations/job.py | 24 ++++++++++++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/quantum/azext_quantum/commands.py b/src/quantum/azext_quantum/commands.py index 8dba4d30994..b99e711e29c 100644 --- a/src/quantum/azext_quantum/commands.py +++ b/src/quantum/azext_quantum/commands.py @@ -64,7 +64,7 @@ def one(key, value): return OrderedDict([ ('Result', key), ('Frequency', f"{value:10.8f}"), - ('', f"\u2590{barra:<22} |"), + ('', f"\u007C{barra:^20}\u007C") ]) if 'Histogram' in results: diff --git a/src/quantum/azext_quantum/operations/job.py b/src/quantum/azext_quantum/operations/job.py index 97cedc129a1..776f7c51bf0 100644 --- a/src/quantum/azext_quantum/operations/job.py +++ b/src/quantum/azext_quantum/operations/job.py @@ -186,16 +186,15 @@ def output(cmd, job_id, resource_group_name=None, workspace_name=None, location= from azure.cli.command_modules.storage._client_factory import blob_data_service_factory path = os.path.join(tempfile.gettempdir(), job_id) + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + job = client.get(job_id) if os.path.exists(path): logger.debug("Using existing blob from %s", path) else: logger.debug("Downloading job results blob into %s", path) - info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) - client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) - job = client.get(job_id) - if job.status != "Succeeded": return f"Job status: {job.status}. Output only available if Succeeded." @@ -204,7 +203,22 @@ def output(cmd, job_id, resource_group_name=None, workspace_name=None, location= blob_service.get_blob_to_path(args['container'], args['blob'], path) with open(path) as json_file: - data = json.load(json_file) + if job.target.startswith("microsoft.simulator"): + + lines = [line.strip() for line in json_file.readlines()] + result_start_line = len(lines) - 1 + if lines[-1].endswith('"'): + while not lines[result_start_line].startswith('"'): + result_start_line -= 1 + + print('\n'.join(lines[:result_start_line])) + result = ' '.join(lines[result_start_line:])[1:-1] # seems the cleanest version to display + print("_" * len(result) + "\n") + + json_string = "{ \"histogram\" : { \"" + result + "\" : 1 } }" + data = json.loads(json_string) + else: + data = json.load(json_file) return data From 4bf901782ef3d1606545f691c76befdfa9b693b9 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Tue, 6 Jul 2021 20:39:05 -0700 Subject: [PATCH 41/85] [k8s-extension] Release v0.5.0 of extension customizations (#3545) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model * Stage Public Version of k8s-extension 0.2.0 for official release (#15) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model Co-authored-by: action@github.com * Remove custom pipelines file * Update extension description, remove private const * Update pipeline file * Disable refs docs * Update to include better create warning logs and remove update context (#20) * Update to include better create warning logs and remove update context * Remove help text for update * Fix spelling error * Update message * Fix k8s-extension conflict with private version * Fix style errors * Fix filename * add customization for microsoft.azureml.kubernetes (#23) * add customization for microsoft.azureml.kubernetes * Update release history Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Add E2E Testing from Separate branch into internal code (#26) * Add internal e2e testing * Change to testing folder * Inference CLI validation for Scoring FE (#24) * cli validation starter * added the call to the fe validation function * nodeport validation not required * test fix Co-authored-by: Jonathan Innis * legal warning added (#27) * Remove deprecated method logger.warn * Update k8s-custom-pipelines.yml for Azure Pipelines * Update k8s-custom-pipelines.yml for Azure Pipelines * Add Azure Defender to E2E testing (#28) * Add azure defender testing to e2e * Remove the debug flag * Add configuration testing * Fix pipeline failures * Make test script more intuitive * Remove parameter from testing * Fix wrong location for k8s config whl * Fix pip upgrade issue * Fix pip install upgrade issue * Fix pip install issue * delete resurce in testcase (#29) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Check Provider is Registered with Subscription Before Making Requests (#18) * Add check for KubernetesConfiguration * Disable pylint and rename * Update provider registration link * Update version * Remove extra blank line * Fix bug in import * only validate scoring fe when inference is enabled (#31) * only validate scoring fe when inference is enabled * Fix versioning Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Provider registration case insensitive * do not validate against scoring fe if inference is not enabled. (#33) * do not validate against scoring fe if inference is not enabled. * add inference enabled scenario * refine * increase sleeping time * fix Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Add OSM as Public Preview Extension (#34) * Add OSM as public preview extension * Add osm testing * Add release train to tests * Fix failing osm test * Upgrade pip in integration testing * Remove ununsed import * Fix release train check in update * Parallelize E2E Testing (#36) * Add OSM as public preview extension * Add osm testing * Update test logic to parallelize * Fix test success checking * Parallelize extension testing * Better error checking logic * Fix azureml deletion * Fix private build (#40) * change amlk8s to amlarc (#42) Co-authored-by: Yue Yu * Servicebus client model changes (#44) * Servicebus client model changes * Fix testing script * Update history file and pipeline * Update min cli core version for track 2 updates * Read SSL cert and key from files (#38) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments Co-authored-by: Jonathan Innis * Upgrade release version * Liakaz/inference read ssl from file (#47) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments * fixed decode error * renamed the experimental param Co-authored-by: Jonathan Innis * Fix style issues (#51) * Fixed scoring fe related extension param names (#49) * fixed scoring fe related extension params * bug fix and style fixes * variable rename * fixed the error type * set cluster to prod by default * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#53) removed release-train logic * Add Custom Delete Logic for Partners (#54) * Add custom delete logic * Fix failing unit tests * Add warning message when deleting amlarc extension (#55) * add warning message * fix indentation * Update release version Co-authored-by: action@github.com Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Co-authored-by: Niranjan Shankar Co-authored-by: jingyizhu99 <83610845+jingyizhu99@users.noreply.github.com> --- src/k8s-extension/HISTORY.rst | 6 +- .../azext_k8s_extension/custom.py | 11 ++ .../partner_extensions/AzureDefender.py | 3 + .../partner_extensions/AzureMLKubernetes.py | 8 +- .../partner_extensions/Cassandra.py | 3 + .../partner_extensions/ContainerInsights.py | 3 + .../partner_extensions/DefaultExtension.py | 3 + .../partner_extensions/OpenServiceMesh.py | 117 ++++++++++--- .../PartnerExtensionModel.py | 4 + .../latest/recordings/test_k8s_extension.yaml | 158 ++++++++++++++---- .../latest/test_k8s_extension_scenario.py | 9 +- .../tests/latest/test_open_service_mesh.py | 22 +++ src/k8s-extension/setup.py | 6 +- 13 files changed, 291 insertions(+), 62 deletions(-) create mode 100644 src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 4a96664d562..eeed091c6cc 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,11 +3,15 @@ Release History =============== +0.5.0 +++++++++++++++++++ +* Add microsoft.openservicemesh customization to check distros +* Delete customization for partners + 0.4.3 ++++++++++++++++++ * Add SSL support for AzureML - 0.4.2 ++++++++++++++++++ diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index 504539179d1..8d6b82d1885 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -195,6 +195,17 @@ def delete_k8s_extension(client, resource_group_name, cluster_name, name, cluste """ # Determine ClusterRP cluster_rp = __get_cluster_rp(cluster_type) + extension = None + try: + extension = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) + except ErrorResponseException: + logger.warning("No extension with name '%s' found on cluster '%s', so nothing to delete", cluster_name, name) + return None + extension_class = ExtensionFactory(extension.extension_type.lower()) + + # If there is any custom delete logic, this will call the logic + extension_class.Delete(client, resource_group_name, cluster_name, name, cluster_type) + return client.delete(resource_group_name, cluster_rp, cluster_type, cluster_name, name) diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py index a3e805006de..ffb6a926328 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py @@ -70,3 +70,6 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index bd49a164a3b..9f6aff45aac 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -162,6 +162,12 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): version=version ) + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + # Give a warning message + logger.warning("If nvidia.com/gpu or fuse resource is not recognized by kubernetes after this deletion, " + "you probably have installed nvidia-device-plugin or fuse-device-plugin before installing AMLArc extension. " + "Please try to reinstall device plugins to fix this issue.") + def __validate_config(self, configuration_settings, configuration_protected_settings): # perform basic validation of the input config config_keys = configuration_settings.keys() @@ -226,7 +232,7 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p if feIsNodePort and feIsInternalLoadBalancer: raise MutuallyExclusiveArgumentError( "Specify either privateEndpointNodeport=true or privateEndpointILB=true, but not both.") - elif feIsNodePort: + if feIsNodePort: configuration_settings['scoringFe.serviceType.nodePort'] = feIsNodePort elif feIsInternalLoadBalancer: configuration_settings['scoringFe.serviceType.internalLoadBalancer'] = feIsInternalLoadBalancer diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py index 2357bf08af6..289e8053223 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py @@ -55,3 +55,6 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py index e42f22199da..1c2a334cdda 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py @@ -82,6 +82,9 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): version=version ) + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass + # Custom Validation Logic for Container Insights diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py index a72aef847fc..8977ec4187e 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py @@ -55,3 +55,6 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index 6d11064821c..c5ad73ac35f 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -4,21 +4,39 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=unused-argument +# pylint: disable=redefined-outer-name +# pylint: disable=no-member -from azure.cli.core.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError from knack.log import get_logger -from ..vendored_sdks.models import ExtensionInstance -from ..vendored_sdks.models import ExtensionInstanceUpdate -from ..vendored_sdks.models import ScopeCluster -from ..vendored_sdks.models import Scope +from azure.cli.core.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError +from azure.cli.core.commands.client_factory import get_subscription_id + +from pyhelm.chartbuilder import ChartBuilder +from pyhelm.repo import VersionError +from packaging import version +import yaml + +from ..partner_extensions import PartnerExtensionModel from .PartnerExtensionModel import PartnerExtensionModel +from ..vendored_sdks.models import ( + ExtensionInstance, + ExtensionInstanceUpdate, + ScopeCluster, + Scope +) + +from .._client_factory import cf_resources + logger = get_logger(__name__) class OpenServiceMesh(PartnerExtensionModel): + CHART_NAME = "osm-arc" + CHART_LOCATION = "https://azure.github.io/osm-azure" + def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_type, extension_type, scope, auto_upgrade_minor_version, release_train, version, target_namespace, release_namespace, configuration_settings, configuration_protected_settings, @@ -38,30 +56,21 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t scope_cluster = ScopeCluster(release_namespace=release_namespace) ext_scope = Scope(cluster=scope_cluster, namespace=None) - valid_release_trains = ['staging', 'pilot'] - # If release-train is not input, set it to 'stable' - if release_train is None: + # version is a mandatory if release-train is staging or pilot + if version is None: raise RequiredArgumentMissingError( - "A release-train must be provided. Valid values are 'staging', 'pilot'." - ) - - if release_train.lower() in valid_release_trains: - # version is a mandatory if release-train is staging or pilot - if version is None: - raise RequiredArgumentMissingError( - "A version must be provided for release-train {}.".format(release_train) - ) - # If the release-train is 'staging' or 'pilot' then auto-upgrade-minor-version MUST be set to False - if auto_upgrade_minor_version or auto_upgrade_minor_version is None: - auto_upgrade_minor_version = False - logger.warning("Setting auto-upgrade-minor-version to False since release-train is '%s'", release_train) - else: - raise InvalidArgumentValueError( - "Invalid release-train '{}'. Valid values are 'staging', 'pilot'.".format(release_train) + "A version must be provided for release-train {}.".format(release_train) ) + # If the release-train is 'staging' or 'pilot' then auto-upgrade-minor-version MUST be set to False + if auto_upgrade_minor_version or auto_upgrade_minor_version is None: + auto_upgrade_minor_version = False + logger.warning("Setting auto-upgrade-minor-version to False since release-train is '%s'", release_train) # NOTE-2: Return a valid ExtensionInstance object, Instance name and flag for Identity create_identity = False + + _validate_tested_distro(cmd, resource_group_name, cluster_name, version) + extension_instance = ExtensionInstance( extension_type=extension_type, auto_upgrade_minor_version=auto_upgrade_minor_version, @@ -93,3 +102,63 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass + + +def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version): + + field_unavailable_error = '\"testedDistros\" field unavailable for version {0} of microsoft.openservicemesh, ' \ + 'cannot determine if this Kubernetes distribution has been properly tested'.format(extension_version) + + if version.parse(str(extension_version)) <= version.parse("0.8.3"): + logger.warning(field_unavailable_error) + return + + subscription_id = get_subscription_id(cmd.cli_ctx) + resources = cf_resources(cmd.cli_ctx, subscription_id) + + cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Kubernetes' \ + '/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name) + + resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview') + cluster_distro = resource.properties['distribution'].lower() + + if cluster_distro == "general": + logger.warning('Unable to determine if distro has been tested for microsoft.openservicemesh, ' + 'kubernetes distro: \"general\"') + return + + tested_distros = _get_tested_distros(extension_version) + + if tested_distros is None: + logger.warning(field_unavailable_error) + elif cluster_distro not in tested_distros.split(): + logger.warning('Untested kubernetes distro for microsoft.openservicemesh, Kubernetes distro is %s', + cluster_distro) + + +def _get_tested_distros(chart_version): + + try: + chart_arc = ChartBuilder({ + "name": OpenServiceMesh.CHART_NAME, + "version": str(chart_version), + "source": { + "type": "repo", + "location": OpenServiceMesh.CHART_LOCATION + } + }) + except VersionError: + raise InvalidArgumentValueError( + "Invalid version '{}' for microsoft.openservicemesh".format(chart_version) + ) + + values = chart_arc.get_values() + values_yaml = yaml.load(values.raw, Loader=yaml.FullLoader) + + try: + return values_yaml['OpenServiceMesh']['testedDistros'] + except KeyError: + return None diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py index b8cb01334d3..98a6c1ea63f 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py @@ -21,3 +21,7 @@ def Create(self, cmd, client, resource_group_name: str, cluster_name: str, name: def Update(self, extension: ExtensionInstance, auto_upgrade_minor_version: bool, release_train: str, version: str) -> ExtensionInstanceUpdate: pass + + @abstractmethod + def Delete(self, client, resource_group_name: str, cluster_name: str, name: str, cluster_type: str): + pass diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml b/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml index 127b21ac873..c55ebb0a737 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml @@ -1,9 +1,58 @@ interactions: - request: - body: '{"properties": {"extensionType": "microsoft.openservicemesh", "autoUpgradeMinorVersion": - false, "releaseTrain": "staging", "version": "0.1.0", "scope": {"cluster": {}}, - "configurationSettings": {}, "configurationProtectedSettings": {}}, "location": - ""}' + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-extension create + Connection: + - keep-alive + ParameterSetName: + - -g -n -c --cluster-type --extension-type --release-train --version + User-Agent: + - AZURECLI/2.24.2 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","South Central US","East US + 2","North Europe","UK South","Southeast Asia","Australia East","France Central","East + US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","South Central US","East US + 2","North Europe","UK South","Southeast Asia","Australia East","France Central","East + US 2 EUAP"],"apiVersions":["2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '1654' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 23:19: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": "", "properties": {"extensionType": "microsoft.openservicemesh", + "autoUpgradeMinorVersion": false, "releaseTrain": "pilot", "version": "0.8.3", + "scope": {"cluster": {}}, "configurationSettings": {}, "configurationProtectedSettings": + {}}}' headers: Accept: - application/json @@ -14,32 +63,32 @@ interactions: Connection: - keep-alive Content-Length: - - '252' + - '250' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n -c --cluster-type --extension-type --release-train --version User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh?api-version=2020-07-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh","name":"openservice-mesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"staging","version":"0.1.0","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-03-08T23:14:12.4010326+00:00","lastModifiedTime":"2021-03-08T23:14:12.4010327+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: - - '708' + - '704' content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:11 GMT + - Tue, 22 Jun 2021 23:19:13 GMT expires: - '-1' pragma: @@ -74,25 +123,25 @@ interactions: - -c -g --cluster-type User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2020-07-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh","name":"openservice-mesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"staging","version":"0.1.0","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-03-08T23:14:12.4010326+00:00","lastModifiedTime":"2021-03-08T23:14:12.4010327+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/hci22jan21","name":"hci22jan21","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azstackhci.operator","autoUpgradeMinorVersion":true,"releaseTrain":"stable","version":"1.0.0","scope":{"cluster":{"releaseNamespace":null}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-01-22T20:49:34.3336157+00:00","lastModifiedTime":"2021-01-22T20:49:34.3336249+00:00"}}],"nextLink":null}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/hci22jan21","name":"hci22jan21","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azstackhci.operator","autoUpgradeMinorVersion":true,"releaseTrain":"stable","version":"1.0.0","scope":{"cluster":{"releaseNamespace":null}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-01-22T20:49:34.3336157+00:00","lastModifiedTime":"2021-01-22T20:49:34.3336249+00:00"}}],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: - - '1341' + - '1337' content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:13 GMT + - Tue, 22 Jun 2021 23:19:14 GMT expires: - '-1' pragma: @@ -125,25 +174,76 @@ interactions: - -c -g -n --cluster-type User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}}' + headers: + api-supported-versions: + - 2020-07-01-Preview, 2021-05-01-preview + cache-control: + - no-cache + content-length: + - '704' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 23:19:15 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: + - k8s-extension delete + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh?api-version=2020-07-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh","name":"openservice-mesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"staging","version":"0.1.0","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-03-08T23:14:12.4010326+00:00","lastModifiedTime":"2021-03-08T23:14:12.4010327+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: - - '708' + - '704' content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:14 GMT + - Tue, 22 Jun 2021 23:19:16 GMT expires: - '-1' pragma: @@ -178,17 +278,17 @@ interactions: - -g -c -n --cluster-type -y User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh?api-version=2020-07-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview response: body: string: '{"content":null,"statusCode":200,"headers":[],"version":"1.1","reasonPhrase":"OK","trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: @@ -196,7 +296,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:14 GMT + - Tue, 22 Jun 2021 23:19:17 GMT expires: - '-1' pragma: @@ -231,7 +331,7 @@ interactions: - -c -g --cluster-type User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: GET @@ -241,7 +341,7 @@ interactions: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/hci22jan21","name":"hci22jan21","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azstackhci.operator","autoUpgradeMinorVersion":true,"releaseTrain":"stable","version":"1.0.0","scope":{"cluster":{"releaseNamespace":null}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-01-22T20:49:34.3336157+00:00","lastModifiedTime":"2021-01-22T20:49:34.3336249+00:00"}}],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: @@ -249,7 +349,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:16 GMT + - Tue, 22 Jun 2021 23:19:19 GMT expires: - '-1' pragma: diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py index 010df2e3077..53db4ce2c2d 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py @@ -6,7 +6,7 @@ # pylint: disable=line-too-long import os -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) +from azure.cli.testsdk import (ScenarioTest, record_only) TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) @@ -14,17 +14,16 @@ class K8sExtensionScenarioTest(ScenarioTest): @record_only() - @ResourceGroupPreparer(name_prefix='cli_test_k8s_extension') def test_k8s_extension(self): resource_type = 'microsoft.openservicemesh' self.kwargs.update({ - 'name': 'openservice-mesh', + 'name': 'openservicemesh', 'rg': 'nanthirg0923', 'cluster_name': 'nanthicluster0923', 'cluster_type': 'connectedClusters', 'extension_type': resource_type, - 'release_train': 'staging', - 'version': '0.1.0' + 'release_train': 'pilot', + 'version': '0.8.3' }) self.cmd('k8s-extension create -g {rg} -n {name} -c {cluster_name} --cluster-type {cluster_type} ' diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py new file mode 100644 index 00000000000..72e94a06831 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=protected-access + +import os +import unittest + +from azure.cli.core.azclierror import InvalidArgumentValueError +from azext_k8s_extension.partner_extensions.OpenServiceMesh import _get_tested_distros + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + +class TestOpenServiceMesh(unittest.TestCase): + def test_bad_osm_arc_version(self): + version = "0.7.1" + err = "Invalid version \'" + str(version) + "\' for microsoft.openservicemesh" + with self.assertRaises(InvalidArgumentValueError) as argError: + _get_tested_distros(version) + self.assertEqual(str(argError.exception), err) diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 7937b085006..a8400af15cc 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -30,9 +30,11 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = [] +DEPENDENCIES = [ + 'pyhelm' +] -VERSION = "0.4.3" +VERSION = "0.5.0" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From c95c1212e3faa42bd7568ef7d38d84422b638da0 Mon Sep 17 00:00:00 2001 From: David Michelman Date: Wed, 7 Jul 2021 18:26:23 -0700 Subject: [PATCH 42/85] David/aks monitoring aad auth (#3594) * about to add check for if DCR is available in regions * tested * forgot to remove an exception * fixed linter problems * fixed some linter errors * fixing linter errors * fixing some feedback, more to come * fixed all feedback and a bug * cleanup * addressed comments and static analyzer errors * Update src/aks-preview/azext_aks_preview/_help.py Co-authored-by: Xing Zhou * Update src/aks-preview/azext_aks_preview/_help.py Co-authored-by: Xing Zhou * fix linter error * fixed small errors * added unit tests, cleaned up the msi/sp auth check * adding unit tests * commenting out tests which require a subscription-level feature flag * uncommented tests, put them in a list to not run * bumping version number Co-authored-by: Xing Zhou --- src/aks-preview/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index b23e457def9..7c41e65e76f 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.5.19" +VERSION = "0.5.20" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', From 25effe72eaa56e051a4f70a44f3faf5f3ababa51 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 8 Jul 2021 09:48:35 +0800 Subject: [PATCH 43/85] [Release] Update index.json for extension [ k8s-extension ] (#3591) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=986069 Last commit: https://github.com/Azure/azure-cli-extensions/commit/4bf901782ef3d1606545f691c76befdfa9b693b9 --- src/index.json | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/index.json b/src/index.json index 027c1cfd12d..0f531c1ee7c 100644 --- a/src/index.json +++ b/src/index.json @@ -12561,6 +12561,57 @@ "version": "0.4.3" }, "sha256Digest": "67dc73f1e12d5e0084963a73c4a8f4e3adc06785f3ab51c5e0ee1f801fbca0d4" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.5.0-py3-none-any.whl", + "filename": "k8s_extension-0.5.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.24.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" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "k8s-extension", + "run_requires": [ + { + "requires": [ + "pyhelm" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", + "version": "0.5.0" + }, + "sha256Digest": "82bb4f809cc5b6fe6b998e78adf6ca3b5b50de02f998c180441d9d66e7cc4875" } ], "k8sconfiguration": [ From 474a7aa71920dfe14bb155aedf3ee585d254a25c Mon Sep 17 00:00:00 2001 From: David Michelman Date: Wed, 7 Jul 2021 19:44:07 -0700 Subject: [PATCH 44/85] bug fix for aks monitoring enablement/disablement (#3596) * about to add check for if DCR is available in regions * tested * forgot to remove an exception * fixed linter problems * fixed some linter errors * fixing linter errors * fixing some feedback, more to come * fixed all feedback and a bug * cleanup * addressed comments and static analyzer errors * Update src/aks-preview/azext_aks_preview/_help.py Co-authored-by: Xing Zhou * Update src/aks-preview/azext_aks_preview/_help.py Co-authored-by: Xing Zhou * fix linter error * fixed small errors * added unit tests, cleaned up the msi/sp auth check * adding unit tests * commenting out tests which require a subscription-level feature flag * uncommented tests, put them in a list to not run * bumping version number * fixed a bug in regions where DCRs are not enabled Co-authored-by: Xing Zhou --- src/aks-preview/azext_aks_preview/custom.py | 4 +-- .../tests/latest/test_aks_commands.py | 26 +++++++++++++++++-- src/aks-preview/setup.py | 2 +- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index f50aba90bca..5e5d4336899 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -3418,7 +3418,7 @@ def aks_disable_addons(cmd, client, resource_group_name, name, addons, no_wait=F if addons == "monitoring" and CONST_MONITORING_ADDON_NAME in instance.addon_profiles and \ instance.addon_profiles[CONST_MONITORING_ADDON_NAME].enabled and \ CONST_MONITORING_USING_AAD_MSI_AUTH in instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config and \ - instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]: + str(instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]).lower() == 'true': # remove the DCR association because otherwise the DCR can't be deleted _ensure_container_insights_for_monitoring( cmd, @@ -3465,7 +3465,7 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_ if CONST_MONITORING_ADDON_NAME in instance.addon_profiles and instance.addon_profiles[CONST_MONITORING_ADDON_NAME].enabled: if CONST_MONITORING_USING_AAD_MSI_AUTH in instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config and \ - instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]: + str(instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]).lower() == 'true': if not msi_auth: raise ArgumentUsageError("--enable-msi-auth-for-monitoring can not be used on clusters with service principal auth.") else: 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 c54257888b2..876ba3418c3 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 @@ -1306,11 +1306,33 @@ def test_aks_create_with_monitoring_legacy_auth(self, resource_group, resource_g '--generate-ssh-keys --enable-managed-identity ' \ '--enable-addons monitoring ' \ '--node-count 1 ' - self.cmd(create_cmd, checks=[ + response = self.cmd(create_cmd, checks=[ self.check('addonProfiles.omsagent.enabled', True), self.exists('addonProfiles.omsagent.config.logAnalyticsWorkspaceResourceID'), self.check('addonProfiles.omsagent.config.useAADAuth', 'False') - ]) + ]).get_output_in_json() + + # make sure a DCR was not created + + cluster_resource_id = response["id"] + subscription = cluster_resource_id.split("/")[2] + workspace_resource_id = response["addonProfiles"]["omsagent"]["config"]["logAnalyticsWorkspaceResourceID"] + workspace_name = workspace_resource_id.split("/")[-1] + workspace_resource_group = workspace_resource_id.split("/")[4] + + try: + # check that the DCR was created + dataCollectionRuleName = f"DCR-{workspace_name}" + dcr_resource_id = f"/subscriptions/{subscription}/resourceGroups/{workspace_resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" + get_cmd = f'rest --method get --url https://management.azure.com{dcr_resource_id}?api-version=2019-11-01-preview' + self.cmd(get_cmd, checks=[ + self.check('properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') + ]) + + assert False + except Exception as err: + pass # this is expected + # make sure monitoring can be smoothly disabled self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 7c41e65e76f..fa4e30ceeb1 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.5.20" +VERSION = "0.5.21" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', From fdb5e7ff11823f0a0e0079a9e88a2b22f6701502 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 8 Jul 2021 11:07:41 +0800 Subject: [PATCH 45/85] [Release] Update index.json for extension [ aks-preview ] (#3598) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=988484 Last commit: https://github.com/Azure/azure-cli-extensions/commit/474a7aa71920dfe14bb155aedf3ee585d254a25c --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 0f531c1ee7c..cb24cc4f85c 100644 --- a/src/index.json +++ b/src/index.json @@ -3132,6 +3132,49 @@ "version": "0.5.19" }, "sha256Digest": "ea42777c9a90295667bc3dc2154f3f3c9f122f884fd7dea661d4948d81dc0b63" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.21-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.21-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 :: 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/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.21" + }, + "sha256Digest": "8035103b7eb04451b596d70d03f7b1685418e6679c143db5cf6ca70d91e65848" } ], "alertsmanagement": [ From 551479b578480b73e86bde9bed004093e9b09100 Mon Sep 17 00:00:00 2001 From: Yishi Wang Date: Thu, 8 Jul 2021 11:09:00 +0800 Subject: [PATCH 46/85] [datafactory] GA datafactory (#3597) * GA * Update .github/CODEOWNERS --- .github/CODEOWNERS | 2 +- src/datafactory/HISTORY.rst | 4 ++++ src/datafactory/azext_datafactory/azext_metadata.json | 1 - src/datafactory/azext_datafactory/generated/commands.py | 2 +- src/datafactory/azext_datafactory/manual/version.py | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 606a16aaedf..f7c551a30b6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -138,7 +138,7 @@ /src/costmanagement/ @kairu-ms @jsntcy -/src/datafactory/ @qiaozha @fengzhou-msft @qwordy +/src/datafactory/ @kairu-ms @evelyn-ys @Juliehzl /src/blockchain/ @jsntcy diff --git a/src/datafactory/HISTORY.rst b/src/datafactory/HISTORY.rst index f03bb41574e..f4e5240e156 100644 --- a/src/datafactory/HISTORY.rst +++ b/src/datafactory/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.4.0 ++++++ +* GA the whole module + 0.3.0 +++++ * [BREAKING CHANGE] Renamed command subgroup `az datafactory factory` to `az datafactory`. diff --git a/src/datafactory/azext_datafactory/azext_metadata.json b/src/datafactory/azext_datafactory/azext_metadata.json index cfc30c747c7..3695b0d7077 100644 --- a/src/datafactory/azext_datafactory/azext_metadata.json +++ b/src/datafactory/azext_datafactory/azext_metadata.json @@ -1,4 +1,3 @@ { - "azext.isExperimental": true, "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/datafactory/azext_datafactory/generated/commands.py b/src/datafactory/azext_datafactory/generated/commands.py index df59d171a88..83b7f9db34e 100644 --- a/src/datafactory/azext_datafactory/generated/commands.py +++ b/src/datafactory/azext_datafactory/generated/commands.py @@ -20,7 +20,7 @@ def load_command_table(self, _): operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._factories_operations#FactoriesOperatio' 'ns.{}', client_factory=cf_factory) - with self.command_group('datafactory', datafactory_factory, client_factory=cf_factory, is_experimental=True) as g: + with self.command_group('datafactory', datafactory_factory, client_factory=cf_factory) as g: g.custom_command('list', 'datafactory_list') g.custom_show_command('show', 'datafactory_show') g.custom_command('create', 'datafactory_create') diff --git a/src/datafactory/azext_datafactory/manual/version.py b/src/datafactory/azext_datafactory/manual/version.py index c061ba7d594..8e3e0e73f37 100644 --- a/src/datafactory/azext_datafactory/manual/version.py +++ b/src/datafactory/azext_datafactory/manual/version.py @@ -8,4 +8,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.3.0" +VERSION = "0.4.0" From 7c6f92ba11c1f48780921aab3fa966e7044293ca Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 8 Jul 2021 11:49:53 +0800 Subject: [PATCH 47/85] [Release] Update index.json for extension [ datafactory ] (#3599) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=988538 Last commit: https://github.com/Azure/azure-cli-extensions/commit/551479b578480b73e86bde9bed004093e9b09100 --- src/index.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/index.json b/src/index.json index cb24cc4f85c..03c3920ae35 100644 --- a/src/index.json +++ b/src/index.json @@ -8828,6 +8828,48 @@ "version": "0.3.0" }, "sha256Digest": "0d68e01c4b7ef9ce6ccf7f2594f3faf19600dbb8ec7d395bc9ad4b4bdab8a245" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/datafactory-0.4.0-py3-none-any.whl", + "filename": "datafactory-0.4.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.15.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/tree/master/src/datafactory" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datafactory", + "summary": "Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension", + "version": "0.4.0" + }, + "sha256Digest": "95c6024d8fd35fca5280de274660abb3f249af868c6f5b75c3581df536ff4a13" } ], "dataprotection": [ From 97c5f48b27087f8268ccccba307b4500ad7b1d19 Mon Sep 17 00:00:00 2001 From: "Kerwin(Kaihui) Sun" Date: Thu, 8 Jul 2021 14:39:46 +0800 Subject: [PATCH 48/85] [Confluent] Add new test flow and fix bugs (#3587) --- src/confluent/HISTORY.rst | 5 + .../azext_confluent/azext_metadata.json | 2 +- .../azext_confluent/manual/custom.py | 9 +- .../test_term_accept_basic_flow.yaml | 1991 +++++++++++++++++ .../test_confluent_scenario_coverage.md | 12 +- .../latest/test_confluent_term_accept_flow.py | 62 + src/confluent/setup.py | 2 +- 7 files changed, 2072 insertions(+), 11 deletions(-) create mode 100644 src/confluent/azext_confluent/tests/latest/recordings/test_term_accept_basic_flow.yaml create mode 100644 src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.py diff --git a/src/confluent/HISTORY.rst b/src/confluent/HISTORY.rst index 070d3eec319..af6d1905d18 100644 --- a/src/confluent/HISTORY.rst +++ b/src/confluent/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.3.0 ++++++ +* `az confluent offer-detail show`: Remove the properties `isRIRequired` and `msrp` from the output. +* `az confluent organization create`: Fix the issue that organization cannot be created with owner/contributor role through a SG assignment. + 0.2.0 +++++ * [BREAKING CHANGE] `az confluent organization create`: Remove `--user-detail`, the parameter is now auto-filled by the email address, first name and last name decoded from access token. diff --git a/src/confluent/azext_confluent/azext_metadata.json b/src/confluent/azext_confluent/azext_metadata.json index e8ea26c5e57..d2550b4b13d 100644 --- a/src/confluent/azext_confluent/azext_metadata.json +++ b/src/confluent/azext_confluent/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.17.0" + "azext.minCliCoreVersion": "2.25.0" } diff --git a/src/confluent/azext_confluent/manual/custom.py b/src/confluent/azext_confluent/manual/custom.py index a491060af4c..a298ae9f4b0 100644 --- a/src/confluent/azext_confluent/manual/custom.py +++ b/src/confluent/azext_confluent/manual/custom.py @@ -29,7 +29,10 @@ def confluent_organization_create(cmd, from azure.cli.command_modules.role.custom import list_role_assignments token_info = Profile(cli_ctx=cmd.cli_ctx).get_raw_token()[0][2] - decode = jwt.decode(token_info['accessToken'], verify=False, algorithms=['RS256']) + # PyJWT < 2.0.0 is using `verify` to verify token + # PyJWT >= 2.0.0 has moved this paramter in options + # For compatibility, keep two options for now. + decode = jwt.decode(token_info['accessToken'], algorithms=['RS256'], verify=False, options={"verify_signature": False}) body = {} body['user_detail'] = {} try: @@ -42,8 +45,8 @@ def confluent_organization_create(cmd, # Check owner or contributor role of subscription user_object_id = decode['oid'] - role_assignments = list_role_assignments(cmd, assignee=user_object_id, role='Owner') + \ - list_role_assignments(cmd, assignee=user_object_id, role='Contributor') + role_assignments = list_role_assignments(cmd, assignee=user_object_id, role='Owner', include_inherited=True, include_groups=True) + \ + list_role_assignments(cmd, assignee=user_object_id, role='Contributor', include_inherited=True, include_groups=True) if not role_assignments: raise UnauthorizedError('You must have Owner or Contributor role of the subscription to create an organization.') diff --git a/src/confluent/azext_confluent/tests/latest/recordings/test_term_accept_basic_flow.yaml b/src/confluent/azext_confluent/tests/latest/recordings/test_term_accept_basic_flow.yaml new file mode 100644 index 00000000000..67544b3dd30 --- /dev/null +++ b/src/confluent/azext_confluent/tests/latest/recordings/test_term_accept_basic_flow.yaml @@ -0,0 +1,1991 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent offer-detail show + Connection: + - keep-alive + ParameterSetName: + - --publisher-id --offer-id + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) AZURECLI/2.26.0 + method: GET + uri: https://management.azure.com/providers/Microsoft.Marketplace/offers/confluentinc.confluent-cloud-azure-stag?excludePublic=true&api-version=2018-08-01-beta + response: + body: + string: "{\"language\":\"en\",\"displayName\":\"Apache Kafka\xAE on Confluent + Cloud\u2122 [STAG-LIFTR]\",\"hasStandardContractAmendments\":false,\"publisherMpnId\":\"6010942\",\"sellerId\":\"27647670\",\"publisherId\":\"confluentinc\",\"publisherDisplayName\":\"Confluent\",\"offerId\":\"confluent-cloud-azure-stag\",\"legacyId\":\"confluentinc.confluent-cloud-azure-stag\",\"determinedStorefronts\":[\"Ibiza\"],\"standardContractAmendmentsRevisionId\":\"00000000-0000-0000-0000-000000000000\",\"longSummary\":\"Fully + managed event streaming platform powered by Apache Kafka\",\"description\":\"

Confluent Cloud is the industry's only fully-managed, cloud-native + event streaming service powered by Apache Kafka\xAE that is:


Serverless. Start streaming in minutes with on-demand + provisioning and elastic scaling for a serverless Kafka experience.

Reliable. Stream with confidence with enterprise-grade + reliability, 99.95% uptime SLAs, multi AZ replication for resilience, on-demand + Kafka bug fixes and upgrades without downtime.

Complete. + Speed up app development with Confluent\u2019s rich pre-built ecosystem of + fully-managed components such as Schema Registry, Connect & ksqlDB.

Flexible. Build a hybrid Kafka service leveraging Confluent + Platform (sold separately) on your on-prem environment with a persistent bridge + to Confluent Cloud with Confluent Replicator.

Service Offerings

Fully-managed + Apache Kafka

  • Basic. Serverless experience with no + hourly compute cost and elastic scaling up to 100MBps a 5TB storage limit. + Basic tier has a 99.5% uptime SLA.
  • Standard. Production-ready + clusters that provide the same elastic experience and same limits as Basic, + covered by a 99.95% uptime SLAs and optional multi AZ replication.
  • Dedicated (commitment + required). Production-ready, completely customizable single-tenant clusters + to run mission-critical applications at any scale. Additional security and + compliance controls such as private networking, HIPAA readiness & more.

Other fully-managed components to speed up app development

  • Schema Registry. + Ensure data compatibility across clusters and apps.
  • Connectors. Instantly + connect to Azure native services like CosmosDB, Azure Blob Storage, and more.
  • ksqlDB. + Build event streaming apps with a lightweight SQL syntax.


Annual Commitments - update

Pay for only + what you use - update\",\"offerType\":\"SaaS\",\"isPrivate\":false,\"isPreview\":false,\"isStopSell\":false,\"fulfillBeforeChargeEligible\":true,\"isvContactDetails\":{\"us\":\"azureteam@confluent.io\"},\"bigId\":\"DZH318Z0D8ZC\",\"legalTermsUri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJD\",\"cspLegalTermsUri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJD\",\"legalTermsType\":\"None\",\"privacyPolicyUri\":\"https://www.confluent.io/confluent-privacy-statement\",\"supportUri\":\"https://www.confluent.io/confluent-cloud/support\",\"version\":\"78ce1bec-d80b-42f5-abde-3d372576b579\",\"categoryIds\":[\"analytics\",\"big-data\",\"real-time-streaming-analytics\",\"azureCertified\",\"fromPublishingPortal\"],\"industryIds\":[],\"links\":[{\"id\":\"Docs\",\"displayName\":\"Docs\",\"uri\":\"https://docs.confluent.io/current/cloud/?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Quick + Start\",\"displayName\":\"Quick Start\",\"uri\":\"https://docs.confluent.io/current/quickstart/cloud-quickstart/index.html?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Community + Forums / Slack\",\"displayName\":\"Community Forums / Slack\",\"uri\":\"https://launchpass.com/confluentcommunity\"},{\"id\":\"FAQs\",\"displayName\":\"FAQs\",\"uri\":\"https://www.confluent.io/confluent-cloud-faqs/?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + Why Use Kafka to Migrate to the Cloud\",\"displayName\":\"Whitepaper: Why + Use Kafka to Migrate to the Cloud\",\"uri\":\"https://www.confluent.io/resources/why-use-apache-kafka-to-migrate-to-cloud?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + How to Create a Bridge to Cloud with Kafka and Confluent Cloud\",\"displayName\":\"Whitepaper: + How to Create a Bridge to Cloud with Kafka and Confluent Cloud\",\"uri\":\"https://www.confluent.io/resources/bridge-to-cloud?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + Confluent Cloud Security Overview\",\"displayName\":\"Whitepaper: Confluent + Cloud Security Overview\",\"uri\":\"https://www.confluent.io/resources/confluent-cloud-security-overview?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_pliftr\"},{\"id\":\"Whitepaper: + End to End Encryption with Confluent Cloud\",\"displayName\":\"Whitepaper: + End to End Encryption with Confluent Cloud\",\"uri\":\"https://www.confluent.io/resources/end-to-end-encryption-with-confluent-cloud?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Whitepaper: + Best Practices for Developing Kafka Applications on Confluent Cloud\",\"displayName\":\"Whitepaper: + Best Practices for Developing Kafka Applications on Confluent Cloud\",\"uri\":\"https://assets.confluent.io/m/14397e757459a58d/original/20200205-WP-Best_Practices_for_Developing_Apache_Kafka_Applications_on_Confluent_Cloud.pdf?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Customer + Case Study: BAADER Blog Post\",\"displayName\":\"Customer Case Study: BAADER + Blog Post\",\"uri\":\"https://www.confluent.io/blog/reshaping-entire-industries-with-iot-and-confluent-cloud/?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"},{\"id\":\"Customer + Case Study: Bosch\",\"displayName\":\"Customer Case Study: Bosch\",\"uri\":\"https://www.confluent.io/customers/bosch?utm_medium=partners_marketplace&utm_source=microsoft&utm_campaign=con.confluent_cloud_liftr\"}],\"iconFileUris\":{\"small\":\"https://store-images.s-microsoft.com/image/apps.9151.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d799c8e6-bc69-4d6b-8fb9-761dea08888d\",\"medium\":\"https://store-images.s-microsoft.com/image/apps.16931.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.a39a0711-e5f3-4da0-bd24-c9726b6d9b77\",\"wide\":\"https://store-images.s-microsoft.com/image/apps.32637.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.89791b8b-40f5-44dd-9589-622611195143\",\"large\":\"https://store-images.s-microsoft.com/image/apps.8342.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.31aa7943-0cf5-48bd-a932-f4e5bfab0736\"},\"metadata\":{\"leadGeneration\":{\"productId\":null},\"testDrive\":null},\"images\":[{\"context\":\"ibiza\",\"items\":[{\"id\":\"small\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.9151.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d799c8e6-bc69-4d6b-8fb9-761dea08888d\",\"type\":\"icon\"},{\"id\":\"medium\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.16931.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.a39a0711-e5f3-4da0-bd24-c9726b6d9b77\",\"type\":\"icon\"},{\"id\":\"wide\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.32637.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.89791b8b-40f5-44dd-9589-622611195143\",\"type\":\"icon\"},{\"id\":\"large\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.8342.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.31aa7943-0cf5-48bd-a932-f4e5bfab0736\",\"type\":\"icon\"},{\"id\":\"screenshot0\",\"uri\":\"https://store-images.s-microsoft.com/image/apps.53299.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d40b0f87-579b-45f9-a957-933458800e86\",\"type\":\"screenshot\"}]}],\"videos\":[],\"plans\":[{\"id\":\"0001\",\"displayName\":\"Confluent + Cloud - Pay as you Go\",\"description\":\"

Consumption Based Pricing

Elastically + scale up to 100MBps
Retention of up to 5TB
24x7 expert Kafka support + - optional add-on
VNet peering not supported

Further + explanations of monthly pricing at: http://docs.confluent.io/current/cloud/marketplace/units.html
\",\"restrictedAudience\":{},\"skuId\":\"0001\",\"planId\":\"confluent-cloud-azure-payg-stag\",\"legacyPlanId\":\"confluentinc.confluent-cloud-azure-stagconfluent-cloud-azure-payg-stag\",\"keywords\":[],\"type\":\"SaaS\",\"leadGeneration\":{\"productId\":\"confluentinc.confluent-cloud-azure-stag\"},\"testDrive\":null,\"availabilities\":[{\"actions\":[\"Browse\",\"Curate\",\"Details\",\"Purchase\",\"Renew\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":null,\"meter\":null,\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"hjdtn7tfnxcy\",\"termUnits\":\"P1M\",\"prorationPolicy\":{\"minimumProratedUnits\":\"P1D\"},\"termDescription\":\"1 + Month Subscription\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.0,\"msrp\":0.0},\"renewTermId\":\"hjdtn7tfnxcy\",\"renewTermUnits\":\"P1M\"}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"assetBehaviors\":[\"TermBased\",\"FutureBilling\"],\"consumptionUnitType\":\"DAY\",\"displayRank\":0,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL35\",\"_ts\":0,\"_etag\":null},{\"actions\":[\"Browse\",\"Consume\",\"Curate\",\"Details\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":\"confluent_consumption_unit\",\"meter\":{\"meterId\":\"confluent_consumption_unit\",\"partNumber\":\"RJXCLNKF4EN2WOVECCT376MFZEOB7QZJQBNDYDV6A22LAUCLA5EIW3KTDSLR2C6JPZJ6PF2UOI3CWVB66APO4FXCHIAWMHALDNXEWIY\",\"consumptionResourceId\":\"confluent_consumption_unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"type\":\"confluent_consumption_unit\",\"includedQuantityProperties\":[{\"termId\":\"hjdtn7tfnxcy\",\"quantity\":\"0\"}]},\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"rro4hcfnkdoy\",\"termUnits\":\"1\",\"prorationPolicy\":{\"minimumProratedUnits\":null},\"termDescription\":\"Confluent + Consumption Unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"renewTermId\":null,\"renewTermUnits\":null}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"consumptionUnitType\":\"usageunit\",\"displayRank\":1,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL2N\",\"_ts\":0,\"_etag\":null},{\"actions\":[\"Browse\",\"Consume\",\"Curate\",\"Details\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":\"confluent_free_unit\",\"meter\":{\"meterId\":\"confluent_free_unit\",\"partNumber\":\"RJXCLNKF4EN2WOVECCT376MFZEOB7QZJQBNDYDV6A22LAUCLA5EIW3KTDSLR2C6JPZJ6PF2UOI3CWVB66APO4FXCHIAWMHALDNXEWIY\",\"consumptionResourceId\":\"confluent_free_unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.0,\"msrp\":0.0},\"type\":\"confluent_free_unit\",\"includedQuantityProperties\":[{\"termId\":\"hjdtn7tfnxcy\",\"quantity\":\"0\"}]},\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"438w39nkhnjy\",\"termUnits\":\"1\",\"prorationPolicy\":{\"minimumProratedUnits\":null},\"termDescription\":\"Confluent + Free Unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.0,\"msrp\":0.0},\"renewTermId\":null,\"renewTermUnits\":null}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"consumptionUnitType\":\"freeunit\",\"displayRank\":2,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL30\",\"_ts\":0,\"_etag\":null},{\"actions\":[\"Browse\",\"Consume\",\"Curate\",\"Details\"],\"market\":\"US\",\"isPIRequired\":true,\"appId\":\"DZH318Z0D8ZC\",\"planID\":\"0001\",\"meterId\":\"confluent_support_unit\",\"meter\":{\"meterId\":\"confluent_support_unit\",\"partNumber\":\"RJXCLNKF4EN2WOVECCT376MFZEOB7QZJQBNDYDV6A22LAUCLA5EIW3KTDSLR2C6JPZJ6PF2UOI3CWVB66APO4FXCHIAWMHALDNXEWIY\",\"consumptionResourceId\":\"confluent_support_unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"type\":\"confluent_support_unit\",\"includedQuantityProperties\":[{\"termId\":\"hjdtn7tfnxcy\",\"quantity\":\"0\"}]},\"pricingAudience\":\"DirectCommercial\",\"terms\":[{\"termDescriptionParameters\":null,\"termId\":\"b19e6d5jyexy\",\"termUnits\":\"1\",\"prorationPolicy\":{\"minimumProratedUnits\":null},\"termDescription\":\"Confluent + Support Unit\",\"price\":{\"currencyCode\":\"USD\",\"isPIRequired\":true,\"listPrice\":0.01,\"msrp\":0.01},\"renewTermId\":null,\"renewTermUnits\":null}],\"piFilter\":{\"exclusionProperties\":[\"commercial_monetary_commit\",\"LegacySubscriptions\",\"monetary_commitment\",\"NonMobileOperatorContent\",\"StoredValue\",\"Subscriptions\"],\"inclusionProperties\":[]},\"isStopSell\":false,\"hasFreeTrials\":false,\"consumptionUnitType\":\"supportunit\",\"displayRank\":3,\"partitionKey\":\"DZH318Z0D8ZC-US\",\"remediationRequired\":false,\"remediations\":null,\"id\":\"DZH318Z0BL33\",\"_ts\":0,\"_etag\":null}],\"categoryIds\":[],\"conversionPaths\":[\"0004\"],\"metadata\":{},\"uiDefinitionUri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJy\",\"artifacts\":[{\"name\":\"UiDefinition.json\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/UiDefinition.json\",\"type\":\"Custom\"},{\"name\":\"DefaultTemplate\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/Artifacts/mainTemplate.json\",\"type\":\"Template\"},{\"name\":\"Documents_recommendations-developers-using-confluent-cloud.pdf\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/Artifacts/Documents/recommendations-developers-using-confluent-cloud.pdf\",\"type\":\"Custom\"},{\"name\":\"SampleImage_apps.53299.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d40b0f87-579b-45f9-a957-933458800e86\",\"uri\":\"https://catalogartifact.azureedge.net/publicartifacts/confluentinc.confluent-cloud-azure-stag-78ce1bec-d80b-42f5-abde-3d372576b579/Artifacts/SampleImage/apps.53299.ef18d5d9-cb9c-4a60-89f2-05d7ff69e05f.38414fed-8958-4bba-bf02-d5d0e43568fc.d40b0f87-579b-45f9-a957-933458800e86\",\"type\":\"Custom\"}],\"isPrivate\":true,\"isHidden\":false,\"hasFreeTrials\":false,\"isByol\":false,\"isFree\":false,\"isPayg\":false,\"isStopSell\":false,\"cspState\":\"OptIn\",\"isQuantifiable\":false,\"vmSecuritytype\":\"None\"}],\"isThirdParty\":true,\"keywords\":[\"Kafka\",\"Event + streaming\",\"Real time data integration\",\"Apache Kafka\xAE on Confluent + Cloud\u2122 [STAG-LIFTR]\"],\"popularity\":0.0,\"hasFreeTrials\":false,\"isByol\":false,\"isMacc\":false,\"hasFreePlans\":false,\"isQuantifiable\":false,\"hasPaygPlans\":false,\"isReseller\":false,\"isExcludedFromSearch\":false,\"applicableStoreFronts\":1,\"offerVersion\":\"1021\",\"isMicrosoftProduct\":true,\"productOwnershipSellingMotion\":\"3PPAgency\",\"documentLinks\":[{\"id\":\"document0\",\"displayName\":\"Whitepaper: + Recommendations for Developers Using Confluent Cloud\",\"uri\":\"https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWDsJC\"}],\"offerEnvironment\":0,\"linkedAddIns\":[],\"excludeFromBootstrap\":false,\"disableSendEmailOnPurchase\":true,\"hideFromSaasBlade\":true,\"integratedWithMicrosoftGraphApi\":false,\"id\":\"confluentinc.confluent-cloud-azure-stag\",\"partitionKey\":null,\"_ts\":0,\"_etag\":null}" + headers: + cache-control: + - no-cache + content-length: + - '16295' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=49e9f48782245c3a112318f3138db01c0738f2f775cac97aa9f0b55a4b0ee6a0;Path=/;HttpOnly;Secure;Domain=marketplacerp.azure.com + - ARRAffinitySameSite=49e9f48782245c3a112318f3138db01c0738f2f775cac97aa9f0b55a4b0ee6a0;Path=/;HttpOnly;SameSite=None;Secure;Domain=marketplacerp.azure.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-catalog-claims: + - eyJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL21hcmtldHBsYWNlLzIwMTQvMDYvY2xhaW1zL2Nhbm9udHlwZSI6Ik90aGVyIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9tYXJrZXRwbGFjZS8yMDE2LzEyL2NsYWltcy9wcmljaW5nYXVkaWVuY2UiOiJEaXJlY3QtQ29tbWVyY2lhbCIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vbWFya2V0cGxhY2UvMjAxNC8wNi9jbGFpbXMvdGVuYW50aWQiOiIyZDY1MTM4NC0wMzgzLTQzMTgtYWJjZi1jYjdkNzBkNTQ2OWUiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL21hcmtldHBsYWNlLzIwMTgvMDcvY2xhaW1zL25hdGlvbmFsY2xvdWQiOiJHbG9iYWwiLCJ1cm46bWFya2V0cGxhY2VzZXJ2aWNlczpwZXJtaXNzaW9uIjoiRW50ZXJwcmlzZUNhdGFsb2dCcm93c2UifQ== + x-ms-catalog-parameters: + - eyJhZ3JlZW1lbnRUeXBlIjoiTW9kZXJuIiwiU3VwcG9ydGVkQ29udGVudFZlcnNpb24iOiIyMDE4LjA4LjMxLjAifQ== + x-ms-version: + - 1.0.0.1799 (AzureUX-MarketPlaceRP:log_fix_hf_14_06_21.ed018e8d5.210704-0513) + x-powered-by: + - ASP.NET + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - term accept + Connection: + - keep-alive + ParameterSetName: + - --product --plan --publisher + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-marketplaceordering/1.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MarketplaceOrdering/offerTypes/virtualmachine/publishers/confluentinc/offers/confluent-cloud-azure-stag/plans/confluent-cloud-azure-payg-stag/agreements/current?api-version=2021-01-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MarketplaceOrdering/offerTypes/VirtualMachine/publishers/confluentinc/offers/confluent-cloud-azure-stag/plans/confluent-cloud-azure-payg-stag/agreements/current","name":"confluent-cloud-azure-payg-stag","type":"Microsoft.MarketplaceOrdering/offertypes","properties":{"publisher":"confluentinc","product":"confluent-cloud-azure-stag","plan":"confluent-cloud-azure-payg-stag","licenseTextLink":"https://mpcprodsa.blob.core.windows.net/legalterms/3E5ED_legalterms_CONFLUENTINC%253a24CONFLUENT%253a2DCLOUD%253a2DAZURE%253a2DSTAG%253a24CONFLUENT%253a2DCLOUD%253a2DAZURE%253a2DPAYG%253a2DSTAG%253a24PZL3GA56VIMMBK2GFQW4XCR5EXK4HXBVMYPKNLDNK2XUP2VOAGNJYJEKWFV6KJWZ55ALF5CPSPUJKHJZMLDBDRMRMRFJJ4FCHB777QY.txt","privacyPolicyLink":"https://www.confluent.io/confluent-privacy-statement","marketplaceTermsLink":"https://mpcprodsa.blob.core.windows.net/marketplaceterms/3EDEF_marketplaceterms_SAAS%253a245XNIYDD23KXQBTPZZUVTDJNYHJZ5Y76OXRLYJ2DHP67BFUMFY42RHUG62CKSGJIAUTE2UN6MIODUJ4JBTOMEQBMWQM4VD2QGXBRTTUY.txt","retrieveDatetime":"2021-07-06T09:17:16.6324828Z","signature":"ND4MBMGOWNNW7J7LXLPKWSNGUQCNOMXSVTZ3XWWM7AGIYSA7X7E4GXXYTD4WL7GBO6SZZ3OXXSGID7NWWODP43JLWUIGPCHDMIXYDFI","accepted":true},"systemData":{"createdBy":"743b94f5-f31d-4ae1-91ab-478313c8302e","createdByType":"ManagedIdentity","createdAt":"2021-07-06T09:17:16.8193719+00:00","lastModifiedBy":"743b94f5-f31d-4ae1-91ab-478313c8302e","lastModifiedByType":"ManagedIdentity","lastModifiedAt":"2021-07-06T09:17:16.8193719+00:00"}}' + headers: + cache-control: + - no-cache + content-length: + - '1561' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=eea7de65d7f259aac01b158ebdbecf1b308d46f0e4db9431c52f144539f9faab;Path=/;HttpOnly;Secure;Domain=storeapi.azure.com + - ARRAffinitySameSite=eea7de65d7f259aac01b158ebdbecf1b308d46f0e4db9431c52f144539f9faab;Path=/;HttpOnly;SameSite=None;Secure;Domain=storeapi.azure.com + 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: '{"properties": {"publisher": "confluentinc", "product": "confluent-cloud-azure-stag", + "plan": "confluent-cloud-azure-payg-stag", "licenseTextLink": "https://mpcprodsa.blob.core.windows.net/legalterms/3E5ED_legalterms_CONFLUENTINC%253a24CONFLUENT%253a2DCLOUD%253a2DAZURE%253a2DSTAG%253a24CONFLUENT%253a2DCLOUD%253a2DAZURE%253a2DPAYG%253a2DSTAG%253a24PZL3GA56VIMMBK2GFQW4XCR5EXK4HXBVMYPKNLDNK2XUP2VOAGNJYJEKWFV6KJWZ55ALF5CPSPUJKHJZMLDBDRMRMRFJJ4FCHB777QY.txt", + "privacyPolicyLink": "https://www.confluent.io/confluent-privacy-statement", + "marketplaceTermsLink": "https://mpcprodsa.blob.core.windows.net/marketplaceterms/3EDEF_marketplaceterms_SAAS%253a245XNIYDD23KXQBTPZZUVTDJNYHJZ5Y76OXRLYJ2DHP67BFUMFY42RHUG62CKSGJIAUTE2UN6MIODUJ4JBTOMEQBMWQM4VD2QGXBRTTUY.txt", + "retrieveDatetime": "2021-07-06T09:17:16.6324828Z", "signature": "ND4MBMGOWNNW7J7LXLPKWSNGUQCNOMXSVTZ3XWWM7AGIYSA7X7E4GXXYTD4WL7GBO6SZZ3OXXSGID7NWWODP43JLWUIGPCHDMIXYDFI", + "accepted": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - term accept + Connection: + - keep-alive + Content-Length: + - '952' + Content-Type: + - application/json + ParameterSetName: + - --product --plan --publisher + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-marketplaceordering/1.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MarketplaceOrdering/offerTypes/virtualmachine/publishers/confluentinc/offers/confluent-cloud-azure-stag/plans/confluent-cloud-azure-payg-stag/agreements/current?api-version=2021-01-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MarketplaceOrdering/offerTypes/Microsoft.MarketplaceOrdering/offertypes/publishers/confluentinc/offers/confluent-cloud-azure-stag/plans/confluent-cloud-azure-payg-stag/agreements/current","name":"confluent-cloud-azure-payg-stag","type":"Microsoft.MarketplaceOrdering/offertypes","properties":{"publisher":"confluentinc","product":"confluent-cloud-azure-stag","plan":"confluent-cloud-azure-payg-stag","licenseTextLink":"https://mpcprodsa.blob.core.windows.net/legalterms/3E5ED_legalterms_CONFLUENTINC%253a24CONFLUENT%253a2DCLOUD%253a2DAZURE%253a2DSTAG%253a24CONFLUENT%253a2DCLOUD%253a2DAZURE%253a2DPAYG%253a2DSTAG%253a24PZL3GA56VIMMBK2GFQW4XCR5EXK4HXBVMYPKNLDNK2XUP2VOAGNJYJEKWFV6KJWZ55ALF5CPSPUJKHJZMLDBDRMRMRFJJ4FCHB777QY.txt","privacyPolicyLink":"https://www.confluent.io/confluent-privacy-statement","marketplaceTermsLink":"https://mpcprodsa.blob.core.windows.net/marketplaceterms/3EDEF_marketplaceterms_SAAS%253a245XNIYDD23KXQBTPZZUVTDJNYHJZ5Y76OXRLYJ2DHP67BFUMFY42RHUG62CKSGJIAUTE2UN6MIODUJ4JBTOMEQBMWQM4VD2QGXBRTTUY.txt","retrieveDatetime":"2021-07-06T09:17:16.6324828Z","signature":"ND4MBMGOWNNW7J7LXLPKWSNGUQCNOMXSVTZ3XWWM7AGIYSA7X7E4GXXYTD4WL7GBO6SZZ3OXXSGID7NWWODP43JLWUIGPCHDMIXYDFI","accepted":true},"systemData":{"createdBy":"743b94f5-f31d-4ae1-91ab-478313c8302e","createdByType":"ManagedIdentity","createdAt":"2021-07-06T09:17:18.519461+00:00","lastModifiedBy":"743b94f5-f31d-4ae1-91ab-478313c8302e","lastModifiedByType":"ManagedIdentity","lastModifiedAt":"2021-07-06T09:17:18.519461+00:00"}}' + headers: + cache-control: + - no-cache + content-length: + - '1585' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=e939a948e0a0e7a43aad2b71916290a218f316793bcfc54015a7592e915d08a7;Path=/;HttpOnly;Secure;Domain=storeapi.azure.com + - ARRAffinitySameSite=e939a948e0a0e7a43aad2b71916290a218f316793bcfc54015a7592e915d08a7;Path=/;HttpOnly;SameSite=None;Secure;Domain=storeapi.azure.com + strict-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: + - provider register + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + ParameterSetName: + - -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/register?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent","namespace":"Microsoft.Confluent","authorizations":[{"applicationId":"1448fd13-7e74-41f4-b6e3-17e485d8ac2e","roleDefinitionId":"4db34280-b0be-4827-aa5b-418391409cee"}],"resourceTypes":[{"resourceType":"operations","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"locations","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"locations/OperationStatuses","locations":["West + US 2","East US 2 EUAP","Central US EUAP","West Central US","Australia East","France + Central","Canada Central","East US","UK South","West Europe","Central US","East + US 2","North Europe","Southeast Asia"],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"organizations","locations":["West + US 2","West Central US","Australia East","France Central","Canada Central","East + US","UK South","West Europe","Central US","East US 2","North Europe","Southeast + Asia","East US 2 EUAP","Central US EUAP"],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"agreements","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"validations","locations":[],"apiVersions":["2021-03-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '1756' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:20 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-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - provider show + Connection: + - keep-alive + ParameterSetName: + - -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent","namespace":"Microsoft.Confluent","authorizations":[{"applicationId":"1448fd13-7e74-41f4-b6e3-17e485d8ac2e","roleDefinitionId":"4db34280-b0be-4827-aa5b-418391409cee"}],"resourceTypes":[{"resourceType":"operations","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"locations","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"locations/OperationStatuses","locations":["West + US 2","East US 2 EUAP","Central US EUAP","West Central US","Australia East","France + Central","Canada Central","East US","UK South","West Europe","Central US","East + US 2","North Europe","Southeast Asia"],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"organizations","locations":["West + US 2","West Central US","Australia East","France Central","Canada Central","East + US","UK South","West Europe","Central US","East US 2","North Europe","Southeast + Asia","East US 2 EUAP","Central US EUAP"],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"agreements","locations":[],"apiVersions":["2021-03-01-preview","2020-03-01-preview","2020-03-01"],"capabilities":"None"},{"resourceType":"validations","locations":[],"apiVersions":["2021-03-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '1756' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17: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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.26.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%27b9c6016b-2e30-45fa-964e-414f0fc9272a%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, 06 Jul 2021 09:17:24 GMT + duration: + - '2598149' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 1ICy8+R0aKQJ9dP+Wf5pzoAW2T+QDLKgUdkZaEH0rOw= + ocp-aad-session-key: + - AoUOIROjdi9BBkDBdRPoxaCeSCuoTeNE-TZ02zEoGhUHpcUfoCSBqEaZgYN1ybsIJmq_coNXgUrnuJPbpnH62kdFkkHWtYBKkBAbl-4gZCrFNhWx6Th7TSG8K5PMGwQZ.-8H7d2RKNYQ2AGmaN4hyvdQLQCzPeLmvh918Vneo4pM + pragma: + - no-cache + request-id: + - 1a095166-56c8-4d67-9aa2-11a14ef0b4e8 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '1' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["b9c6016b-2e30-45fa-964e-414f0fc9272a"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.26.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.User","objectType":"User","objectId":"b9c6016b-2e30-45fa-964e-414f0fc9272a","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[],"assignedPlans":[],"city":null,"companyName":null,"consentProvidedForMinor":null,"country":null,"createdDateTime":"2021-05-28T09:30:27Z","creationType":"Invitation","department":null,"dirSyncEnabled":null,"displayName":"Kaihui + Sun (Wicresoft North America Ltd)","employeeId":null,"facsimileTelephoneNumber":null,"givenName":"Kaihui","immutableId":null,"isCompromised":null,"jobTitle":null,"lastDirSyncTime":null,"legalAgeGroupClassification":null,"mail":"v-kaisun@microsoft.com","mailNickname":"v-kaisun_microsoft.com#EXT#","mobile":null,"onPremisesDistinguishedName":null,"onPremisesSecurityIdentifier":null,"otherMails":["v-kaisun@microsoft.com"],"passwordPolicies":null,"passwordProfile":null,"physicalDeliveryOfficeName":null,"postalCode":null,"preferredLanguage":null,"provisionedPlans":[],"provisioningErrors":[],"proxyAddresses":["SMTP:v-kaisun@microsoft.com"],"refreshTokensValidFromDateTime":"2021-05-28T09:30:27Z","showInAddressList":false,"signInNames":[],"sipProxyAddress":null,"state":null,"streetAddress":null,"surname":"Sun","telephoneNumber":null,"thumbnailPhoto@odata.mediaEditLink":"directoryObjects/b9c6016b-2e30-45fa-964e-414f0fc9272a/Microsoft.DirectoryServices.User/thumbnailPhoto","usageLocation":null,"userIdentities":[],"userPrincipalName":"v-kaisun_microsoft.com#EXT#@mpliftrconfluent20210809out.onmicrosoft.com","userState":"Accepted","userStateChangedOn":"2021-07-05T05:41:25Z","userType":"Member"}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1751' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 06 Jul 2021 09:17:25 GMT + duration: + - '2511594' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - xKxlVDcO27uDZc6zKVj7K84BUT9c7l5Jyq7NtNFKB0Y= + ocp-aad-session-key: + - wiHcoU6cZ11S7gOgiUBaEGA7MqNUFAW0O8w0ZHw_K0z0jH5bKyR0DEyCb2Xk2nvEdywS1RC8C1kOkGGx7vhL1pGdPFzoQRP8KQsoMFl9yWpg-8Rnd2l59L6idQNoqt4l.TdUrSPId40HIMq7Tp3m_pqMq2wYiBD_xGN-KcQreRBc + pragma: + - no-cache + request-id: + - 2d0c8de7-6e0d-4f55-8cfe-f25c86be2292 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.26.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29%20and%20assignedTo%28%27b9c6016b-2e30-45fa-964e-414f0fc9272a%27%29&api-version=2020-04-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"b9c6016b-2e30-45fa-964e-414f0fc9272a","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-28T09:31:07.8102180Z","updatedOn":"2021-05-28T09:31:07.8102180Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85f02850-c7ee-4da6-9a5f-9f46ecda3aa7","type":"Microsoft.Authorization/roleAssignments","name":"85f02850-c7ee-4da6-9a5f-9f46ecda3aa7"}]}' + headers: + cache-control: + - no-cache + content-length: + - '857' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; 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: + - confluent organization create + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.26.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Owner%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Owner","type":"BuiltInRole","description":"Grants + full access to manage all resources, including the ability to assign roles + in Azure RBAC.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-08-14T20:13:58.4137852Z","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"}]}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:26 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; 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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.26.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%27b9c6016b-2e30-45fa-964e-414f0fc9272a%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, 06 Jul 2021 09:17:27 GMT + duration: + - '2550465' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - AMMAxGGLAEpBasUWsDQcwrC0id/i/47wod6hWW2yLLI= + ocp-aad-session-key: + - DIPrcbqmRiP3B2iy-5W94s3IL3nt3Spb0TiG5qmSBUtrbKejWrSdvu9lQapbfBs1R8sct676sVjycQD3naeYDD0hqrF7WiWFoF-mMJhkEJmgfJ8pKw0SACLdPh_OJg56.f0Eg4BM4sZGvDfCYeOym1x-0weB-rBSCX3Gpz5lgfB0 + pragma: + - no-cache + request-id: + - 886b68f8-19f7-4e08-8025-d11caeb0978c + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '1' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["b9c6016b-2e30-45fa-964e-414f0fc9272a"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.26.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.User","objectType":"User","objectId":"b9c6016b-2e30-45fa-964e-414f0fc9272a","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[],"assignedPlans":[],"city":null,"companyName":null,"consentProvidedForMinor":null,"country":null,"createdDateTime":"2021-05-28T09:30:27Z","creationType":"Invitation","department":null,"dirSyncEnabled":null,"displayName":"Kaihui + Sun (Wicresoft North America Ltd)","employeeId":null,"facsimileTelephoneNumber":null,"givenName":"Kaihui","immutableId":null,"isCompromised":null,"jobTitle":null,"lastDirSyncTime":null,"legalAgeGroupClassification":null,"mail":"v-kaisun@microsoft.com","mailNickname":"v-kaisun_microsoft.com#EXT#","mobile":null,"onPremisesDistinguishedName":null,"onPremisesSecurityIdentifier":null,"otherMails":["v-kaisun@microsoft.com"],"passwordPolicies":null,"passwordProfile":null,"physicalDeliveryOfficeName":null,"postalCode":null,"preferredLanguage":null,"provisionedPlans":[],"provisioningErrors":[],"proxyAddresses":["SMTP:v-kaisun@microsoft.com"],"refreshTokensValidFromDateTime":"2021-05-28T09:30:27Z","showInAddressList":false,"signInNames":[],"sipProxyAddress":null,"state":null,"streetAddress":null,"surname":"Sun","telephoneNumber":null,"thumbnailPhoto@odata.mediaEditLink":"directoryObjects/b9c6016b-2e30-45fa-964e-414f0fc9272a/Microsoft.DirectoryServices.User/thumbnailPhoto","usageLocation":null,"userIdentities":[],"userPrincipalName":"v-kaisun_microsoft.com#EXT#@mpliftrconfluent20210809out.onmicrosoft.com","userState":"Accepted","userStateChangedOn":"2021-07-05T05:41:25Z","userType":"Member"}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1751' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 06 Jul 2021 09:17:28 GMT + duration: + - '2634527' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - Ok3Y/RhppyyfWueM1N/r26Om6oVKqYdulVw1ZYEtMeo= + ocp-aad-session-key: + - 4VTH9HmmtvytRVyihIyy0NwxTKH-la5DG5uhK6jbkLH8L_9cBYUhlG5ElAXOnXcIGzUhRYB0xsewa7vLVc0KcjBOV6RCvliN1AqYiU6y_4_48g7akNo6wsyQWjJhKmbl.5vFl5x7UB7ZmjCgxLFRYLtEXhsgU_YlCS_wYyAX-t3E + pragma: + - no-cache + request-id: + - 7a2e142f-b45e-4c8c-857e-a994df6ad039 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.26.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29%20and%20assignedTo%28%27b9c6016b-2e30-45fa-964e-414f0fc9272a%27%29&api-version=2020-04-01-preview + response: + body: + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"b9c6016b-2e30-45fa-964e-414f0fc9272a","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-28T09:31:07.8102180Z","updatedOn":"2021-05-28T09:31:07.8102180Z","createdBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","updatedBy":"a9cb2b23-249d-4efa-af64-d7cbe600eae1","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85f02850-c7ee-4da6-9a5f-9f46ecda3aa7","type":"Microsoft.Authorization/roleAssignments","name":"85f02850-c7ee-4da6-9a5f-9f46ecda3aa7"}]}' + headers: + cache-control: + - no-cache + content-length: + - '857' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; 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: + - confluent organization create + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.26.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/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":"Grants + full access to manage all resources, but does not allow you to assign roles + in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-12-04T00:34:54.8501087Z","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: + - '984' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; 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: + - confluent organization create + Connection: + - keep-alive + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.26.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions?api-version=2018-01-01-preview + response: + body: + string: "{\"value\":[{\"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\":[\"Microsoft.ContainerRegistry/registries/trustedCollections/write\"],\"notDataActions\":[]}],\"createdOn\":\"2018-03-15T23:23:08.4038322Z\",\"updatedOn\":\"2021-06-23T21:07:39.6776759Z\",\"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\":[\"Microsoft.ContainerRegistry/registries/quarantinedArtifacts/read\"],\"notDataActions\":[]}],\"createdOn\":\"2018-03-16T00:27:39.9596835Z\",\"updatedOn\":\"2021-06-23T21:17:58.7569846Z\",\"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/generateLiveToken/read\",\"Microsoft.Insights/metricAlerts/*\",\"Microsoft.Insights/components/*\",\"Microsoft.Insights/scheduledqueryrules/*\",\"Microsoft.Insights/topology/read\",\"Microsoft.Insights/transactions/read\",\"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\":\"2021-01-19T19:26:12.8117169Z\",\"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/proximityPlacementGroups/*\",\"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-27T06:48:54.4896867Z\",\"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\",\"Microsoft.ContainerService/managedClusters/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T21:38:18.5953853Z\",\"updatedOn\":\"2020-08-10T21:30:17.4985976Z\",\"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\",\"Microsoft.ContainerService/managedClusters/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-08-15T22:04:53.4037241Z\",\"updatedOn\":\"2020-08-10T23:33:17.4901670Z\",\"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/edgeSubscriptions/read\",\"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\":\"2020-06-29T22:11:17.0759529Z\",\"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/*\",\"Microsoft.DataProtection/locations/getBackupStatus/action\",\"Microsoft.DataProtection/backupVaults/backupInstances/write\",\"Microsoft.DataProtection/backupVaults/backupInstances/delete\",\"Microsoft.DataProtection/backupVaults/backupInstances/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/backup/action\",\"Microsoft.DataProtection/backupVaults/backupInstances/validateRestore/action\",\"Microsoft.DataProtection/backupVaults/backupInstances/restore/action\",\"Microsoft.DataProtection/backupVaults/backupPolicies/write\",\"Microsoft.DataProtection/backupVaults/backupPolicies/delete\",\"Microsoft.DataProtection/backupVaults/backupPolicies/read\",\"Microsoft.DataProtection/backupVaults/backupPolicies/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action\",\"Microsoft.DataProtection/backupVaults/write\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/backupVaults/operationResults/read\",\"Microsoft.DataProtection/locations/checkNameAvailability/action\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/locations/operationStatus/read\",\"Microsoft.DataProtection/locations/operationResults/read\",\"Microsoft.DataProtection/backupVaults/validateForBackup/action\",\"Microsoft.DataProtection/providers/operations/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:12:15.7321344Z\",\"updatedOn\":\"2021-06-14T09:45:09.5641727Z\",\"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/accessToken/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/locations/backupAadProperties/read\",\"Microsoft.RecoveryServices/locations/backupCrrJobs/action\",\"Microsoft.RecoveryServices/locations/backupCrrJob/action\",\"Microsoft.RecoveryServices/locations/backupCrossRegionRestore/action\",\"Microsoft.RecoveryServices/locations/backupCrrOperationResults/read\",\"Microsoft.RecoveryServices/locations/backupCrrOperationsStatus/read\",\"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\"Microsoft.RecoveryServices/operations/read\",\"Microsoft.RecoveryServices/locations/operationStatus/read\",\"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\"Microsoft.Support/*\",\"Microsoft.DataProtection/backupVaults/backupInstances/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/read\",\"Microsoft.DataProtection/backupVaults/backupPolicies/read\",\"Microsoft.DataProtection/backupVaults/backupPolicies/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/backupVaults/operationResults/read\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/locations/operationStatus/read\",\"Microsoft.DataProtection/locations/operationResults/read\",\"Microsoft.DataProtection/providers/operations/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:21:11.8947640Z\",\"updatedOn\":\"2021-06-14T09:44:30.3420995Z\",\"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\",\"Microsoft.RecoveryServices/locations/backupCrrJobs/action\",\"Microsoft.RecoveryServices/locations/backupCrrJob/action\",\"Microsoft.RecoveryServices/locations/backupCrrOperationResults/read\",\"Microsoft.RecoveryServices/locations/backupCrrOperationsStatus/read\",\"Microsoft.DataProtection/locations/getBackupStatus/action\",\"Microsoft.DataProtection/backupVaults/backupInstances/write\",\"Microsoft.DataProtection/backupVaults/backupInstances/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/backup/action\",\"Microsoft.DataProtection/backupVaults/backupInstances/validateRestore/action\",\"Microsoft.DataProtection/backupVaults/backupInstances/restore/action\",\"Microsoft.DataProtection/backupVaults/backupPolicies/read\",\"Microsoft.DataProtection/backupVaults/backupPolicies/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read\",\"Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/backupVaults/operationResults/read\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/backupVaults/read\",\"Microsoft.DataProtection/locations/operationStatus/read\",\"Microsoft.DataProtection/locations/operationResults/read\",\"Microsoft.DataProtection/backupVaults/validateForBackup/action\",\"Microsoft.DataProtection/providers/operations/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-01-03T13:18:41.3893065Z\",\"updatedOn\":\"2021-06-10T06:11:04.3823975Z\",\"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\":\"Grants + full access to manage all resources, but does not allow you to assign roles + in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[\"Microsoft.Authorization/*/Delete\",\"Microsoft.Authorization/*/Write\",\"Microsoft.Authorization/elevateAccess/Action\",\"Microsoft.Blueprint/blueprintAssignments/write\",\"Microsoft.Blueprint/blueprintAssignments/delete\",\"Microsoft.Compute/galleries/share/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-12-04T00:34:54.8501087Z\",\"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\",\"Microsoft.Billing/billingProperty/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2020-12-07T19:54:47.1563148Z\",\"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\",\"Microsoft.Billing/billingProperty/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-03-14T16:09:22.8834827Z\",\"updatedOn\":\"2020-12-07T19:53:58.6391267Z\",\"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/*\",\"Microsoft.KeyVault/managedHsms/*\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-02-25T17:08:28.5184971Z\",\"updatedOn\":\"2020-09-17T00:42:51.7334302Z\",\"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 new labs + under your Azure Lab Accounts.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.LabServices/labAccounts/*/read\",\"Microsoft.LabServices/labAccounts/createLab/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-07-10T17:45:43.2289715Z\",\"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\",\"Microsoft.Management/managementGroups/subscriptions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:28:29.0523964Z\",\"updatedOn\":\"2020-07-06T18:13:34.9045672Z\",\"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\",\"Microsoft.Management/managementGroups/subscriptions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-06-22T00:31:03.4295347Z\",\"updatedOn\":\"2020-07-06T18:09:27.1441705Z\",\"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/dataCollectionRules/*\",\"Microsoft.Insights/dataCollectionRuleAssociations/*\",\"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.AlertsManagement/smartDetectorAlertRules/*\",\"Microsoft.AlertsManagement/actionRules/*\",\"Microsoft.AlertsManagement/smartGroups/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2016-09-21T19:21:08.4345976Z\",\"updatedOn\":\"2020-11-18T00:02:00.4868141Z\",\"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\":\"Grants + full access to manage all resources, including the ability to assign roles + in Azure RBAC.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-08-14T20:13:58.4137852Z\",\"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\":\"View + all resources, but does not allow you to make any changes.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2020-08-14T20:16:04.3791205Z\",\"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/register/action\",\"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\":\"2020-07-16T00:20:31.8240854Z\",\"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/policyexemptions/*\",\"Microsoft.Authorization/policysetdefinitions/*\",\"Microsoft.PolicyInsights/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-08-25T19:08:01.3861639Z\",\"updatedOn\":\"2020-08-20T19:01:05.4449634Z\",\"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/policyExemptions/*\",\"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\":\"2020-08-20T19:15:25.4574979Z\",\"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/read\",\"Microsoft.operationalInsights/workspaces/*/read\",\"Microsoft.Resources/deployments/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Security/*/read\",\"Microsoft.Support/*/read\",\"Microsoft.Security/iotDefenderSettings/packageDownloads/action\",\"Microsoft.Security/iotDefenderSettings/downloadManagerActivation/action\",\"Microsoft.Security/iotSensors/downloadResetPassword/action\",\"Microsoft.Management/managementGroups/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2017-05-03T07:48:49.0516559Z\",\"updatedOn\":\"2021-01-04T13:31:17.6216549Z\",\"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/locations/instanceFailoverGroups/*\",\"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\":[\"Microsoft.Sql/managedInstances/azureADOnlyAuthentications/delete\",\"Microsoft.Sql/managedInstances/azureADOnlyAuthentications/write\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2018-12-10T22:57:14.2937983Z\",\"updatedOn\":\"2020-09-23T23:26:54.2667459Z\",\"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/servers/databases/ledgerDigestUploads/write\",\"Microsoft.Sql/servers/databases/ledgerDigestUploads/disable/action\",\"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/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"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\":\"2021-06-09T20:32:10.4467708Z\",\"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/locations/administratorAzureAsyncOperation/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/auditingSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/read\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"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/devOpsAuditingSettings/*\",\"Microsoft.Sql/servers/firewallRules/*\",\"Microsoft.Sql/servers/read\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\",\"Microsoft.Support/*\",\"Microsoft.Sql/servers/azureADOnlyAuthentications/*\",\"Microsoft.Sql/managedInstances/read\",\"Microsoft.Sql/managedInstances/azureADOnlyAuthentications/*\",\"Microsoft.Security/sqlVulnerabilityAssessments/*\",\"Microsoft.Sql/managedInstances/administrators/read\",\"Microsoft.Sql/servers/administrators/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-06-16T18:44:40.4607572Z\",\"updatedOn\":\"2021-03-08T21:18:46.2003218Z\",\"createdBy\":null,\"updatedBy\":null},\"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/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditingSettings/*\",\"Microsoft.Sql/servers/databases/auditRecords/read\",\"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/devOpsAuditingSettings/*\",\"Microsoft.Sql/servers/extendedAuditingSettings/*\",\"Microsoft.Sql/servers/securityAlertPolicies/*\",\"Microsoft.Sql/servers/vulnerabilityAssessments/*\",\"Microsoft.Sql/servers/azureADOnlyAuthentications/delete\",\"Microsoft.Sql/servers/azureADOnlyAuthentications/write\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2015-02-02T21:55:09.8806423Z\",\"updatedOn\":\"2021-03-08T21:19:28.9102955Z\",\"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/write\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action\",\"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2021-02-04T07:04:50.1529191Z\",\"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\",\"Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action\"],\"notDataActions\":[]}],\"createdOn\":\"2017-12-21T00:01:24.7972312Z\",\"updatedOn\":\"2021-01-25T01:32:24.1141692Z\",\"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/*\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/delete\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write\",\"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-04-26T17:01:17.0169383Z\",\"updatedOn\":\"2021-02-25T21:29:52.2924071Z\",\"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.Insights/myworkbooks/read\",\"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-11-04T07:51:14.5680135Z\",\"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/automationRules/*\",\"Microsoft.SecurityInsights/cases/*\",\"Microsoft.SecurityInsights/incidents/*\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/appendTags/action\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/query/action\",\"Microsoft.SecurityInsights/threatIntelligence/bulkTag/action\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/appendTags/action\",\"Microsoft.SecurityInsights/threatIntelligence/indicators/replaceTags/action\",\"Microsoft.SecurityInsights/threatIntelligence/queryIndicators/action\",\"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.Insights/myworkbooks/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[\"Microsoft.SecurityInsights/cases/*/Delete\",\"Microsoft.SecurityInsights/incidents/*/Delete\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-08-28T16:54:07.6467264Z\",\"updatedOn\":\"2020-12-08T13:06:10.4848344Z\",\"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.SecurityInsights/threatIntelligence/indicators/query/action\",\"Microsoft.SecurityInsights/threatIntelligence/queryIndicators/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.Insights/myworkbooks/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-11-04T07:55:29.9187377Z\",\"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/policyexemptions/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\":\"2020-08-20T20:57:17.1579311Z\",\"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.HybridCompute/privateLinkScopes/read\",\"Microsoft.GuestConfiguration/guestConfigurationAssignments/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:15:07.1372870Z\",\"updatedOn\":\"2021-03-23T20:13:08.5139847Z\",\"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/UpgradeExtensions/action\",\"Microsoft.HybridCompute/machines/extensions/read\",\"Microsoft.HybridCompute/machines/extensions/write\",\"Microsoft.HybridCompute/machines/extensions/delete\",\"Microsoft.HybridCompute/privateLinkScopes/*\",\"Microsoft.HybridCompute/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2019-10-23T20:24:59.1474607Z\",\"updatedOn\":\"2021-06-08T18:14:40.8972223Z\",\"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\",\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/write\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/delete\",\"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\":\"2021-03-05T16:02:04.1620231Z\",\"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\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointsettings/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:26:12.3329439Z\",\"updatedOn\":\"2021-03-11T06:28:58.3427040Z\",\"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\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/download/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/create/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/generateanswer/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/knowledgebases/train/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/alterations/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/alterations/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointkeys/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointkeys/refreshkeys/action\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointsettings/read\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/endpointsettings/write\",\"Microsoft.CognitiveServices/accounts/TextAnalytics/QnAMaker/operations/read\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-17T18:27:30.6434556Z\",\"updatedOn\":\"2021-03-11T06:28:27.6422359Z\",\"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\",\"Microsoft.Experimentation/experimentWorkspaces/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\",\"Microsoft.Experimentation/experimentWorkspaces/metricwrite/action\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/metricwrite/action\"],\"notDataActions\":[]}],\"createdOn\":\"2019-12-18T22:46:33.1116612Z\",\"updatedOn\":\"2021-03-05T15:59:31.1406998Z\",\"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-12-13T02:18:15.6697797Z\",\"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\":\"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 Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + role for Digital Twins data-plane properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.DigitalTwins/digitaltwins/read\",\"Microsoft.DigitalTwins/digitaltwins/relationships/read\",\"Microsoft.DigitalTwins/eventroutes/read\",\"Microsoft.DigitalTwins/models/read\",\"Microsoft.DigitalTwins/query/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-10T23:48:14.7057381Z\",\"updatedOn\":\"2020-10-22T21:06:59.5157226Z\",\"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 Data Owner\",\"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-10-22T21:07:31.8108410Z\",\"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\":[\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-03-25T18:05:14.8375678Z\",\"updatedOn\":\"2021-01-11T18:32:43.8283983Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform all + data plane operations on a key vault and all objects in it, including certificates, + keys, and secrets. Cannot manage key vault resources or manage role assignments. + Only works for key vaults that use the 'Azure role-based access control' permission + model.\",\"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\":\"2021-01-27T23:26:39.6321098Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform + any action on the keys of a key vault, except manage permissions. Only works + for key vaults that use the 'Azure role-based access control' permission model.\",\"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\":\"2021-01-27T23:23:43.2358783Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform cryptographic + operations using keys. Only works for key vaults that use the 'Azure role-based + access control' permission model.\",\"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\":\"2021-01-27T23:18:47.5002809Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform + any action on the secrets of a key vault, except manage permissions. Only + works for key vaults that use the 'Azure role-based access control' permission + model.\",\"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\":\"2021-01-27T23:07:56.2221281Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Read secret + contents. Only works for key vaults that use the 'Azure role-based access + control' permission model.\",\"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\":\"2021-01-27T22:15:29.1682455Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Perform + any action on the certificates of a key vault, except manage permissions. + Only works for key vaults that use the 'Azure role-based access control' permission + model.\",\"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\":\"2021-01-27T23:25:14.4723643Z\",\"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\",\"type\":\"BuiltInRole\",\"description\":\"Read metadata of + key vaults and its certificates, keys, and secrets. Cannot read sensitive + values such as secret contents or key material. Only works for key vaults + that use the 'Azure role-based access control' permission model.\",\"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\":\"2021-01-27T23:14:42.7151440Z\",\"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 User\",\"type\":\"BuiltInRole\",\"description\":\"Read + metadata of keys and perform wrap/unwrap operations. Only works for key vaults + that use the 'Azure role-based access control' permission model.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventGrid/eventSubscriptions/write\",\"Microsoft.EventGrid/eventSubscriptions/read\",\"Microsoft.EventGrid/eventSubscriptions/delete\"],\"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\":\"2021-01-27T23:22:10.9466372Z\",\"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\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Viewer\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + view all resources in cluster/namespace, except secrets.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/apps/controllerrevisions/read\",\"Microsoft.Kubernetes/connectedClusters/apps/daemonsets/read\",\"Microsoft.Kubernetes/connectedClusters/apps/deployments/read\",\"Microsoft.Kubernetes/connectedClusters/apps/replicasets/read\",\"Microsoft.Kubernetes/connectedClusters/apps/statefulsets/read\",\"Microsoft.Kubernetes/connectedClusters/autoscaling/horizontalpodautoscalers/read\",\"Microsoft.Kubernetes/connectedClusters/batch/cronjobs/read\",\"Microsoft.Kubernetes/connectedClusters/batch/jobs/read\",\"Microsoft.Kubernetes/connectedClusters/configmaps/read\",\"Microsoft.Kubernetes/connectedClusters/endpoints/read\",\"Microsoft.Kubernetes/connectedClusters/events.k8s.io/events/read\",\"Microsoft.Kubernetes/connectedClusters/events/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/daemonsets/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/deployments/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/ingresses/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/networkpolicies/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/replicasets/read\",\"Microsoft.Kubernetes/connectedClusters/limitranges/read\",\"Microsoft.Kubernetes/connectedClusters/namespaces/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/ingresses/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/networkpolicies/read\",\"Microsoft.Kubernetes/connectedClusters/persistentvolumeclaims/read\",\"Microsoft.Kubernetes/connectedClusters/pods/read\",\"Microsoft.Kubernetes/connectedClusters/policy/poddisruptionbudgets/read\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/read\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/read\",\"Microsoft.Kubernetes/connectedClusters/resourcequotas/read\",\"Microsoft.Kubernetes/connectedClusters/serviceaccounts/read\",\"Microsoft.Kubernetes/connectedClusters/services/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:51:12.8801199Z\",\"updatedOn\":\"2020-11-02T23:50:46.3225174Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/63f0a09d-1495-4db4-a681-037d84835eb4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"63f0a09d-1495-4db4-a681-037d84835eb4\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Writer\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + update everything in cluster/namespace, except (cluster)roles and (cluster)role + bindings.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/apps/controllerrevisions/read\",\"Microsoft.Kubernetes/connectedClusters/apps/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/apps/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/statefulsets/*\",\"Microsoft.Kubernetes/connectedClusters/autoscaling/horizontalpodautoscalers/*\",\"Microsoft.Kubernetes/connectedClusters/batch/cronjobs/*\",\"Microsoft.Kubernetes/connectedClusters/batch/jobs/*\",\"Microsoft.Kubernetes/connectedClusters/configmaps/*\",\"Microsoft.Kubernetes/connectedClusters/endpoints/*\",\"Microsoft.Kubernetes/connectedClusters/events.k8s.io/events/read\",\"Microsoft.Kubernetes/connectedClusters/events/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/limitranges/read\",\"Microsoft.Kubernetes/connectedClusters/namespaces/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/persistentvolumeclaims/*\",\"Microsoft.Kubernetes/connectedClusters/pods/*\",\"Microsoft.Kubernetes/connectedClusters/policy/poddisruptionbudgets/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/resourcequotas/read\",\"Microsoft.Kubernetes/connectedClusters/secrets/*\",\"Microsoft.Kubernetes/connectedClusters/serviceaccounts/*\",\"Microsoft.Kubernetes/connectedClusters/services/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:53:50.6749823Z\",\"updatedOn\":\"2020-11-02T23:48:04.7027508Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5b999177-9696-4545-85c7-50de3797e5a1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5b999177-9696-4545-85c7-50de3797e5a1\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Cluster Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage all resources in the cluster.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:55:30.9910462Z\",\"updatedOn\":\"2020-06-12T20:55:30.9910462Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8393591c-06b9-48a2-a542-1bd6b377f6a2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8393591c-06b9-48a2-a542-1bd6b377f6a2\"},{\"properties\":{\"roleName\":\"Azure + Arc Kubernetes Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + manage all resources under cluster/namespace, except update or delete resource + quotas and namespaces.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Kubernetes/connectedClusters/apps/controllerrevisions/read\",\"Microsoft.Kubernetes/connectedClusters/apps/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/apps/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/apps/statefulsets/*\",\"Microsoft.Kubernetes/connectedClusters/authorization.k8s.io/localsubjectaccessreviews/write\",\"Microsoft.Kubernetes/connectedClusters/autoscaling/horizontalpodautoscalers/*\",\"Microsoft.Kubernetes/connectedClusters/batch/cronjobs/*\",\"Microsoft.Kubernetes/connectedClusters/batch/jobs/*\",\"Microsoft.Kubernetes/connectedClusters/configmaps/*\",\"Microsoft.Kubernetes/connectedClusters/endpoints/*\",\"Microsoft.Kubernetes/connectedClusters/events.k8s.io/events/read\",\"Microsoft.Kubernetes/connectedClusters/events/read\",\"Microsoft.Kubernetes/connectedClusters/extensions/daemonsets/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/deployments/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/extensions/replicasets/*\",\"Microsoft.Kubernetes/connectedClusters/limitranges/read\",\"Microsoft.Kubernetes/connectedClusters/namespaces/read\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/ingresses/*\",\"Microsoft.Kubernetes/connectedClusters/networking.k8s.io/networkpolicies/*\",\"Microsoft.Kubernetes/connectedClusters/persistentvolumeclaims/*\",\"Microsoft.Kubernetes/connectedClusters/pods/*\",\"Microsoft.Kubernetes/connectedClusters/policy/poddisruptionbudgets/*\",\"Microsoft.Kubernetes/connectedClusters/rbac.authorization.k8s.io/rolebindings/*\",\"Microsoft.Kubernetes/connectedClusters/rbac.authorization.k8s.io/roles/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/replicationcontrollers/*\",\"Microsoft.Kubernetes/connectedClusters/resourcequotas/read\",\"Microsoft.Kubernetes/connectedClusters/secrets/*\",\"Microsoft.Kubernetes/connectedClusters/serviceaccounts/*\",\"Microsoft.Kubernetes/connectedClusters/services/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-06-12T20:57:06.0391177Z\",\"updatedOn\":\"2020-11-02T23:52:48.6202974Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/dffb1e0c-446f-4dde-a09f-99eb5cc68b96\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"dffb1e0c-446f-4dde-a09f-99eb5cc68b96\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Cluster Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage all resources in the cluster.\",\"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.Support/*\",\"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-02T17:47:24.4071415Z\",\"updatedOn\":\"2020-07-02T17:47:24.4071415Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Admin\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you manage all resources under cluster/namespace, except update or delete + resource quotas and namespaces.\",\"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.Support/*\",\"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/*\"],\"notDataActions\":[\"Microsoft.ContainerService/managedClusters/resourcequotas/write\",\"Microsoft.ContainerService/managedClusters/resourcequotas/delete\",\"Microsoft.ContainerService/managedClusters/namespaces/write\",\"Microsoft.ContainerService/managedClusters/namespaces/delete\"]}],\"createdOn\":\"2020-07-02T17:50:30.4020311Z\",\"updatedOn\":\"2020-07-02T17:50:30.4020311Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3498e952-d568-435e-9b2c-8d77e338d7f7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3498e952-d568-435e-9b2c-8d77e338d7f7\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read-only access to see most objects in a namespace. It does not allow viewing + roles or role bindings. This role does not allow viewing Secrets, since reading + the contents of Secrets enables access to ServiceAccount credentials in the + namespace, which would allow API access as any ServiceAccount in the namespace + (a form of privilege escalation). Applying this role at cluster scope will + give access across all namespaces.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read\",\"Microsoft.ContainerService/managedClusters/apps/daemonsets/read\",\"Microsoft.ContainerService/managedClusters/apps/deployments/read\",\"Microsoft.ContainerService/managedClusters/apps/replicasets/read\",\"Microsoft.ContainerService/managedClusters/apps/statefulsets/read\",\"Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read\",\"Microsoft.ContainerService/managedClusters/batch/cronjobs/read\",\"Microsoft.ContainerService/managedClusters/batch/jobs/read\",\"Microsoft.ContainerService/managedClusters/configmaps/read\",\"Microsoft.ContainerService/managedClusters/endpoints/read\",\"Microsoft.ContainerService/managedClusters/events.k8s.io/events/read\",\"Microsoft.ContainerService/managedClusters/events/read\",\"Microsoft.ContainerService/managedClusters/extensions/daemonsets/read\",\"Microsoft.ContainerService/managedClusters/extensions/deployments/read\",\"Microsoft.ContainerService/managedClusters/extensions/ingresses/read\",\"Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read\",\"Microsoft.ContainerService/managedClusters/extensions/replicasets/read\",\"Microsoft.ContainerService/managedClusters/limitranges/read\",\"Microsoft.ContainerService/managedClusters/namespaces/read\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read\",\"Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read\",\"Microsoft.ContainerService/managedClusters/pods/read\",\"Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/read\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/read\",\"Microsoft.ContainerService/managedClusters/resourcequotas/read\",\"Microsoft.ContainerService/managedClusters/serviceaccounts/read\",\"Microsoft.ContainerService/managedClusters/services/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-02T17:53:05.5728294Z\",\"updatedOn\":\"2020-10-22T16:08:11.1332215Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7f6c6a51-bcf8-42ba-9220-52d62157d7db\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7f6c6a51-bcf8-42ba-9220-52d62157d7db\"},{\"properties\":{\"roleName\":\"Azure + Kubernetes Service RBAC Writer\",\"type\":\"BuiltInRole\",\"description\":\"Allows + read/write access to most objects in a namespace.This role does not allow + viewing or modifying roles or role bindings. However, this role allows accessing + Secrets and running Pods as any ServiceAccount in the namespace, so it can + be used to gain the API access levels of any ServiceAccount in the namespace. + Applying this role at cluster scope will give access across all namespaces.\",\"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.Support/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read\",\"Microsoft.ContainerService/managedClusters/apps/daemonsets/*\",\"Microsoft.ContainerService/managedClusters/apps/deployments/*\",\"Microsoft.ContainerService/managedClusters/apps/replicasets/*\",\"Microsoft.ContainerService/managedClusters/apps/statefulsets/*\",\"Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/*\",\"Microsoft.ContainerService/managedClusters/batch/cronjobs/*\",\"Microsoft.ContainerService/managedClusters/batch/jobs/*\",\"Microsoft.ContainerService/managedClusters/configmaps/*\",\"Microsoft.ContainerService/managedClusters/endpoints/*\",\"Microsoft.ContainerService/managedClusters/events.k8s.io/events/read\",\"Microsoft.ContainerService/managedClusters/events/read\",\"Microsoft.ContainerService/managedClusters/extensions/daemonsets/*\",\"Microsoft.ContainerService/managedClusters/extensions/deployments/*\",\"Microsoft.ContainerService/managedClusters/extensions/ingresses/*\",\"Microsoft.ContainerService/managedClusters/extensions/networkpolicies/*\",\"Microsoft.ContainerService/managedClusters/extensions/replicasets/*\",\"Microsoft.ContainerService/managedClusters/limitranges/read\",\"Microsoft.ContainerService/managedClusters/namespaces/read\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/*\",\"Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/*\",\"Microsoft.ContainerService/managedClusters/persistentvolumeclaims/*\",\"Microsoft.ContainerService/managedClusters/pods/*\",\"Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/*\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/*\",\"Microsoft.ContainerService/managedClusters/replicationcontrollers/*\",\"Microsoft.ContainerService/managedClusters/resourcequotas/read\",\"Microsoft.ContainerService/managedClusters/secrets/*\",\"Microsoft.ContainerService/managedClusters/serviceaccounts/*\",\"Microsoft.ContainerService/managedClusters/services/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-02T17:54:51.9644983Z\",\"updatedOn\":\"2020-10-22T16:10:35.0181117Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb\"},{\"properties\":{\"roleName\":\"Services + Hub Operator\",\"type\":\"BuiltInRole\",\"description\":\"Services Hub Operator + allows you to perform all read, write, and deletion operations related to + Services Hub Connectors.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.ServicesHub/connectors/write\",\"Microsoft.ServicesHub/connectors/read\",\"Microsoft.ServicesHub/connectors/delete\",\"Microsoft.ServicesHub/connectors/checkAssessmentEntitlement/action\",\"Microsoft.ServicesHub/supportOfferingEntitlement/read\",\"Microsoft.ServicesHub/workspaces/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-07-20T17:57:22.0644902Z\",\"updatedOn\":\"2020-10-06T17:18:28.4647301Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/82200a5b-e217-47a5-b665-6d8765ee745b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"82200a5b-e217-47a5-b665-6d8765ee745b\"},{\"properties\":{\"roleName\":\"Object + Understanding Account Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you read ingestion jobs for an object understanding account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectUnderstandingAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-23T19:16:31.9929119Z\",\"updatedOn\":\"2020-07-23T19:16:31.9929119Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d18777c0-1514-4662-8490-608db7d334b6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d18777c0-1514-4662-8490-608db7d334b6\"},{\"properties\":{\"roleName\":\"Azure + Arc Enabled Kubernetes Cluster User Role\",\"type\":\"BuiltInRole\",\"description\":\"List + cluster user credentials action.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/deployments/write\",\"Microsoft.Resources/subscriptions/operationresults/read\",\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Kubernetes/connectedClusters/listClusterUserCredentials/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-07-28T17:37:00.7637445Z\",\"updatedOn\":\"2020-07-30T18:00:32.2764334Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00493d72-78f6-4148-b6c5-d3ce8e4799dd\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"00493d72-78f6-4148-b6c5-d3ce8e4799dd\"},{\"properties\":{\"roleName\":\"SignalR + App Server (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets your + app server access SignalR Service with AAD auth options.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/auth/accessKey/action\",\"Microsoft.SignalRService/SignalR/serverConnection/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-29T06:54:40.1201435Z\",\"updatedOn\":\"2020-10-23T08:23:46.8454102Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/420fcaa2-552c-430f-98ca-3264be4806c7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"420fcaa2-552c-430f-98ca-3264be4806c7\"},{\"properties\":{\"roleName\":\"SignalR + Serverless Contributor (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets + your app access service in serverless mode with AAD auth options.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/auth/clientToken/action\"],\"notDataActions\":[]}],\"createdOn\":\"2020-07-29T09:35:32.2764751Z\",\"updatedOn\":\"2020-10-23T08:24:24.5713531Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd53cd77-2268-407a-8f46-7e7863d0f521\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"fd53cd77-2268-407a-8f46-7e7863d0f521\"},{\"properties\":{\"roleName\":\"Collaborative + Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Can manage data + packages of a collaborative.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/*/read\",\"Microsoft.IndustryDataLifecycle/memberCollaboratives/*/read\",\"Microsoft.IndustryDataLifecycle/locations/dataPackages/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/receivedDataPackages/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/rejectDataPackage/action\",\"Microsoft.IndustryDataLifecycle/memberCollaboratives/sharedDataPackages/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/dataModels/*\",\"Microsoft.IndustryDataLifecycle/custodianCollaboratives/auditLogs/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-08-14T11:58:31.8973556Z\",\"updatedOn\":\"2021-03-17T06:19:53.4915361Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/daa9e50b-21df-454c-94a6-a8050adab352\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"daa9e50b-21df-454c-94a6-a8050adab352\"},{\"properties\":{\"roleName\":\"Device + Update Reader\",\"type\":\"BuiltInRole\",\"description\":\"Gives you read + access to management and content operations, but does not allow making changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\",\"Microsoft.DeviceUpdate/accounts/instances/management/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:40:19.2373610Z\",\"updatedOn\":\"2020-08-21T23:40:19.2373610Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e9dba6fb-3d52-4cf0-bce3-f06ce71b9e0f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e9dba6fb-3d52-4cf0-bce3-f06ce71b9e0f\"},{\"properties\":{\"roleName\":\"Device + Update Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Gives you + full access to management and content operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\",\"Microsoft.DeviceUpdate/accounts/instances/updates/write\",\"Microsoft.DeviceUpdate/accounts/instances/updates/delete\",\"Microsoft.DeviceUpdate/accounts/instances/management/read\",\"Microsoft.DeviceUpdate/accounts/instances/management/write\",\"Microsoft.DeviceUpdate/accounts/instances/management/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:56:22.3520510Z\",\"updatedOn\":\"2020-08-21T23:56:22.3520510Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/02ca0879-e8e4-47a5-a61e-5c618b76e64a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"02ca0879-e8e4-47a5-a61e-5c618b76e64a\"},{\"properties\":{\"roleName\":\"Device + Update Content Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Gives + you full access to content operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\",\"Microsoft.DeviceUpdate/accounts/instances/updates/write\",\"Microsoft.DeviceUpdate/accounts/instances/updates/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:58:18.4255500Z\",\"updatedOn\":\"2020-08-21T23:58:18.4255500Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0378884a-3af5-44ab-8323-f5b22f9f3c98\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0378884a-3af5-44ab-8323-f5b22f9f3c98\"},{\"properties\":{\"roleName\":\"Device + Update Deployments Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Gives + you full access to management operations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/management/read\",\"Microsoft.DeviceUpdate/accounts/instances/management/write\",\"Microsoft.DeviceUpdate/accounts/instances/management/delete\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-21T23:59:52.1001666Z\",\"updatedOn\":\"2020-08-21T23:59:52.1001666Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e4237640-0e3d-4a46-8fda-70bc94856432\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e4237640-0e3d-4a46-8fda-70bc94856432\"},{\"properties\":{\"roleName\":\"Device + Update Deployments Reader\",\"type\":\"BuiltInRole\",\"description\":\"Gives + you read access to management operations, but does not allow making changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/management/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-22T00:01:34.7053630Z\",\"updatedOn\":\"2020-08-22T00:01:34.7053630Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/49e2f5d2-7741-4835-8efa-19e1fe35e47f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"49e2f5d2-7741-4835-8efa-19e1fe35e47f\"},{\"properties\":{\"roleName\":\"Device + Update Content Reader\",\"type\":\"BuiltInRole\",\"description\":\"Gives you + read access to content operations, but does not allow making changes\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\",\"Microsoft.Insights/alertRules/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.DeviceUpdate/accounts/instances/updates/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-08-22T00:02:43.3299181Z\",\"updatedOn\":\"2020-08-22T00:02:43.3299181Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d1ee9a80-8b14-47f0-bdc2-f4a351625a7b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d1ee9a80-8b14-47f0-bdc2-f4a351625a7b\"},{\"properties\":{\"roleName\":\"Cognitive + Services Metrics Advisor Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to the project, including the system level configuration.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/MetricsAdvisor/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-10T07:46:47.5804491Z\",\"updatedOn\":\"2020-09-16T12:07:16.3975746Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/cb43c632-a144-4ec5-977c-e80c4affc34a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"cb43c632-a144-4ec5-977c-e80c4affc34a\"},{\"properties\":{\"roleName\":\"Cognitive + Services Metrics Advisor User\",\"type\":\"BuiltInRole\",\"description\":\"Access + to the project.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.CognitiveServices/*/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/MetricsAdvisor/*\"],\"notDataActions\":[\"Microsoft.CognitiveServices/accounts/MetricsAdvisor/stats/*\"]}],\"createdOn\":\"2020-09-10T07:47:59.6195639Z\",\"updatedOn\":\"2020-09-16T12:06:29.1731967Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3b20f47b-3825-43cb-8114-4bd2201156a8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3b20f47b-3825-43cb-8114-4bd2201156a8\"},{\"properties\":{\"roleName\":\"Schema + Registry Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read + and list Schema Registry groups and schemas.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/namespaces/schemagroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/namespaces/schemas/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-13T06:31:38.0272740Z\",\"updatedOn\":\"2020-09-13T06:31:38.0272740Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2c56ea50-c6b3-40a6-83c0-9d98858bc7d2\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2c56ea50-c6b3-40a6-83c0-9d98858bc7d2\"},{\"properties\":{\"roleName\":\"Schema + Registry Contributor (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read, + write, and delete Schema Registry groups and schemas.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.EventHub/namespaces/schemagroups/*\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventHub/namespaces/schemas/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-13T06:48:26.6032931Z\",\"updatedOn\":\"2020-09-13T06:48:26.6032931Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5dffeca3-4936-4216-b2bc-10343a5abb25\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5dffeca3-4936-4216-b2bc-10343a5abb25\"},{\"properties\":{\"roleName\":\"AgFood + Platform Service Reader\",\"type\":\"BuiltInRole\",\"description\":\"Provides + read access to AgFood Platform Service\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AgFoodPlatform/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-14T10:21:08.9138820Z\",\"updatedOn\":\"2020-09-14T10:21:08.9138820Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7ec7ccdc-f61e-41fe-9aaf-980df0a44eba\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7ec7ccdc-f61e-41fe-9aaf-980df0a44eba\"},{\"properties\":{\"roleName\":\"AgFood + Platform Service Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Provides + contribute access to AgFood Platform Service\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AgFoodPlatform/*/action\",\"Microsoft.AgFoodPlatform/*/read\",\"Microsoft.AgFoodPlatform/*/write\"],\"notDataActions\":[\"Microsoft.AgFoodPlatform/farmers/write\"]}],\"createdOn\":\"2020-09-14T10:21:09.7239169Z\",\"updatedOn\":\"2020-10-27T09:45:30.5740183Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8508508a-4469-4e45-963b-2518ee0bb728\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8508508a-4469-4e45-963b-2518ee0bb728\"},{\"properties\":{\"roleName\":\"AgFood + Platform Service Admin\",\"type\":\"BuiltInRole\",\"description\":\"Provides + admin access to AgFood Platform Service\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AgFoodPlatform/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-09-14T10:21:09.8039209Z\",\"updatedOn\":\"2020-09-14T10:21:09.8039209Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f8da80de-1ff9-4747-ad80-a19b7f6079e3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f8da80de-1ff9-4747-ad80-a19b7f6079e3\"},{\"properties\":{\"roleName\":\"Managed + HSM contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage + managed HSM pools, but not access to them.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.KeyVault/managedHSMs/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-09-16T21:47:01.1291104Z\",\"updatedOn\":\"2020-09-16T21:47:01.1291104Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18500a29-7fe2-46b2-a342-b16a415e101d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"18500a29-7fe2-46b2-a342-b16a415e101d\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Submitter\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to create submissions to Security Detonation Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/submissions/delete\",\"Microsoft.SecurityDetonation/chambers/submissions/write\",\"Microsoft.SecurityDetonation/chambers/submissions/read\",\"Microsoft.SecurityDetonation/chambers/submissions/files/read\",\"Microsoft.SecurityDetonation/chambers/submissions/accesskeyview/read\",\"Microsoft.SecurityDetonation/chambers/platforms/metadata/read\",\"Microsoft.SecurityDetonation/chambers/workflows/metadata/read\",\"Microsoft.SecurityDetonation/chambers/toolsets/metadata/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-10-01T08:55:21.3980274Z\",\"updatedOn\":\"2021-05-23T13:37:59.3020751Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0b555d9b-b4a7-4f43-b330-627f0e5be8f0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0b555d9b-b4a7-4f43-b330-627f0e5be8f0\"},{\"properties\":{\"roleName\":\"SignalR + Service Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + access to Azure SignalR Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/group/read\",\"Microsoft.SignalRService/SignalR/clientConnection/read\",\"Microsoft.SignalRService/SignalR/user/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-10-13T09:19:05.6463616Z\",\"updatedOn\":\"2020-10-23T08:25:22.8928130Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ddde6b66-c0df-4114-a159-3618637b3035\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ddde6b66-c0df-4114-a159-3618637b3035\"},{\"properties\":{\"roleName\":\"SignalR + Service Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to Azure SignalR Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/SignalR/auth/accessKey/action\",\"Microsoft.SignalRService/SignalR/auth/clientToken/action\",\"Microsoft.SignalRService/SignalR/hub/send/action\",\"Microsoft.SignalRService/SignalR/group/send/action\",\"Microsoft.SignalRService/SignalR/group/read\",\"Microsoft.SignalRService/SignalR/group/write\",\"Microsoft.SignalRService/SignalR/clientConnection/send/action\",\"Microsoft.SignalRService/SignalR/clientConnection/read\",\"Microsoft.SignalRService/SignalR/clientConnection/write\",\"Microsoft.SignalRService/SignalR/user/send/action\",\"Microsoft.SignalRService/SignalR/user/read\",\"Microsoft.SignalRService/SignalR/user/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-10-13T09:20:32.1501410Z\",\"updatedOn\":\"2021-03-24T09:39:35.1558342Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7e4f1700-ea5a-4f59-8f37-079cfe29dce3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7e4f1700-ea5a-4f59-8f37-079cfe29dce3\"},{\"properties\":{\"roleName\":\"Reservation + Purchaser\",\"type\":\"BuiltInRole\",\"description\":\"Lets you purchase reservations\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Resources/subscriptions/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Capacity/register/action\",\"Microsoft.Compute/register/action\",\"Microsoft.SQL/register/action\",\"Microsoft.Consumption/register/action\",\"Microsoft.Capacity/catalogs/read\",\"Microsoft.Authorization/roleAssignments/read\",\"Microsoft.Consumption/reservationRecommendations/read\",\"Microsoft.Support/supporttickets/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-10-23T20:22:48.9217751Z\",\"updatedOn\":\"2020-10-23T20:22:48.9217751Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f7b75c60-3036-4b75-91c3-6b41c27c1689\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f7b75c60-3036-4b75-91c3-6b41c27c1689\"},{\"properties\":{\"roleName\":\"AzureML + Metrics Writer (preview)\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you write metrics to AzureML workspace\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.MachineLearningServices/workspaces/metrics/*/write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-10-27T16:55:19.5664950Z\",\"updatedOn\":\"2020-10-28T19:17:09.2941184Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/635dd51f-9968-44d3-b7fb-6d9a6bd613ae\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"635dd51f-9968-44d3-b7fb-6d9a6bd613ae\"},{\"properties\":{\"roleName\":\"Storage + Account Backup Contributor Role\",\"type\":\"BuiltInRole\",\"description\":\"Storage + Account Backup Contributors are allowed to perform backup and restore of Storage + Account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Authorization/locks/read\",\"Microsoft.Authorization/locks/write\",\"Microsoft.Authorization/locks/delete\",\"Microsoft.Features/features/read\",\"Microsoft.Features/providers/features/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Storage/operations/read\",\"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\"Microsoft.Storage/storageAccounts/blobServices/read\",\"Microsoft.Storage/storageAccounts/blobServices/write\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Storage/storageAccounts/restoreBlobRanges/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-11-02T23:32:50.4203469Z\",\"updatedOn\":\"2020-11-18T22:53:07.0632395Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e5e2a7ff-d759-4cd2-bb51-3152d37e2eb1\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e5e2a7ff-d759-4cd2-bb51-3152d37e2eb1\"},{\"properties\":{\"roleName\":\"Experimentation + Metric Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + creation, writes and reads to the metric set via the metrics service APIs.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/metricwrite/action\",\"Microsoft.Experimentation/experimentWorkspaces/metricwrite/action\",\"Microsoft.Experimentation/experimentWorkspaces/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-10T20:07:53.7535885Z\",\"updatedOn\":\"2021-03-05T16:14:20.5696005Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/6188b7c9-7d01-4f99-a59f-c88b630326c0\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"6188b7c9-7d01-4f99-a59f-c88b630326c0\"},{\"properties\":{\"roleName\":\"Project + Babylon Data Curator\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.ProjectBabylon + data curator can create, read, modify and delete catalog data objects and + establish relationships between objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ProjectBabylon/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ProjectBabylon/accounts/data/read\",\"Microsoft.ProjectBabylon/accounts/data/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:31:33.7988825Z\",\"updatedOn\":\"2020-11-20T21:21:21.9658575Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9ef4ef9c-a049-46b0-82ab-dd8ac094c889\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9ef4ef9c-a049-46b0-82ab-dd8ac094c889\"},{\"properties\":{\"roleName\":\"Project + Babylon Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.ProjectBabylon + data reader can read catalog data objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ProjectBabylon/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ProjectBabylon/accounts/data/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:33:13.5342351Z\",\"updatedOn\":\"2020-11-20T21:21:51.9362426Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c8d896ba-346d-4f50-bc1d-7d1c84130446\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c8d896ba-346d-4f50-bc1d-7d1c84130446\"},{\"properties\":{\"roleName\":\"Project + Babylon Data Source Administrator\",\"type\":\"BuiltInRole\",\"description\":\"The + Microsoft.ProjectBabylon data source administrator can manage data sources + and data scans. This role is in preview and subject to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.ProjectBabylon/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.ProjectBabylon/accounts/scan/read\",\"Microsoft.ProjectBabylon/accounts/scan/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:34:01.8401954Z\",\"updatedOn\":\"2020-11-20T21:22:15.6138058Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/05b7651b-dc44-475e-b74d-df3db49fae0f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"05b7651b-dc44-475e-b74d-df3db49fae0f\"},{\"properties\":{\"roleName\":\"Purview + Data Curator\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.Purview + data curator can create, read, modify and delete catalog data objects and + establish relationships between objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Purview/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Purview/accounts/data/read\",\"Microsoft.Purview/accounts/data/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:37:15.0123345Z\",\"updatedOn\":\"2020-11-20T21:24:12.8131677Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8a3c2885-9b38-4fd2-9d99-91af537c1347\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8a3c2885-9b38-4fd2-9d99-91af537c1347\"},{\"properties\":{\"roleName\":\"Purview + Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"The Microsoft.Purview + data reader can read catalog data objects. This role is in preview and subject + to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Purview/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Purview/accounts/data/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:39:22.2344740Z\",\"updatedOn\":\"2020-11-20T21:24:29.5157346Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ff100721-1b9d-43d8-af52-42b69c1272db\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ff100721-1b9d-43d8-af52-42b69c1272db\"},{\"properties\":{\"roleName\":\"Purview + Data Source Administrator\",\"type\":\"BuiltInRole\",\"description\":\"The + Microsoft.Purview data source administrator can manage data sources and data + scans. This role is in preview and subject to change.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Purview/accounts/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Purview/accounts/scan/read\",\"Microsoft.Purview/accounts/scan/write\"],\"notDataActions\":[]}],\"createdOn\":\"2020-11-14T02:40:05.0975648Z\",\"updatedOn\":\"2020-11-20T21:24:43.5940624Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/200bba9e-f0c8-430f-892b-6f0794863803\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"200bba9e-f0c8-430f-892b-6f0794863803\"},{\"properties\":{\"roleName\":\"Application + Group Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Application Group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/applicationgroups/*\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.DesktopVirtualization/workspaces/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-03T23:26:00.2784962Z\",\"updatedOn\":\"2020-12-04T23:46:35.0341772Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ca6382a4-1721-4bcf-a114-ff0c70227b6b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ca6382a4-1721-4bcf-a114-ff0c70227b6b\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of Desktop Virtualization.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:36:19.0140629Z\",\"updatedOn\":\"2020-12-11T21:36:19.0140629Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/49a72310-ab8d-41df-bbb0-79b649203868\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"49a72310-ab8d-41df-bbb0-79b649203868\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of Desktop Virtualization.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:37:16.2910337Z\",\"updatedOn\":\"2020-12-11T21:37:16.2910337Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/082f0a83-3be5-4ba1-904c-961cca79b387\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"082f0a83-3be5-4ba1-904c-961cca79b387\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Workspace Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Desktop Virtualization Workspace.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/workspaces/*\",\"Microsoft.DesktopVirtualization/applicationgroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:38:29.6089216Z\",\"updatedOn\":\"2020-12-11T21:38:29.6089216Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/21efdde3-836f-432b-bf3d-3e8e734d4b2b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"21efdde3-836f-432b-bf3d-3e8e734d4b2b\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization User Session Operator\",\"type\":\"BuiltInRole\",\"description\":\"Operator + of the Desktop Virtualization Uesr Session.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:39:16.9100273Z\",\"updatedOn\":\"2020-12-11T21:39:16.9100273Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ea4bfff8-7fb4-485a-aadd-d4129a0ffaa6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ea4bfff8-7fb4-485a-aadd-d4129a0ffaa6\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Session Host Operator\",\"type\":\"BuiltInRole\",\"description\":\"Operator + of the Desktop Virtualization Session Host.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:39:53.2569741Z\",\"updatedOn\":\"2020-12-11T21:39:53.2569741Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2ad6aaab-ead9-4eaa-8ac5-da422f562408\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"2ad6aaab-ead9-4eaa-8ac5-da422f562408\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Host Pool Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of the Desktop Virtualization Host Pool.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/*/read\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:40:33.1430834Z\",\"updatedOn\":\"2020-12-11T21:40:33.1430834Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ceadfde2-b300-400a-ab7b-6143895aa822\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ceadfde2-b300-400a-ab7b-6143895aa822\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Host Pool Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Desktop Virtualization Host Pool.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/hostpools/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:40:57.2976187Z\",\"updatedOn\":\"2020-12-11T21:40:57.2976187Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e307426c-f9b6-4e81-87de-d99efb3c32bc\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e307426c-f9b6-4e81-87de-d99efb3c32bc\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Application Group Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of the Desktop Virtualization Application Group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/applicationgroups/*/read\",\"Microsoft.DesktopVirtualization/applicationgroups/read\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:41:18.0287398Z\",\"updatedOn\":\"2020-12-11T21:41:18.0287398Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/aebf23d0-b568-4e86-b8f9-fe83a2c6ab55\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"aebf23d0-b568-4e86-b8f9-fe83a2c6ab55\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Application Group Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Contributor + of the Desktop Virtualization Application Group.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/applicationgroups/*\",\"Microsoft.DesktopVirtualization/hostpools/read\",\"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:41:38.6205531Z\",\"updatedOn\":\"2020-12-11T21:41:38.6205531Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/86240b0e-9422-4c43-887b-b61143f32ba8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"86240b0e-9422-4c43-887b-b61143f32ba8\"},{\"properties\":{\"roleName\":\"Desktop + Virtualization Workspace Reader\",\"type\":\"BuiltInRole\",\"description\":\"Reader + of the Desktop Virtualization Workspace.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DesktopVirtualization/workspaces/read\",\"Microsoft.DesktopVirtualization/applicationgroups/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Resources/deployments/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-11T21:41:58.1892707Z\",\"updatedOn\":\"2020-12-11T21:41:58.1892707Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0fa44ee9-7a7d-466b-9bb2-2bf446b1204d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0fa44ee9-7a7d-466b-9bb2-2bf446b1204d\"},{\"properties\":{\"roleName\":\"Disk + Backup Reader\",\"type\":\"BuiltInRole\",\"description\":\"Provides permission + to backup vault to perform disk backup.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Compute/disks/read\",\"Microsoft.Compute/disks/beginGetAccess/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T07:39:03.8394514Z\",\"updatedOn\":\"2020-12-18T05:00:23.3015246Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3e5e47e6-65f7-47ef-90b5-e5dd4d455f24\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"3e5e47e6-65f7-47ef-90b5-e5dd4d455f24\"},{\"properties\":{\"roleName\":\"Autonomous + Development Platform Data Contributor (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Grants + permissions to upload and manage new Autonomous Development Platform measurements.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/discoveries/*\",\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/uploads/*\",\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/measurements/states/new/*\",\"Microsoft.AutonomousDevelopmentPlatform/accounts/measurementCollections/*\"],\"notDataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools/measurements/states/new/changeState/action\"]}],\"createdOn\":\"2020-12-15T11:30:01.7459379Z\",\"updatedOn\":\"2021-02-08T20:04:29.9188777Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b8b15564-4fa6-4a59-ab12-03e1d9594795\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b8b15564-4fa6-4a59-ab12-03e1d9594795\"},{\"properties\":{\"roleName\":\"Autonomous + Development Platform Data Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Grants + read access to Autonomous Development Platform data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:11:31.9843256Z\",\"updatedOn\":\"2021-02-08T16:16:53.0489887Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d63b75f7-47ea-4f27-92ac-e0d173aaf093\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d63b75f7-47ea-4f27-92ac-e0d173aaf093\"},{\"properties\":{\"roleName\":\"Autonomous + Development Platform Data Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Grants + full access to Autonomous Development Platform data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*/read\",\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.AutonomousDevelopmentPlatform/accounts/*\"],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:13:59.9702378Z\",\"updatedOn\":\"2021-02-08T16:12:28.8035230Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/27f8b550-c507-4db9-86f2-f4b8e816d59d\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"27f8b550-c507-4db9-86f2-f4b8e816d59d\"},{\"properties\":{\"roleName\":\"Disk + Restore Operator\",\"type\":\"BuiltInRole\",\"description\":\"Provides permission + to backup vault to perform disk restore.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Compute/disks/write\",\"Microsoft.Compute/disks/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:18:31.8481619Z\",\"updatedOn\":\"2020-12-18T05:00:53.9562743Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b50d9833-a0cb-478e-945f-707fcc997c13\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b50d9833-a0cb-478e-945f-707fcc997c13\"},{\"properties\":{\"roleName\":\"Disk + Snapshot Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Provides + permission to backup vault to manage disk snapshots.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Compute/snapshots/delete\",\"Microsoft.Compute/snapshots/write\",\"Microsoft.Compute/snapshots/read\",\"Microsoft.Compute/snapshots/beginGetAccess/action\",\"Microsoft.Compute/snapshots/endGetAccess/action\",\"Microsoft.Compute/disks/beginGetAccess/action\",\"Microsoft.Storage/storageAccounts/listkeys/action\",\"Microsoft.Storage/storageAccounts/write\",\"Microsoft.Storage/storageAccounts/read\",\"Microsoft.Storage/storageAccounts/delete\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2020-12-15T12:18:51.4471411Z\",\"updatedOn\":\"2021-01-06T04:00:07.5681241Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7efff54f-a5b4-42b5-a1c5-5411624893ce\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7efff54f-a5b4-42b5-a1c5-5411624893ce\"},{\"properties\":{\"roleName\":\"Microsoft.Kubernetes + connected cluster role\",\"type\":\"BuiltInRole\",\"description\":\"Microsoft.Kubernetes + connected cluster role.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Kubernetes/connectedClusters/read\",\"Microsoft.Kubernetes/connectedClusters/write\",\"Microsoft.Kubernetes/connectedClusters/delete\",\"Microsoft.Kubernetes/registeredSubscriptions/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-07T23:57:10.9923232Z\",\"updatedOn\":\"2021-01-07T23:57:10.9923232Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5548b2cf-c94c-4228-90ba-30851930a12f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5548b2cf-c94c-4228-90ba-30851930a12f\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Submission Manager\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to create and manage submissions to Security Detonation Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/submissions/delete\",\"Microsoft.SecurityDetonation/chambers/submissions/write\",\"Microsoft.SecurityDetonation/chambers/submissions/read\",\"Microsoft.SecurityDetonation/chambers/submissions/files/read\",\"Microsoft.SecurityDetonation/chambers/submissions/accesskeyview/read\",\"Microsoft.SecurityDetonation/chambers/submissions/adminview/read\",\"Microsoft.SecurityDetonation/chambers/submissions/analystview/read\",\"Microsoft.SecurityDetonation/chambers/submissions/publicview/read\",\"Microsoft.SecurityDetonation/chambers/platforms/metadata/read\",\"Microsoft.SecurityDetonation/chambers/workflows/metadata/read\",\"Microsoft.SecurityDetonation/chambers/toolsets/metadata/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-01-18T09:35:36.5739297Z\",\"updatedOn\":\"2021-05-23T13:38:47.4627306Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a37b566d-3efa-4beb-a2f2-698963fa42ce\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a37b566d-3efa-4beb-a2f2-698963fa42ce\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Publisher\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to publish and modify platforms, workflows and toolsets to Security Detonation + Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/platforms/read\",\"Microsoft.SecurityDetonation/chambers/platforms/write\",\"Microsoft.SecurityDetonation/chambers/platforms/delete\",\"Microsoft.SecurityDetonation/chambers/platforms/metadata/read\",\"Microsoft.SecurityDetonation/chambers/workflows/read\",\"Microsoft.SecurityDetonation/chambers/workflows/write\",\"Microsoft.SecurityDetonation/chambers/workflows/delete\",\"Microsoft.SecurityDetonation/chambers/workflows/metadata/read\",\"Microsoft.SecurityDetonation/chambers/toolsets/read\",\"Microsoft.SecurityDetonation/chambers/toolsets/write\",\"Microsoft.SecurityDetonation/chambers/toolsets/delete\",\"Microsoft.SecurityDetonation/chambers/toolsets/metadata/read\",\"Microsoft.SecurityDetonation/chambers/publishRequests/read\",\"Microsoft.SecurityDetonation/chambers/publishRequests/cancel/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-01-18T11:43:14.0858184Z\",\"updatedOn\":\"2021-03-07T13:06:15.7172517Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/352470b3-6a9c-4686-b503-35deb827e500\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"352470b3-6a9c-4686-b503-35deb827e500\"},{\"properties\":{\"roleName\":\"Collaborative + Runtime Operator\",\"type\":\"BuiltInRole\",\"description\":\"Can manage resources + created by AICS at runtime\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.IndustryDataLifecycle/derivedModels/*\",\"Microsoft.IndustryDataLifecycle/pipelineSets/*\",\"Microsoft.IndustryDataLifecycle/modelMappings/*\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-19T10:00:27.3464971Z\",\"updatedOn\":\"2021-04-26T06:26:59.0344457Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/7a6f0e70-c033-4fb1-828c-08514e5f4102\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"7a6f0e70-c033-4fb1-828c-08514e5f4102\"},{\"properties\":{\"roleName\":\"CosmosRestoreOperator\",\"type\":\"BuiltInRole\",\"description\":\"Can + perform restore action for Cosmos DB database account with continuous backup + mode\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action\",\"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read\",\"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-21T19:51:35.3884884Z\",\"updatedOn\":\"2021-01-23T01:40:20.9862312Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5432c526-bc82-444a-b7ba-57c5b0b5b34f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"5432c526-bc82-444a-b7ba-57c5b0b5b34f\"},{\"properties\":{\"roleName\":\"FHIR + Data Converter\",\"type\":\"BuiltInRole\",\"description\":\"Role allows user + or principal to convert data from legacy format to FHIR\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/services/fhir/resources/convertData/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-01-22T19:39:01.1601069Z\",\"updatedOn\":\"2021-01-22T19:39:01.1601069Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a1705bd2-3a8f-45a5-8683-466fcfd5cc24\"},{\"properties\":{\"roleName\":\"Azure + Sentinel Automation Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Azure + Sentinel Automation Contributor\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Logic/workflows/triggers/read\",\"Microsoft.Logic/workflows/triggers/listCallbackUrl/action\",\"Microsoft.Logic/workflows/runs/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-01-24T08:50:52.0382991Z\",\"updatedOn\":\"2021-01-25T19:48:16.7893833Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f4c81013-99ee-4d62-a7ee-b3f1f648599a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f4c81013-99ee-4d62-a7ee-b3f1f648599a\"},{\"properties\":{\"roleName\":\"Quota + Request Operator\",\"type\":\"BuiltInRole\",\"description\":\"Read and create + quota requests, get quota request status, and create support tickets.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Capacity/resourceProviders/locations/serviceLimits/read\",\"Microsoft.Capacity/resourceProviders/locations/serviceLimits/write\",\"Microsoft.Capacity/resourceProviders/locations/serviceLimitsRequests/read\",\"Microsoft.Capacity/register/action\",\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-02-03T00:06:35.8404575Z\",\"updatedOn\":\"2021-03-22T21:53:11.9852943Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0e5f05e5-9ab9-446b-b98d-1e2157c94125\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0e5f05e5-9ab9-446b-b98d-1e2157c94125\"},{\"properties\":{\"roleName\":\"EventGrid + Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Lets you manage EventGrid + operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.EventGrid/*\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.Support/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-02-08T18:46:18.8999557Z\",\"updatedOn\":\"2021-02-11T00:02:16.0328078Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1e241071-0855-49ea-94dc-649edcd759de\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1e241071-0855-49ea-94dc-649edcd759de\"},{\"properties\":{\"roleName\":\"Security + Detonation Chamber Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allowed + to query submission info and files from Security Detonation Chamber\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SecurityDetonation/chambers/submissions/read\",\"Microsoft.SecurityDetonation/chambers/submissions/files/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-01T14:06:46.2814905Z\",\"updatedOn\":\"2021-03-01T14:09:25.0080904Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/28241645-39f8-410b-ad48-87863e2951d5\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"28241645-39f8-410b-ad48-87863e2951d5\"},{\"properties\":{\"roleName\":\"Object + Anchors Account Reader\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + read ingestion jobs for an object anchors account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectAnchorsAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-02T01:20:47.0279813Z\",\"updatedOn\":\"2021-03-02T01:34:08.6743401Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4a167cdf-cb95-4554-9203-2347fe489bd9\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4a167cdf-cb95-4554-9203-2347fe489bd9\"},{\"properties\":{\"roleName\":\"Object + Anchors Account Owner\",\"type\":\"BuiltInRole\",\"description\":\"Provides + user with ingestion capabilities for an object anchors account.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.MixedReality/ObjectAnchorsAccounts/ingest/action\",\"Microsoft.MixedReality/ObjectAnchorsAccounts/ingest/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-02T01:42:02.0014737Z\",\"updatedOn\":\"2021-03-02T01:45:23.2472961Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ca0835dd-bacc-42dd-8ed2-ed5e7230d15b\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"ca0835dd-bacc-42dd-8ed2-ed5e7230d15b\"},{\"properties\":{\"roleName\":\"WorkloadBuilder + Migration Agent Role\",\"type\":\"BuiltInRole\",\"description\":\"WorkloadBuilder + Migration Agent Role.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.WorkloadBuilder/migrationAgents/Read\",\"Microsoft.WorkloadBuilder/migrationAgents/Write\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-03-11T17:07:20.0828003Z\",\"updatedOn\":\"2021-03-11T17:07:20.0828003Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d17ce0a2-0697-43bc-aac5-9113337ab61c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d17ce0a2-0697-43bc-aac5-9113337ab61c\"},{\"properties\":{\"roleName\":\"Web + PubSub Service Owner (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Full + access to Azure Web PubSub Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/WebPubSub/clientConnection/read\",\"Microsoft.SignalRService/WebPubSub/clientConnection/send/action\",\"Microsoft.SignalRService/WebPubSub/clientConnection/write\",\"Microsoft.SignalRService/WebPubSub/group/read\",\"Microsoft.SignalRService/WebPubSub/group/send/action\",\"Microsoft.SignalRService/WebPubSub/group/write\",\"Microsoft.SignalRService/WebPubSub/hub/send/action\",\"Microsoft.SignalRService/WebPubSub/user/read\",\"Microsoft.SignalRService/WebPubSub/user/send/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-24T09:10:11.8335180Z\",\"updatedOn\":\"2021-03-24T09:28:41.8434072Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/12cf5a90-567b-43ae-8102-96cf46c7d9b4\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"12cf5a90-567b-43ae-8102-96cf46c7d9b4\"},{\"properties\":{\"roleName\":\"Web + PubSub Service Reader (Preview)\",\"type\":\"BuiltInRole\",\"description\":\"Read-only + access to Azure Web PubSub Service REST APIs\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.SignalRService/WebPubSub/clientConnection/read\",\"Microsoft.SignalRService/WebPubSub/group/read\",\"Microsoft.SignalRService/WebPubSub/user/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-24T09:11:12.6235436Z\",\"updatedOn\":\"2021-03-24T09:30:51.2337584Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/bfb1c7d2-fb1a-466b-b2ba-aee63b92deaf\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"bfb1c7d2-fb1a-466b-b2ba-aee63b92deaf\"},{\"properties\":{\"roleName\":\"Azure + Spring Cloud Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allow + read access to Azure Spring Cloud Data\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AppPlatform/Spring/*/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-25T11:12:12.6786010Z\",\"updatedOn\":\"2021-03-25T11:15:24.6631615Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b5537268-8956-4941-a8f0-646150406f0c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b5537268-8956-4941-a8f0-646150406f0c\"},{\"properties\":{\"roleName\":\"Cognitive + Services Speech User\",\"type\":\"BuiltInRole\",\"description\":\"This is + a role that can create, read, change and delete batch transcriptions, do real + time transcriptions and list or get other speech resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/SpeechServices/*/read\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/transcriptions/write\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/transcriptions/delete\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/transcriptions/read\",\"Microsoft.CognitiveServices/accounts/SpeechServices/*/frontend/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-30T11:28:27.4339032Z\",\"updatedOn\":\"2021-03-30T11:28:27.4339032Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f2dc8367-1007-4938-bd23-fe263f013447\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"f2dc8367-1007-4938-bd23-fe263f013447\"},{\"properties\":{\"roleName\":\"Cognitive + Services Speech Contributor\",\"type\":\"BuiltInRole\",\"description\":\"This + is a role that can read, write and delete all speech resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/SpeechServices/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-30T11:28:49.7826633Z\",\"updatedOn\":\"2021-03-30T11:28:49.7826633Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0e75ca1e-0464-4b4d-8b93-68208a576181\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0e75ca1e-0464-4b4d-8b93-68208a576181\"},{\"properties\":{\"roleName\":\"Cognitive + Services Face Recognizer\",\"type\":\"BuiltInRole\",\"description\":\"Lets + you perform detect, verify, identify, group, and find similar operations on + Face API. This role does not allow create or delete operations, which makes + it well suited for endpoints that only need inferencing capabilities, following + 'least privilege' best practices.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.CognitiveServices/accounts/Face/detect/action\",\"Microsoft.CognitiveServices/accounts/Face/verify/action\",\"Microsoft.CognitiveServices/accounts/Face/identify/action\",\"Microsoft.CognitiveServices/accounts/Face/group/action\",\"Microsoft.CognitiveServices/accounts/Face/findsimilars/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-03-31T01:51:41.3557295Z\",\"updatedOn\":\"2021-03-31T01:51:41.3557295Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9894cab4-e18a-44aa-828b-cb588cd6f2d7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"9894cab4-e18a-44aa-828b-cb588cd6f2d7\"},{\"properties\":{\"roleName\":\"Media + Services Account Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify, and delete Media Services accounts; read-only access to other + Media Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/listStreamingLocators/action\",\"Microsoft.Media/mediaservices/streamingLocators/listPaths/action\",\"Microsoft.Media/mediaservices/write\",\"Microsoft.Media/mediaservices/delete\",\"Microsoft.Media/mediaservices/privateEndpointConnectionsApproval/action\",\"Microsoft.Media/mediaservices/privateEndpointConnections/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:20:32.2956636Z\",\"updatedOn\":\"2021-06-11T21:21:11.1352414Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/054126f8-9a2b-4f1c-a9ad-eca461f08466\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"054126f8-9a2b-4f1c-a9ad-eca461f08466\"},{\"properties\":{\"roleName\":\"Media + Services Live Events Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify, and delete Live Events, Assets, Asset Filters, and Streaming + Locators; read-only access to other Media Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/*\",\"Microsoft.Media/mediaservices/assets/assetfilters/*\",\"Microsoft.Media/mediaservices/streamingLocators/*\",\"Microsoft.Media/mediaservices/liveEvents/*\"],\"notActions\":[\"Microsoft.Media/mediaservices/assets/getEncryptionKey/action\",\"Microsoft.Media/mediaservices/streamingLocators/listContentKeys/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:21:00.6119555Z\",\"updatedOn\":\"2021-06-11T21:20:30.6783723Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/532bc159-b25e-42c0-969e-a1d439f60d77\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"532bc159-b25e-42c0-969e-a1d439f60d77\"},{\"properties\":{\"roleName\":\"Media + Services Media Operator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify, and delete Assets, Asset Filters, Streaming Locators, and Jobs; + read-only access to other Media Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/*\",\"Microsoft.Media/mediaservices/assets/assetfilters/*\",\"Microsoft.Media/mediaservices/streamingLocators/*\",\"Microsoft.Media/mediaservices/transforms/jobs/*\"],\"notActions\":[\"Microsoft.Media/mediaservices/assets/getEncryptionKey/action\",\"Microsoft.Media/mediaservices/streamingLocators/listContentKeys/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:21:23.2236495Z\",\"updatedOn\":\"2021-06-11T21:20:52.6238751Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e4395492-1534-4db2-bedf-88c14621589c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e4395492-1534-4db2-bedf-88c14621589c\"},{\"properties\":{\"roleName\":\"Media + Services Policy Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify, and delete Account Filters, Streaming Policies, Content Key + Policies, and Transforms; read-only access to other Media Services resources. + Cannot create Jobs, Assets or Streaming resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/listStreamingLocators/action\",\"Microsoft.Media/mediaservices/streamingLocators/listPaths/action\",\"Microsoft.Media/mediaservices/accountFilters/*\",\"Microsoft.Media/mediaservices/streamingPolicies/*\",\"Microsoft.Media/mediaservices/contentKeyPolicies/*\",\"Microsoft.Media/mediaservices/transforms/*\"],\"notActions\":[\"Microsoft.Media/mediaservices/contentKeyPolicies/getPolicyPropertiesWithSecrets/action\"],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:21:46.9534330Z\",\"updatedOn\":\"2021-06-11T21:20:01.8020972Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c4bba371-dacd-4a26-b320-7250bca963ae\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"c4bba371-dacd-4a26-b320-7250bca963ae\"},{\"properties\":{\"roleName\":\"Media + Services Streaming Endpoints Administrator\",\"type\":\"BuiltInRole\",\"description\":\"Create, + read, modify, and delete Streaming Endpoints; read-only access to other Media + Services resources.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.Insights/alertRules/*\",\"Microsoft.Insights/metrics/read\",\"Microsoft.Insights/metricDefinitions/read\",\"Microsoft.Resources/deployments/*\",\"Microsoft.Resources/subscriptions/resourceGroups/read\",\"Microsoft.ResourceHealth/availabilityStatuses/read\",\"Microsoft.Media/mediaservices/*/read\",\"Microsoft.Media/mediaservices/assets/listStreamingLocators/action\",\"Microsoft.Media/mediaservices/streamingLocators/listPaths/action\",\"Microsoft.Media/mediaservices/streamingEndpoints/*\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-19T23:22:04.4594851Z\",\"updatedOn\":\"2021-06-11T21:18:02.3864536Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/99dba123-b5fe-44d5-874c-ced7199a5804\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"99dba123-b5fe-44d5-874c-ced7199a5804\"},{\"properties\":{\"roleName\":\"Stream + Analytics Query Tester\",\"type\":\"BuiltInRole\",\"description\":\"Lets you + perform query testing without creating a stream analytics job first\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.StreamAnalytics/locations/TestQuery/action\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-04-20T17:33:24.5727870Z\",\"updatedOn\":\"2021-04-26T17:08:16.3575666Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1ec5b3c1-b17e-4e25-8312-2acb3c3c5abf\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1ec5b3c1-b17e-4e25-8312-2acb3c3c5abf\"},{\"properties\":{\"roleName\":\"AnyBuild + Builder\",\"type\":\"BuiltInRole\",\"description\":\"Basic user role for AnyBuild. + This role allows listing of agent information and execution of remote build + capabilities.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.AnyBuild/clusters/build/write\",\"Microsoft.AnyBuild/clusters/build/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-20T22:07:00.4963853Z\",\"updatedOn\":\"2021-04-20T22:07:00.4963853Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/a2138dac-4907-4679-a376-736901ed8ad8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"a2138dac-4907-4679-a376-736901ed8ad8\"},{\"properties\":{\"roleName\":\"IoT + Hub Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows for full + read access to IoT Hub data-plane properties\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/*/read\",\"Microsoft.Devices/IotHubs/fileUpload/notifications/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T18:03:29.8843192Z\",\"updatedOn\":\"2021-04-29T23:24:12.4930691Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b447c946-2db7-41ec-983d-d8bf3b1c77e3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"b447c946-2db7-41ec-983d-d8bf3b1c77e3\"},{\"properties\":{\"roleName\":\"IoT + Hub Twin Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + read and write access to all IoT Hub device and module twins.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/twins/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T20:36:10.1136903Z\",\"updatedOn\":\"2021-04-29T23:52:03.1511375Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/494bdba2-168f-4f31-a0a1-191d2f7c028c\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"494bdba2-168f-4f31-a0a1-191d2f7c028c\"},{\"properties\":{\"roleName\":\"IoT + Hub Registry Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for full access to IoT Hub device registry.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/devices/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T20:36:47.5532704Z\",\"updatedOn\":\"2021-04-30T00:01:58.8405124Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4ea46cd5-c1b2-4a8e-910b-273211f9ce47\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4ea46cd5-c1b2-4a8e-910b-273211f9ce47\"},{\"properties\":{\"roleName\":\"IoT + Hub Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + full access to IoT Hub data plane operations.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Devices/IotHubs/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-04-22T20:37:16.9927761Z\",\"updatedOn\":\"2021-04-29T23:44:42.6824802Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4fc6c259-987e-4a07-842e-c321cc9d413f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"4fc6c259-987e-4a07-842e-c321cc9d413f\"},{\"properties\":{\"roleName\":\"Test + Base Reader\",\"type\":\"BuiltInRole\",\"description\":\"Let you view and + download packages and test results.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.TestBase/testBaseAccounts/packages/testResults/getDownloadUrl/action\",\"Microsoft.TestBase/testBaseAccounts/packages/testResults/getVideoDownloadUrl/action\",\"Microsoft.TestBase/testBaseAccounts/packages/getDownloadUrl/action\",\"Microsoft.TestBase/*/read\"],\"notActions\":[],\"dataActions\":[],\"notDataActions\":[]}],\"createdOn\":\"2021-05-11T23:41:33.1038367Z\",\"updatedOn\":\"2021-05-11T23:41:33.1038367Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/15e0f5a1-3450-4248-8e25-e2afe88a9e85\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"15e0f5a1-3450-4248-8e25-e2afe88a9e85\"},{\"properties\":{\"roleName\":\"Search + Index Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Grants read + access to Azure Cognitive Search index data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Search/searchServices/indexes/documents/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-06-01T20:26:13.4850461Z\",\"updatedOn\":\"2021-06-02T19:01:52.2721055Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/1407120a-92aa-4202-b7e9-c0e197c71c8f\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"1407120a-92aa-4202-b7e9-c0e197c71c8f\"},{\"properties\":{\"roleName\":\"Search + Index Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Grants + full access to Azure Cognitive Search index data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.Search/searchServices/indexes/documents/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-06-01T22:15:16.5388472Z\",\"updatedOn\":\"2021-06-02T18:55:58.1815252Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8ebe5a00-799e-43f5-93ac-243d3dce84a7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"8ebe5a00-799e-43f5-93ac-243d3dce84a7\"},{\"properties\":{\"roleName\":\"Storage + Table Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Allows for + read access to Azure Storage tables and entities\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/tableServices/tables/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/tableServices/tables/entities/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-06-15T06:40:54.9150717Z\",\"updatedOn\":\"2021-06-15T06:40:54.9150717Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/76199698-9eea-4c19-bc75-cec21354c6b6\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"76199698-9eea-4c19-bc75-cec21354c6b6\"},{\"properties\":{\"roleName\":\"Storage + Table Data Contributor\",\"type\":\"BuiltInRole\",\"description\":\"Allows + for read, write and delete access to Azure Storage tables and entities\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Storage/storageAccounts/tableServices/tables/read\",\"Microsoft.Storage/storageAccounts/tableServices/tables/write\",\"Microsoft.Storage/storageAccounts/tableServices/tables/delete\"],\"notActions\":[],\"dataActions\":[\"Microsoft.Storage/storageAccounts/tableServices/tables/entities/read\",\"Microsoft.Storage/storageAccounts/tableServices/tables/entities/write\",\"Microsoft.Storage/storageAccounts/tableServices/tables/entities/delete\",\"Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action\",\"Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-06-15T06:51:59.8207610Z\",\"updatedOn\":\"2021-06-15T06:51:59.8207610Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3\"},{\"properties\":{\"roleName\":\"DICOM + Data Reader\",\"type\":\"BuiltInRole\",\"description\":\"Read and search DICOM + data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/workspaces/dicomservices/resources/read\"],\"notDataActions\":[]}],\"createdOn\":\"2021-06-17T20:58:30.1630494Z\",\"updatedOn\":\"2021-06-17T20:58:30.1630494Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e89c7a3c-2f64-4fa1-a847-3e4c9ba4283a\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"e89c7a3c-2f64-4fa1-a847-3e4c9ba4283a\"},{\"properties\":{\"roleName\":\"DICOM + Data Owner\",\"type\":\"BuiltInRole\",\"description\":\"Full access to DICOM + data.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[],\"notActions\":[],\"dataActions\":[\"Microsoft.HealthcareApis/workspaces/dicomservices/resources/*\"],\"notDataActions\":[]}],\"createdOn\":\"2021-06-17T20:59:30.8659515Z\",\"updatedOn\":\"2021-06-17T20:59:30.8659515Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/58a3b984-7adf-4c20-983a-32417c86fbc8\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"58a3b984-7adf-4c20-983a-32417c86fbc8\"},{\"properties\":{\"roleName\":\"EventGrid + Data Sender\",\"type\":\"BuiltInRole\",\"description\":\"Allows send access + to event grid events.\",\"assignableScopes\":[\"/\"],\"permissions\":[{\"actions\":[\"Microsoft.Authorization/*/read\",\"Microsoft.EventGrid/topics/read\",\"Microsoft.EventGrid/domains/read\",\"Microsoft.EventGrid/partnerNamespaces/read\",\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\"notActions\":[],\"dataActions\":[\"Microsoft.EventGrid/events/send/action\"],\"notDataActions\":[]}],\"createdOn\":\"2021-07-02T21:55:40.4847495Z\",\"updatedOn\":\"2021-07-02T21:55:40.4847495Z\",\"createdBy\":null,\"updatedBy\":null},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/d5a91429-5739-47e2-a06b-3470a27159e7\",\"type\":\"Microsoft.Authorization/roleDefinitions\",\"name\":\"d5a91429-5739-47e2-a06b-3470a27159e7\"}]}" + headers: + cache-control: + - no-cache + content-length: + - '301837' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:28 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; 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: '{"objectIds": ["b9c6016b-2e30-45fa-964e-414f0fc9272a"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.26.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.User","objectType":"User","objectId":"b9c6016b-2e30-45fa-964e-414f0fc9272a","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[],"assignedPlans":[],"city":null,"companyName":null,"consentProvidedForMinor":null,"country":null,"createdDateTime":"2021-05-28T09:30:27Z","creationType":"Invitation","department":null,"dirSyncEnabled":null,"displayName":"Kaihui + Sun (Wicresoft North America Ltd)","employeeId":null,"facsimileTelephoneNumber":null,"givenName":"Kaihui","immutableId":null,"isCompromised":null,"jobTitle":null,"lastDirSyncTime":null,"legalAgeGroupClassification":null,"mail":"v-kaisun@microsoft.com","mailNickname":"v-kaisun_microsoft.com#EXT#","mobile":null,"onPremisesDistinguishedName":null,"onPremisesSecurityIdentifier":null,"otherMails":["v-kaisun@microsoft.com"],"passwordPolicies":null,"passwordProfile":null,"physicalDeliveryOfficeName":null,"postalCode":null,"preferredLanguage":null,"provisionedPlans":[],"provisioningErrors":[],"proxyAddresses":["SMTP:v-kaisun@microsoft.com"],"refreshTokensValidFromDateTime":"2021-05-28T09:30:27Z","showInAddressList":false,"signInNames":[],"sipProxyAddress":null,"state":null,"streetAddress":null,"surname":"Sun","telephoneNumber":null,"thumbnailPhoto@odata.mediaEditLink":"directoryObjects/b9c6016b-2e30-45fa-964e-414f0fc9272a/Microsoft.DirectoryServices.User/thumbnailPhoto","usageLocation":null,"userIdentities":[],"userPrincipalName":"v-kaisun_microsoft.com#EXT#@mpliftrconfluent20210809out.onmicrosoft.com","userState":"Accepted","userStateChangedOn":"2021-07-05T05:41:25Z","userType":"Member"}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1751' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 06 Jul 2021 09:17:29 GMT + duration: + - '2534321' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 7/4AuFzzUJYzyT+uu0dvEanry/R/e/65JeNegWAaIs4= + ocp-aad-session-key: + - J9ShK6ybnNnOHo1NLsH89lRpcxm1rRiE5EixfhvyOq-oI9wHRRHc3RLXnnXfjJOTD8yJsDPZf5Qz5Y5jeae1_-lOCZ_SPCxIhaH3-X2V0bztPJ2_BkzTjlMdNsYjhmsl.FhkYQDhEpFnyDv-8aFkJawYMWWKrY7aqG8EqcLbVigA + pragma: + - no-cache + request-id: + - 58514b52-d62b-474a-86aa-9d612649155d + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"environment": "Dev"}, "location": "eastus2euap", "properties": + {"offerDetail": {"publisherId": "confluentinc", "id": "confluent-cloud-azure-stag", + "planId": "confluent-cloud-azure-payg-stag", "planName": "Confluent Cloud - + Pay as you Go", "termUnit": "P1M"}, "userDetail": {"firstName": "Kaihui", "lastName": + "Sun", "emailAddress": "v-kaisun@microsoft.com"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + Content-Length: + - '370' + Content-Type: + - application/json + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","name":"cliTestOrg-1","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-07-06T09:17:38.7050902Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-07-06T09:17:38.7050902Z"},"properties":{"createdTime":"2021-07-06T09:17:41.7881649Z","provisioningState":"Accepted","organizationId":null,"ssoUrl":null,"offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"Kaihui","lastName":"Sun","emailAddress":"v-kaisun@microsoft.com"}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + cache-control: + - no-cache + content-length: + - '986' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:17:43 GMT + etag: + - '"0a007c6e-0000-3400-0000-60e41fb50000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:44fd1f8b-df35-48c9-8fa6-f5e19b8bb5be + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0","name":"96ff362f-1a60-4a3f-9936-f55f491d8ad0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","status":"Accepted","startTime":"2021-07-06T09:17:41.7768392Z"}' + headers: + cache-control: + - no-cache + content-length: + - '440' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:18:14 GMT + etag: + - '"0500ab77-0000-3400-0000-60e41fb50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0","name":"96ff362f-1a60-4a3f-9936-f55f491d8ad0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","status":"Accepted","startTime":"2021-07-06T09:17:41.7768392Z"}' + headers: + cache-control: + - no-cache + content-length: + - '440' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:18:44 GMT + etag: + - '"0500ab77-0000-3400-0000-60e41fb50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0","name":"96ff362f-1a60-4a3f-9936-f55f491d8ad0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","status":"Accepted","startTime":"2021-07-06T09:17:41.7768392Z"}' + headers: + cache-control: + - no-cache + content-length: + - '440' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:19:14 GMT + etag: + - '"0500ab77-0000-3400-0000-60e41fb50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0","name":"96ff362f-1a60-4a3f-9936-f55f491d8ad0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","status":"Accepted","startTime":"2021-07-06T09:17:41.7768392Z"}' + headers: + cache-control: + - no-cache + content-length: + - '440' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:19:45 GMT + etag: + - '"0500ab77-0000-3400-0000-60e41fb50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0","name":"96ff362f-1a60-4a3f-9936-f55f491d8ad0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","status":"Accepted","startTime":"2021-07-06T09:17:41.7768392Z"}' + headers: + cache-control: + - no-cache + content-length: + - '440' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:20:15 GMT + etag: + - '"0500ab77-0000-3400-0000-60e41fb50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0","name":"96ff362f-1a60-4a3f-9936-f55f491d8ad0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","status":"Creating","startTime":"2021-07-06T09:17:41.7768392Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '451' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:20:45 GMT + etag: + - '"05000579-0000-3400-0000-60e4205c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.Confluent/locations/EASTUS2EUAP/operationStatuses/96ff362f-1a60-4a3f-9936-f55f491d8ad0","name":"96ff362f-1a60-4a3f-9936-f55f491d8ad0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","status":"Succeeded","startTime":"2021-07-06T09:17:41.7768392Z","endTime":"2021-07-06T09:20:57.2403488Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '511' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:21:15 GMT + etag: + - '"05008979-0000-3400-0000-60e420790000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-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: + - confluent organization create + Connection: + - keep-alive + ParameterSetName: + - --location --offer-id --plan-id --plan-name --publisher-id --term-unit --tags + --name --resource-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-confluent/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_term_accept_basic_flow000001/providers/Microsoft.Confluent/organizations/cliTestOrg-1","name":"cliTestOrg-1","type":"microsoft.confluent/organizations","location":"eastus2euap","tags":{"environment":"Dev"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-07-06T09:17:38.7050902Z","lastModifiedBy":"1448fd13-7e74-41f4-b6e3-17e485d8ac2e","lastModifiedByType":"Application","lastModifiedAt":"2021-07-06T09:20:57.3899991Z"},"properties":{"createdTime":"2021-07-06T09:17:41.7881649Z","provisioningState":"Succeeded","offerDetail":{"publisherId":"confluentinc","id":"confluent-cloud-azure-stag","planId":"confluent-cloud-azure-payg-stag","planName":"Confluent + Cloud - Pay as you Go","termUnit":"P1M","status":"Started"},"userDetail":{"firstName":"Kaihui","lastName":"Sun","emailAddress":"v-kaisun@microsoft.com"},"organizationId":"59e0583e-ba4a-46ef-bdd1-dca7dea65f95","ssoUrl":"https://stag.cpdev.cloud/login/sso/59e0583e-ba4a-46ef-bdd1-dca7dea65f95"}}' + headers: + cache-control: + - no-cache + content-length: + - '1111' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 06 Jul 2021 09:21:16 GMT + etag: + - '"0a00c46f-0000-3400-0000-60e420790000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +version: 1 diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md index 338b827661b..acfe1012371 100644 --- a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario_coverage.md @@ -1,8 +1,8 @@ |Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| -|step_terms_list|successed||||2021-07-01 10:18:02.406899|2021-07-01 10:18:02.587908| -|step_organization_show|successed||||2021-07-01 10:18:02.902892|2021-07-01 10:18:02.999867| -|step_organization_list|successed||||2021-07-01 10:18:02.999867|2021-07-01 10:18:03.094902| -|step_organization_list2|successed||||2021-07-01 10:18:03.094902|2021-07-01 10:18:03.190902| -|step_organization_update|successed||||2021-07-01 10:18:03.190902|2021-07-01 10:18:03.287868| -|step_organization_delete|successed||||2021-07-01 10:18:03.287868|2021-07-01 10:18:03.506873| +|step_terms_list|successed||||2021-07-07 05:49:18.241849|2021-07-07 05:49:18.473003| +|step_organization_show|successed||||2021-07-07 05:49:18.846170|2021-07-07 05:49:18.948916| +|step_organization_list|successed||||2021-07-07 05:49:18.948916|2021-07-07 05:49:19.053372| +|step_organization_list2|successed||||2021-07-07 05:49:19.054372|2021-07-07 05:49:19.153368| +|step_organization_update|successed||||2021-07-07 05:49:19.154380|2021-07-07 05:49:19.254379| +|step_organization_delete|successed||||2021-07-07 05:49:19.254379|2021-07-07 05:49:19.477328| Coverage: 6/6 diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.py b/src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.py new file mode 100644 index 00000000000..706e5619cbd --- /dev/null +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import mock +import time + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from azure_devtools.scenario_tests import AllowLargeResponse + +from .test_confluent_scenario import mock_jwt_decode, mock_list_role_assignments + + +class TestTermAcceptFlow(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_term_accept_basic_flow', location='eastus2euap') + @AllowLargeResponse() + def test_term_accept_basic_flow(self, resource_group): + + self.kwargs.update({ + 'rg': resource_group, + 'offerId': 'confluent-cloud-azure-stag', + 'planId': 'confluent-cloud-azure-payg-stag', + 'publisherId': 'confluentinc', + 'namespace': 'Microsoft.Confluent', + 'organizationName': 'cliTestOrg-1' + }) + + self.cmd('az confluent offer-detail show ' + '--publisher-id {publisherId} ' + '--offer-id {offerId}') + + self.cmd('az term accept ' + '--product "{offerId}" ' + '--plan "{planId}" ' + '--publisher "{publisherId}"') + + self.cmd('provider register -n {namespace} ') + result = self.cmd('provider show -n {namespace}').get_output_in_json() + while result['registrationState'] != 'Registered': + time.sleep(5) + result = self.cmd('provider show -n {namespace}').get_output_in_json() + + with mock.patch('jwt.decode', mock_jwt_decode): + with mock.patch('azure.cli.command_modules.role.custom.list_role_assignments', mock_list_role_assignments): + self.cmd('az confluent organization create ' + '--location "eastus2euap" ' + '--offer-id "{offerId}" ' + '--plan-id "{planId}" ' + '--plan-name "Confluent Cloud - Pay as you Go" ' + '--publisher-id "{publisherId}" ' + '--term-unit "P1M" ' + '--tags environment="Dev" ' + '--name "{organizationName}" ' + '--resource-group "{rg}"') + diff --git a/src/confluent/setup.py b/src/confluent/setup.py index 5a4bc24de69..ccd85a192c4 100644 --- a/src/confluent/setup.py +++ b/src/confluent/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.3.0' try: from azext_confluent.manual.version import VERSION except ImportError: From 5405a62ff774a743882f97f90b5f5e97fa154daf Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Thu, 8 Jul 2021 00:06:49 -0700 Subject: [PATCH 49/85] fix issue in dcr template (#3600) * fix issue in dcr template * fix indention issue * Update src/aks-preview/azext_aks_preview/custom.py Co-authored-by: Xing Zhou * Update src/aks-preview/azext_aks_preview/custom.py Co-authored-by: Xing Zhou * Update src/aks-preview/azext_aks_preview/custom.py Co-authored-by: Xing Zhou * Update src/aks-preview/azext_aks_preview/custom.py Co-authored-by: Xing Zhou --- src/aks-preview/azext_aks_preview/custom.py | 24 +++++++++++++++++++++ src/aks-preview/setup.py | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 5e5d4336899..57cda86167d 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -2797,12 +2797,36 @@ def _ensure_container_insights_for_monitoring(cmd, # create the DCR dcr_creation_body = json.dumps({"location": location, "properties": { + "dataSources": { + "extensions": [ + { + "name": "ContainerInsightsExtension", + "streams": [ + "Microsoft-Perf", + "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", + "Microsoft-ContainerLogV2", + "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", + "Microsoft-KubeHealth", + "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", + "Microsoft-KubePodInventory", + "Microsoft-KubePVInventory", + "Microsoft-KubeServices", + "Microsoft-InsightsMetrics" + ], + "extensionName": "ContainerInsights" + } + ] + }, "dataFlows": [ { "streams": [ "Microsoft-Perf", "Microsoft-ContainerInventory", "Microsoft-ContainerLog", + "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", "Microsoft-KubeEvents", "Microsoft-KubeHealth", diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index fa4e30ceeb1..f009d863709 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.5.21" +VERSION = "0.5.22" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', From 1095ce9bee7dec87b11d86dd290d942fbc146098 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 8 Jul 2021 23:03:51 +0800 Subject: [PATCH 50/85] [Release] Update index.json for extension [ aks-preview ] (#3601) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=988918 Last commit: https://github.com/Azure/azure-cli-extensions/commit/5405a62ff774a743882f97f90b5f5e97fa154daf --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 03c3920ae35..1d716a1111d 100644 --- a/src/index.json +++ b/src/index.json @@ -3175,6 +3175,49 @@ "version": "0.5.21" }, "sha256Digest": "8035103b7eb04451b596d70d03f7b1685418e6679c143db5cf6ca70d91e65848" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.22-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.22-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 :: 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/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.22" + }, + "sha256Digest": "d9673c7d1496e2d85d2b15ad1fc7b2e24101517d8714c4a1cc9f86175cf395a2" } ], "alertsmanagement": [ From 56efa6e303fb4eefe7966a4c9187166126b4ecb8 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Thu, 8 Jul 2021 17:42:45 -0700 Subject: [PATCH 51/85] [k8s-extension] Patch Bug in OpenServiceMesh with dependency on `pyhelm` (#3602) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model * Stage Public Version of k8s-extension 0.2.0 for official release (#15) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model Co-authored-by: action@github.com * Remove custom pipelines file * Update extension description, remove private const * Update pipeline file * Disable refs docs * Update to include better create warning logs and remove update context (#20) * Update to include better create warning logs and remove update context * Remove help text for update * Fix spelling error * Update message * Fix k8s-extension conflict with private version * Fix style errors * Fix filename * add customization for microsoft.azureml.kubernetes (#23) * add customization for microsoft.azureml.kubernetes * Update release history Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Add E2E Testing from Separate branch into internal code (#26) * Add internal e2e testing * Change to testing folder * Inference CLI validation for Scoring FE (#24) * cli validation starter * added the call to the fe validation function * nodeport validation not required * test fix Co-authored-by: Jonathan Innis * legal warning added (#27) * Remove deprecated method logger.warn * Update k8s-custom-pipelines.yml for Azure Pipelines * Update k8s-custom-pipelines.yml for Azure Pipelines * Add Azure Defender to E2E testing (#28) * Add azure defender testing to e2e * Remove the debug flag * Add configuration testing * Fix pipeline failures * Make test script more intuitive * Remove parameter from testing * Fix wrong location for k8s config whl * Fix pip upgrade issue * Fix pip install upgrade issue * Fix pip install issue * delete resurce in testcase (#29) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Check Provider is Registered with Subscription Before Making Requests (#18) * Add check for KubernetesConfiguration * Disable pylint and rename * Update provider registration link * Update version * Remove extra blank line * Fix bug in import * only validate scoring fe when inference is enabled (#31) * only validate scoring fe when inference is enabled * Fix versioning Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Provider registration case insensitive * do not validate against scoring fe if inference is not enabled. (#33) * do not validate against scoring fe if inference is not enabled. * add inference enabled scenario * refine * increase sleeping time * fix Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Add OSM as Public Preview Extension (#34) * Add OSM as public preview extension * Add osm testing * Add release train to tests * Fix failing osm test * Upgrade pip in integration testing * Remove ununsed import * Fix release train check in update * Parallelize E2E Testing (#36) * Add OSM as public preview extension * Add osm testing * Update test logic to parallelize * Fix test success checking * Parallelize extension testing * Better error checking logic * Fix azureml deletion * Fix private build (#40) * change amlk8s to amlarc (#42) Co-authored-by: Yue Yu * Servicebus client model changes (#44) * Servicebus client model changes * Fix testing script * Update history file and pipeline * Update min cli core version for track 2 updates * Read SSL cert and key from files (#38) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments Co-authored-by: Jonathan Innis * Upgrade release version * Liakaz/inference read ssl from file (#47) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments * fixed decode error * renamed the experimental param Co-authored-by: Jonathan Innis * Fix style issues (#51) * Fixed scoring fe related extension param names (#49) * fixed scoring fe related extension params * bug fix and style fixes * variable rename * fixed the error type * set cluster to prod by default * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#53) removed release-train logic * Add Custom Delete Logic for Partners (#54) * Add custom delete logic * Fix failing unit tests * Add warning message when deleting amlarc extension (#55) * add warning message * fix indentation * Update release version * Remove Pyhelm from OSM customization (#58) * Fix OSM pyhelm bug * Debug bootstrap error * Update release message * Remove unneeded files Co-authored-by: action@github.com Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Co-authored-by: Niranjan Shankar Co-authored-by: jingyizhu99 <83610845+jingyizhu99@users.noreply.github.com> --- src/k8s-extension/HISTORY.rst | 4 + .../partner_extensions/OpenServiceMesh.py | 88 +++++++++---------- .../tests/latest/test_open_service_mesh.py | 13 +-- src/k8s-extension/setup.py | 2 +- 4 files changed, 55 insertions(+), 52 deletions(-) diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index eeed091c6cc..bfa65dac229 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.5.1 +++++++++++++++++++ +* Remove pyhelm dependency + 0.5.0 ++++++++++++++++++ * Add microsoft.openservicemesh customization to check distros diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index c5ad73ac35f..048dfe58637 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -12,8 +12,6 @@ from azure.cli.core.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError from azure.cli.core.commands.client_factory import get_subscription_id -from pyhelm.chartbuilder import ChartBuilder -from pyhelm.repo import VersionError from packaging import version import yaml @@ -69,7 +67,7 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t # NOTE-2: Return a valid ExtensionInstance object, Instance name and flag for Identity create_identity = False - _validate_tested_distro(cmd, resource_group_name, cluster_name, version) + # _validate_tested_distro(cmd, resource_group_name, cluster_name, version) extension_instance = ExtensionInstance( extension_type=extension_type, @@ -107,58 +105,58 @@ def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): pass -def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version): +# def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version): - field_unavailable_error = '\"testedDistros\" field unavailable for version {0} of microsoft.openservicemesh, ' \ - 'cannot determine if this Kubernetes distribution has been properly tested'.format(extension_version) +# field_unavailable_error = '\"testedDistros\" field unavailable for version {0} of microsoft.openservicemesh, ' \ +# 'cannot determine if this Kubernetes distribution has been properly tested'.format(extension_version) - if version.parse(str(extension_version)) <= version.parse("0.8.3"): - logger.warning(field_unavailable_error) - return +# if version.parse(str(extension_version)) <= version.parse("0.8.3"): +# logger.warning(field_unavailable_error) +# return - subscription_id = get_subscription_id(cmd.cli_ctx) - resources = cf_resources(cmd.cli_ctx, subscription_id) +# subscription_id = get_subscription_id(cmd.cli_ctx) +# resources = cf_resources(cmd.cli_ctx, subscription_id) - cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Kubernetes' \ - '/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name) +# cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Kubernetes' \ +# '/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name) - resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview') - cluster_distro = resource.properties['distribution'].lower() +# resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview') +# cluster_distro = resource.properties['distribution'].lower() - if cluster_distro == "general": - logger.warning('Unable to determine if distro has been tested for microsoft.openservicemesh, ' - 'kubernetes distro: \"general\"') - return +# if cluster_distro == "general": +# logger.warning('Unable to determine if distro has been tested for microsoft.openservicemesh, ' +# 'kubernetes distro: \"general\"') +# return - tested_distros = _get_tested_distros(extension_version) +# tested_distros = _get_tested_distros(extension_version) - if tested_distros is None: - logger.warning(field_unavailable_error) - elif cluster_distro not in tested_distros.split(): - logger.warning('Untested kubernetes distro for microsoft.openservicemesh, Kubernetes distro is %s', - cluster_distro) +# if tested_distros is None: +# logger.warning(field_unavailable_error) +# elif cluster_distro not in tested_distros.split(): +# logger.warning('Untested kubernetes distro for microsoft.openservicemesh, Kubernetes distro is %s', +# cluster_distro) -def _get_tested_distros(chart_version): +# def _get_tested_distros(chart_version): - try: - chart_arc = ChartBuilder({ - "name": OpenServiceMesh.CHART_NAME, - "version": str(chart_version), - "source": { - "type": "repo", - "location": OpenServiceMesh.CHART_LOCATION - } - }) - except VersionError: - raise InvalidArgumentValueError( - "Invalid version '{}' for microsoft.openservicemesh".format(chart_version) - ) +# try: +# chart_arc = ChartBuilder({ +# "name": OpenServiceMesh.CHART_NAME, +# "version": str(chart_version), +# "source": { +# "type": "repo", +# "location": OpenServiceMesh.CHART_LOCATION +# } +# }) +# except VersionError: +# raise InvalidArgumentValueError( +# "Invalid version '{}' for microsoft.openservicemesh".format(chart_version) +# ) - values = chart_arc.get_values() - values_yaml = yaml.load(values.raw, Loader=yaml.FullLoader) +# values = chart_arc.get_values() +# values_yaml = yaml.load(values.raw, Loader=yaml.FullLoader) - try: - return values_yaml['OpenServiceMesh']['testedDistros'] - except KeyError: - return None +# try: +# return values_yaml['OpenServiceMesh']['testedDistros'] +# except KeyError: +# return None diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py index 72e94a06831..61b774045ce 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py @@ -9,14 +9,15 @@ import unittest from azure.cli.core.azclierror import InvalidArgumentValueError -from azext_k8s_extension.partner_extensions.OpenServiceMesh import _get_tested_distros +# from azext_k8s_extension.partner_extensions.OpenServiceMesh import _get_tested_distros TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) class TestOpenServiceMesh(unittest.TestCase): def test_bad_osm_arc_version(self): - version = "0.7.1" - err = "Invalid version \'" + str(version) + "\' for microsoft.openservicemesh" - with self.assertRaises(InvalidArgumentValueError) as argError: - _get_tested_distros(version) - self.assertEqual(str(argError.exception), err) + # version = "0.7.1" + # err = "Invalid version \'" + str(version) + "\' for microsoft.openservicemesh" + # with self.assertRaises(InvalidArgumentValueError) as argError: + # _get_tested_distros(version) + # self.assertEqual(str(argError.exception), err) + pass diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index a8400af15cc..218b0d47aa5 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -34,7 +34,7 @@ 'pyhelm' ] -VERSION = "0.5.0" +VERSION = "0.5.1" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From cb184be8a165200bde068142c7b5f88db30c0fd1 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Thu, 8 Jul 2021 18:17:44 -0700 Subject: [PATCH 52/85] [k8s-extension] Remove pyhelm dependency (#3605) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model * Stage Public Version of k8s-extension 0.2.0 for official release (#15) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model Co-authored-by: action@github.com * Remove custom pipelines file * Update extension description, remove private const * Update pipeline file * Disable refs docs * Update to include better create warning logs and remove update context (#20) * Update to include better create warning logs and remove update context * Remove help text for update * Fix spelling error * Update message * Fix k8s-extension conflict with private version * Fix style errors * Fix filename * add customization for microsoft.azureml.kubernetes (#23) * add customization for microsoft.azureml.kubernetes * Update release history Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Add E2E Testing from Separate branch into internal code (#26) * Add internal e2e testing * Change to testing folder * Inference CLI validation for Scoring FE (#24) * cli validation starter * added the call to the fe validation function * nodeport validation not required * test fix Co-authored-by: Jonathan Innis * legal warning added (#27) * Remove deprecated method logger.warn * Update k8s-custom-pipelines.yml for Azure Pipelines * Update k8s-custom-pipelines.yml for Azure Pipelines * Add Azure Defender to E2E testing (#28) * Add azure defender testing to e2e * Remove the debug flag * Add configuration testing * Fix pipeline failures * Make test script more intuitive * Remove parameter from testing * Fix wrong location for k8s config whl * Fix pip upgrade issue * Fix pip install upgrade issue * Fix pip install issue * delete resurce in testcase (#29) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Check Provider is Registered with Subscription Before Making Requests (#18) * Add check for KubernetesConfiguration * Disable pylint and rename * Update provider registration link * Update version * Remove extra blank line * Fix bug in import * only validate scoring fe when inference is enabled (#31) * only validate scoring fe when inference is enabled * Fix versioning Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Provider registration case insensitive * do not validate against scoring fe if inference is not enabled. (#33) * do not validate against scoring fe if inference is not enabled. * add inference enabled scenario * refine * increase sleeping time * fix Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Add OSM as Public Preview Extension (#34) * Add OSM as public preview extension * Add osm testing * Add release train to tests * Fix failing osm test * Upgrade pip in integration testing * Remove ununsed import * Fix release train check in update * Parallelize E2E Testing (#36) * Add OSM as public preview extension * Add osm testing * Update test logic to parallelize * Fix test success checking * Parallelize extension testing * Better error checking logic * Fix azureml deletion * Fix private build (#40) * change amlk8s to amlarc (#42) Co-authored-by: Yue Yu * Servicebus client model changes (#44) * Servicebus client model changes * Fix testing script * Update history file and pipeline * Update min cli core version for track 2 updates * Read SSL cert and key from files (#38) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments Co-authored-by: Jonathan Innis * Upgrade release version * Liakaz/inference read ssl from file (#47) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments * fixed decode error * renamed the experimental param Co-authored-by: Jonathan Innis * Fix style issues (#51) * Fixed scoring fe related extension param names (#49) * fixed scoring fe related extension params * bug fix and style fixes * variable rename * fixed the error type * set cluster to prod by default * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#53) removed release-train logic * Add Custom Delete Logic for Partners (#54) * Add custom delete logic * Fix failing unit tests * Add warning message when deleting amlarc extension (#55) * add warning message * fix indentation * Update release version * Remove Pyhelm from OSM customization (#58) * Fix OSM pyhelm bug * Debug bootstrap error * Update release message * Remove pyhelm dependency * Remove unneeded fils Co-authored-by: action@github.com Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Co-authored-by: Niranjan Shankar Co-authored-by: jingyizhu99 <83610845+jingyizhu99@users.noreply.github.com> --- src/k8s-extension/setup.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 218b0d47aa5..a9a7f60fbaa 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -30,9 +30,7 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = [ - 'pyhelm' -] +DEPENDENCIES = [] VERSION = "0.5.1" From 9d3ef54969a2249c9e562aee300714924d4731d5 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 9 Jul 2021 09:18:03 +0800 Subject: [PATCH 53/85] [Release] Update index.json for extension [ k8s-extension ] (#3603) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=990577 Last commit: https://github.com/Azure/azure-cli-extensions/commit/56efa6e303fb4eefe7966a4c9187166126b4ecb8 --- src/index.json | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/index.json b/src/index.json index 1d716a1111d..9b4abf3bd4d 100644 --- a/src/index.json +++ b/src/index.json @@ -12740,6 +12740,57 @@ "version": "0.5.0" }, "sha256Digest": "82bb4f809cc5b6fe6b998e78adf6ca3b5b50de02f998c180441d9d66e7cc4875" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.5.1-py3-none-any.whl", + "filename": "k8s_extension-0.5.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.24.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" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "k8s-extension", + "run_requires": [ + { + "requires": [ + "pyhelm" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", + "version": "0.5.1" + }, + "sha256Digest": "da636a38097d8e1e83494afc784f26ffcc0d962e08e8bb6f202b3fc23e291309" } ], "k8sconfiguration": [ From 3c14a128b1e296e3692cafade7dc2246a1157c25 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Thu, 8 Jul 2021 19:19:26 -0700 Subject: [PATCH 54/85] [k8s-extension] Release v0.5.2 (#3608) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model * Stage Public Version of k8s-extension 0.2.0 for official release (#15) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model Co-authored-by: action@github.com * Remove custom pipelines file * Update extension description, remove private const * Update pipeline file * Disable refs docs * Update to include better create warning logs and remove update context (#20) * Update to include better create warning logs and remove update context * Remove help text for update * Fix spelling error * Update message * Fix k8s-extension conflict with private version * Fix style errors * Fix filename * add customization for microsoft.azureml.kubernetes (#23) * add customization for microsoft.azureml.kubernetes * Update release history Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Add E2E Testing from Separate branch into internal code (#26) * Add internal e2e testing * Change to testing folder * Inference CLI validation for Scoring FE (#24) * cli validation starter * added the call to the fe validation function * nodeport validation not required * test fix Co-authored-by: Jonathan Innis * legal warning added (#27) * Remove deprecated method logger.warn * Update k8s-custom-pipelines.yml for Azure Pipelines * Update k8s-custom-pipelines.yml for Azure Pipelines * Add Azure Defender to E2E testing (#28) * Add azure defender testing to e2e * Remove the debug flag * Add configuration testing * Fix pipeline failures * Make test script more intuitive * Remove parameter from testing * Fix wrong location for k8s config whl * Fix pip upgrade issue * Fix pip install upgrade issue * Fix pip install issue * delete resurce in testcase (#29) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Check Provider is Registered with Subscription Before Making Requests (#18) * Add check for KubernetesConfiguration * Disable pylint and rename * Update provider registration link * Update version * Remove extra blank line * Fix bug in import * only validate scoring fe when inference is enabled (#31) * only validate scoring fe when inference is enabled * Fix versioning Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Provider registration case insensitive * do not validate against scoring fe if inference is not enabled. (#33) * do not validate against scoring fe if inference is not enabled. * add inference enabled scenario * refine * increase sleeping time * fix Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Add OSM as Public Preview Extension (#34) * Add OSM as public preview extension * Add osm testing * Add release train to tests * Fix failing osm test * Upgrade pip in integration testing * Remove ununsed import * Fix release train check in update * Parallelize E2E Testing (#36) * Add OSM as public preview extension * Add osm testing * Update test logic to parallelize * Fix test success checking * Parallelize extension testing * Better error checking logic * Fix azureml deletion * Fix private build (#40) * change amlk8s to amlarc (#42) Co-authored-by: Yue Yu * Servicebus client model changes (#44) * Servicebus client model changes * Fix testing script * Update history file and pipeline * Update min cli core version for track 2 updates * Read SSL cert and key from files (#38) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments Co-authored-by: Jonathan Innis * Upgrade release version * Liakaz/inference read ssl from file (#47) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments * fixed decode error * renamed the experimental param Co-authored-by: Jonathan Innis * Fix style issues (#51) * Fixed scoring fe related extension param names (#49) * fixed scoring fe related extension params * bug fix and style fixes * variable rename * fixed the error type * set cluster to prod by default * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#53) removed release-train logic * Add Custom Delete Logic for Partners (#54) * Add custom delete logic * Fix failing unit tests * Add warning message when deleting amlarc extension (#55) * add warning message * fix indentation * Update release version * Remove Pyhelm from OSM customization (#58) * Fix OSM pyhelm bug * Debug bootstrap error * Update release message * Remove pyhelm dependency * Upgrade to v0.5.2 * Remove unneeded files Co-authored-by: action@github.com Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Co-authored-by: Niranjan Shankar Co-authored-by: jingyizhu99 <83610845+jingyizhu99@users.noreply.github.com> --- src/k8s-extension/HISTORY.rst | 6 +++++- src/k8s-extension/setup.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index bfa65dac229..27c1c2e363f 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,9 +3,13 @@ Release History =============== +0.5.2 +++++++++++++++++++ +* Remove pyhelm dependency from setup.py + 0.5.1 ++++++++++++++++++ -* Remove pyhelm dependency +* Remove pyhelm dependency from osm customization 0.5.0 ++++++++++++++++++ diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index a9a7f60fbaa..f190400b9cc 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -32,7 +32,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "0.5.1" +VERSION = "0.5.2" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From 25d2805f45a88a4e1eb7845c5ab92fb49a574410 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 9 Jul 2021 11:02:11 +0800 Subject: [PATCH 55/85] [Release] Update index.json for extension [ k8s-extension ] (#3607) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=990645 Last commit: https://github.com/Azure/azure-cli-extensions/commit/cb184be8a165200bde068142c7b5f88db30c0fd1 Co-authored-by: Xing Zhou --- src/index.json | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/index.json b/src/index.json index 9b4abf3bd4d..f1d6d21f988 100644 --- a/src/index.json +++ b/src/index.json @@ -12775,22 +12775,14 @@ } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", "name": "k8s-extension", - "run_requires": [ - { - "requires": [ - "pyhelm" - ] - } - ], "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", "version": "0.5.1" }, - "sha256Digest": "da636a38097d8e1e83494afc784f26ffcc0d962e08e8bb6f202b3fc23e291309" + "sha256Digest": "b04378d1c1699cf8cf37fc84a0f77fd5b87c653cc4d06049ba546660ce57fe42" } ], "k8sconfiguration": [ From c7e346701f10e4997644f01ee6f5718fbd235e7d Mon Sep 17 00:00:00 2001 From: Xing Zhou Date: Fri, 9 Jul 2021 12:34:19 +0800 Subject: [PATCH 56/85] [Release] Update index.json for extension [ k8s-extension ] (#3607) (#3610) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=990645 Last commit: https://github.com/Azure/azure-cli-extensions/commit/cb184be8a165200bde068142c7b5f88db30c0fd1 Co-authored-by: Xing Zhou Co-authored-by: Azure CLI Bot From 1ac0cffe15b39360437458a2f8be9345dba11e78 Mon Sep 17 00:00:00 2001 From: Xing Zhou Date: Fri, 9 Jul 2021 14:50:41 +0800 Subject: [PATCH 57/85] Revert PR (#3612) --- src/k8s-extension/HISTORY.rst | 6 +----- src/k8s-extension/setup.py | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 27c1c2e363f..bfa65dac229 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,13 +3,9 @@ Release History =============== -0.5.2 -++++++++++++++++++ -* Remove pyhelm dependency from setup.py - 0.5.1 ++++++++++++++++++ -* Remove pyhelm dependency from osm customization +* Remove pyhelm dependency 0.5.0 ++++++++++++++++++ diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index f190400b9cc..a9a7f60fbaa 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -32,7 +32,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "0.5.2" +VERSION = "0.5.1" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From 5e25dcfa77527081870b297083987d4a91eb4605 Mon Sep 17 00:00:00 2001 From: Arpit Gupta Date: Fri, 9 Jul 2021 13:21:59 +0530 Subject: [PATCH 58/85] Added release namespace fix (#3611) --- src/connectedk8s/azext_connectedk8s/custom.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/connectedk8s/azext_connectedk8s/custom.py b/src/connectedk8s/azext_connectedk8s/custom.py index 80b3f18c80e..469caa6c019 100644 --- a/src/connectedk8s/azext_connectedk8s/custom.py +++ b/src/connectedk8s/azext_connectedk8s/custom.py @@ -790,7 +790,7 @@ def update_agents(cmd, client, resource_group_name, cluster_name, https_proxy="" if "3.3.0-rc" in helm_version: raise ClientRequestError("The current helm version is not supported for azure-arc onboarding. Please upgrade helm to a stable version and try again.") - validate_release_namespace(client, cluster_name, resource_group_name, configuration, kube_config, kube_context) + release_namespace = validate_release_namespace(client, cluster_name, resource_group_name, configuration, kube_config, kube_context) # Fetch Connected Cluster for agent version connected_cluster = get_connectedk8s(cmd, client, resource_group_name, cluster_name) @@ -835,7 +835,7 @@ def update_agents(cmd, client, resource_group_name, cluster_name, https_proxy="" # Get Helm chart path chart_path = utils.get_chart_path(registry_path, kube_config, kube_context) - cmd_helm_upgrade = ["helm", "upgrade", "azure-arc", chart_path, + cmd_helm_upgrade = ["helm", "upgrade", "azure-arc", chart_path, "--namespace", release_namespace, "--reuse-values", "--wait", "--output", "json"] if values_file_provided: @@ -1194,7 +1194,7 @@ def enable_features(cmd, client, resource_group_name, cluster_name, features, ku if "3.3.0-rc" in helm_version: raise ClientRequestError("The current helm version is not supported for azure-arc onboarding. Please upgrade helm to a stable version and try again.") - validate_release_namespace(client, cluster_name, resource_group_name, configuration, kube_config, kube_context) + release_namespace = validate_release_namespace(client, cluster_name, resource_group_name, configuration, kube_config, kube_context) # Fetch Connected Cluster for agent version connected_cluster = get_connectedk8s(cmd, client, resource_group_name, cluster_name) @@ -1239,7 +1239,7 @@ def enable_features(cmd, client, resource_group_name, cluster_name, features, ku # Get Helm chart path chart_path = utils.get_chart_path(registry_path, kube_config, kube_context) - cmd_helm_upgrade = ["helm", "upgrade", "azure-arc", chart_path, + cmd_helm_upgrade = ["helm", "upgrade", "azure-arc", chart_path, "--namespace", release_namespace, "--reuse-values", "--wait", "--output", "json"] if values_file_provided: @@ -1380,7 +1380,7 @@ def disable_features(cmd, client, resource_group_name, cluster_name, features, k # Get Helm chart path chart_path = utils.get_chart_path(registry_path, kube_config, kube_context) - cmd_helm_upgrade = ["helm", "upgrade", "azure-arc", chart_path, + cmd_helm_upgrade = ["helm", "upgrade", "azure-arc", chart_path, "--namespace", release_namespace, "--reuse-values", "--wait", "--output", "json"] if values_file_provided: From 6ff57844ba0422159f22e5949f046ee6f1e1c49e Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Sat, 10 Jul 2021 07:43:27 +0800 Subject: [PATCH 59/85] fix live test (#3614) --- .../azcli_aks_live_test/configs/ext_matrix_default.json | 7 ------- .../azext_aks_preview/tests/latest/test_aks_commands.py | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json index d60baa9e4b6..152afcd5c53 100644 --- a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json +++ b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json @@ -31,13 +31,6 @@ "test_aks_create_with_monitoring_aad_auth_uai", "test_aks_enable_monitoring_with_aad_auth_msi", "test_aks_enable_monitoring_with_aad_auth_uai" - ], - "unknown": [ - "test_aks_create_and_update_with_managed_aad_enable_azure_rbac", - "test_aks_update_to_msi_cluster_with_addons" - ], - "code bug": [ - "test_aks_nodepool_get_upgrades" ] } } 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 876ba3418c3..7f664347361 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 @@ -822,8 +822,8 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location '--nodepool-name={node_pool_name}', checks=[ # if rerun the recording, please update latestNodeImageVersion to the latest value - self.check('latestNodeImageVersion', - 'AKSUbuntu-1804gen2containerd-2021.06.02'), + self.check_pattern('latestNodeImageVersion', + 'AKSUbuntu-1804gen2containerd-2021.(0[1-9]|1[012]).(0[1-9]|[12]\d|3[01])'), self.check( 'type', "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles") ]) From d96aee2b962886929056351f7ed75402913b0637 Mon Sep 17 00:00:00 2001 From: Yu Chen Date: Mon, 12 Jul 2021 14:08:09 +0800 Subject: [PATCH 60/85] [Confluent] Upgrade version to 0.3.0 to trigger release pipeline (#3615) --- .github/CODEOWNERS | 8 ++++---- src/confluent/azext_confluent/manual/version.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f7c551a30b6..0b32ce07d27 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -150,7 +150,7 @@ /src/guestconfig/ @gehuan -/src/swiftlet/ @qwordy +/src/swiftlet/ @zhoxing-ms /src/maintenance/ @sotaneja @@ -168,13 +168,13 @@ /src/communication/ @kairu-ms @jsntcy -/src/automation/ @qwordy +/src/automation/ @zhoxing-ms /src/monitor-control-service/ @jsntcy @kairu-ms /src/rdbms-connect/ @mjain2 @Juliehzl -/src/confluent/ @fengzhou-msft +/src/confluent/ @zhoxing-ms @jsntcy /src/offazure/ @houk-ms @@ -190,7 +190,7 @@ /src/redisenterprise/ @greenms -/src/cloudservice/ @qwordy +/src/cloudservice/ @zhoxing-ms /src/webpubsub/ @zackliu diff --git a/src/confluent/azext_confluent/manual/version.py b/src/confluent/azext_confluent/manual/version.py index c8d62cb0608..c061ba7d594 100644 --- a/src/confluent/azext_confluent/manual/version.py +++ b/src/confluent/azext_confluent/manual/version.py @@ -8,4 +8,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.2.0" +VERSION = "0.3.0" From 661d70ebf040b8a7a93e5aa3830aae849c7acfb6 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 12 Jul 2021 14:30:49 +0800 Subject: [PATCH 61/85] [Release] Update index.json for extension [ confluent ] (#3624) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=993698 Last commit: https://github.com/Azure/azure-cli-extensions/commit/d96aee2b962886929056351f7ed75402913b0637 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index f1d6d21f988..e38c879c785 100644 --- a/src/index.json +++ b/src/index.json @@ -6444,6 +6444,49 @@ "version": "0.2.0" }, "sha256Digest": "edf3b0d4afc36a3aaa9f68723f1db8b26bedcb5a5abcb053556146e4604cf31a" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.3.0-py3-none-any.whl", + "filename": "confluent-0.3.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.25.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/tree/master/src/confluent" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "confluent", + "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", + "version": "0.3.0" + }, + "sha256Digest": "62ea75ea44aa9c2872ec0f3d396eb6e35f37e0799890afa5f82d2187f9cace58" } ], "connectedk8s": [ From 67379e17c030522e5255e35a520be172e1e3be2b Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 12 Jul 2021 02:36:34 -0700 Subject: [PATCH 62/85] Update `az quantum` extension Control Plane generated client to track2. (#3604) * Ingest track2 generated client for Azure Quantum Control Plane * Update CLI to use track 2 control plane client --- src/quantum/azext_quantum/_client_factory.py | 5 +- .../azext_quantum/operations/workspace.py | 4 +- .../azure_mgmt_quantum/__init__.py | 19 +- .../_azure_quantum_management_client.py | 104 ++ .../azure_mgmt_quantum/_configuration.py | 71 ++ .../{version.py => _version.py} | 10 +- .../azure_mgmt_quantum/aio/__init__.py | 10 + .../aio/_azure_quantum_management_client.py | 97 ++ .../azure_mgmt_quantum/aio/_configuration.py | 67 ++ .../aio/operations/__init__.py | 19 + .../aio/operations/_offerings_operations.py | 113 ++ .../aio/operations/_operations.py | 105 ++ .../aio/operations/_workspace_operations.py | 104 ++ .../aio/operations/_workspaces_operations.py | 546 +++++++++ .../azure_mgmt_quantum/models/__init__.py | 167 ++- .../_azure_quantum_management_client_enums.py | 73 ++ .../azure_mgmt_quantum/models/_models.py | 921 +++++++++++++++ .../azure_mgmt_quantum/models/_models_py3.py | 1019 +++++++++++++++++ .../models/azure_entity_resource.py | 52 - .../models/azure_entity_resource_py3.py | 52 - .../check_name_availability_parameters.py | 33 - .../check_name_availability_parameters_py3.py | 33 - .../models/check_name_availability_result.py | 45 - .../check_name_availability_result_py3.py | 45 - .../models/error_additional_info.py | 40 - .../models/error_additional_info_py3.py | 40 - .../azure_mgmt_quantum/models/error_detail.py | 55 - .../models/error_detail_py3.py | 55 - .../models/error_response.py | 45 - .../models/error_response_py3.py | 45 - .../azure_mgmt_quantum/models/operation.py | 36 - .../models/operation_display.py | 40 - .../models/operation_display_py3.py | 40 - .../models/operation_paged.py | 27 - .../models/operation_py3.py | 36 - .../models/pricing_detail.py | 32 - .../models/pricing_detail_py3.py | 32 - .../models/pricing_dimension.py | 32 - .../models/pricing_dimension_py3.py | 32 - .../azure_mgmt_quantum/models/provider.py | 54 - .../models/provider_description.py | 44 - .../models/provider_description_paged.py | 27 - .../models/provider_description_py3.py | 44 - .../models/provider_properties.py | 76 -- .../models/provider_properties_aad.py | 40 - .../models/provider_properties_aad_py3.py | 40 - ...provider_properties_managed_application.py | 40 - ...ider_properties_managed_application_py3.py | 40 - .../models/provider_properties_py3.py | 76 -- .../azure_mgmt_quantum/models/provider_py3.py | 54 - .../models/proxy_resource.py | 47 - .../models/proxy_resource_py3.py | 47 - .../models/quantum_management_client_enums.py | 53 - .../models/quantum_workspace.py | 90 -- .../models/quantum_workspace_identity.py | 45 - .../models/quantum_workspace_identity_py3.py | 45 - .../models/quantum_workspace_paged.py | 27 - .../models/quantum_workspace_py3.py | 90 -- .../models/quota_dimension.py | 58 - .../models/quota_dimension_py3.py | 58 - .../azure_mgmt_quantum/models/resource.py | 50 - .../azure_mgmt_quantum/models/resource_py3.py | 50 - .../models/sku_description.py | 57 - .../models/sku_description_py3.py | 57 - .../azure_mgmt_quantum/models/system_data.py | 51 - .../models/system_data_py3.py | 51 - .../azure_mgmt_quantum/models/tags_object.py | 28 - .../models/tags_object_py3.py | 28 - .../models/target_description.py | 47 - .../models/target_description_py3.py | 47 - .../models/tracked_resource.py | 58 - .../models/tracked_resource_py3.py | 58 - .../azure_mgmt_quantum/operations/__init__.py | 15 +- .../operations/_offerings_operations.py | 118 ++ .../operations/_operations.py | 110 ++ .../operations/_workspace_operations.py | 109 ++ .../operations/_workspaces_operations.py | 558 +++++++++ .../operations/offerings_operations.py | 104 -- .../operations/operations.py | 96 -- .../operations/workspace_operations.py | 103 -- .../operations/workspaces_operations.py | 475 -------- .../quantum_management_client.py | 96 -- 82 files changed, 4248 insertions(+), 3514 deletions(-) create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_azure_quantum_management_client.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_configuration.py rename src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/{version.py => _version.py} (82%) create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_azure_quantum_management_client.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_configuration.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_offerings_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspace_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspaces_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_azure_quantum_management_client_enums.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_result.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_result_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_paged.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_paged.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_paged.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_offerings_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspace_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspaces_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspace_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.py diff --git a/src/quantum/azext_quantum/_client_factory.py b/src/quantum/azext_quantum/_client_factory.py index bcb66f44eb4..a274f7e37a5 100644 --- a/src/quantum/azext_quantum/_client_factory.py +++ b/src/quantum/azext_quantum/_client_factory.py @@ -41,9 +41,8 @@ def get_appid(): def cf_quantum_mgmt(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from .vendored_sdks.azure_mgmt_quantum import QuantumManagementClient - client = get_mgmt_service_client(cli_ctx, QuantumManagementClient) - client.config.add_user_agent(get_appid()) + from .vendored_sdks.azure_mgmt_quantum import AzureQuantumManagementClient + client = get_mgmt_service_client(cli_ctx, AzureQuantumManagementClient) return client diff --git a/src/quantum/azext_quantum/operations/workspace.py b/src/quantum/azext_quantum/operations/workspace.py index 7dea33d8801..4eba19605f6 100644 --- a/src/quantum/azext_quantum/operations/workspace.py +++ b/src/quantum/azext_quantum/operations/workspace.py @@ -159,7 +159,7 @@ def create(cmd, resource_group_name=None, workspace_name=None, location=None, st raise CLIError("Please run 'az quantum workspace set' first to select a default resource group.") quantum_workspace = _get_basic_quantum_workspace(location, info, storage_account) _add_quantum_providers(cmd, quantum_workspace, provider_sku_list) - poller = client.create_or_update(info.resource_group, info.name, quantum_workspace, polling=False) + poller = client.begin_create_or_update(info.resource_group, info.name, quantum_workspace, polling=False) while not poller.done(): time.sleep(POLLING_TIME_DURATION) quantum_workspace = poller.result() @@ -176,7 +176,7 @@ def delete(cmd, resource_group_name=None, workspace_name=None): info = WorkspaceInfo(cmd, resource_group_name, workspace_name) if (not info.resource_group) or (not info.name): raise CLIError("Please run 'az quantum workspace set' first to select a default Quantum Workspace.") - client.delete(info.resource_group, info.name, polling=False) + client.begin_delete(info.resource_group, info.name, polling=False) # If we deleted the current workspace, clear it curr_ws = WorkspaceInfo(cmd) if (curr_ws.resource_group == info.resource_group and curr_ws.name == info.name): diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py index aad4cbdb96a..ecf2e7c67cd 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py @@ -1,18 +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 .quantum_management_client import QuantumManagementClient -from .version import VERSION - -__all__ = ['QuantumManagementClient'] +from ._azure_quantum_management_client import AzureQuantumManagementClient +from ._version import VERSION __version__ = VERSION +__all__ = ['AzureQuantumManagementClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_azure_quantum_management_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_azure_quantum_management_client.py new file mode 100644 index 00000000000..651522a88f0 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_azure_quantum_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 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 azure.core.pipeline.transport import HttpRequest, HttpResponse + +from ._configuration import AzureQuantumManagementClientConfiguration +from .operations import WorkspacesOperations +from .operations import OfferingsOperations +from .operations import Operations +from .operations import WorkspaceOperations +from . import models + + +class AzureQuantumManagementClient(object): + """AzureQuantumManagementClient. + + :ivar workspaces: WorkspacesOperations operations + :vartype workspaces: azure.mgmt.quantum.operations.WorkspacesOperations + :ivar offerings: OfferingsOperations operations + :vartype offerings: azure.mgmt.quantum.operations.OfferingsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.quantum.operations.Operations + :ivar workspace: WorkspaceOperations operations + :vartype workspace: azure.mgmt.quantum.operations.WorkspaceOperations + :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 + :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 = AzureQuantumManagementClientConfiguration(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._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.workspaces = WorkspacesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.offerings = OfferingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.workspace = WorkspaceOperations( + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AzureQuantumManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_configuration.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_configuration.py new file mode 100644 index 00000000000..e8b4b8dec35 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_configuration.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 typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class AzureQuantumManagementClientConfiguration(Configuration): + """Configuration for AzureQuantumManagementClient. + + 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. + :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(AzureQuantumManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-11-04-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-quantum/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/version.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_version.py similarity index 82% rename from src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/version.py rename to src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_version.py index f85b9c12434..e5754a47ce6 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/version.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/_version.py @@ -1,13 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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. # -------------------------------------------------------------------------- -VERSION = "2019-11-04-preview" - +VERSION = "1.0.0b1" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/__init__.py new file mode 100644 index 00000000000..7927c1da8d3 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/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_quantum_management_client import AzureQuantumManagementClient +__all__ = ['AzureQuantumManagementClient'] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_azure_quantum_management_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_azure_quantum_management_client.py new file mode 100644 index 00000000000..a75f66daf87 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_azure_quantum_management_client.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, Optional, TYPE_CHECKING + +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +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 import AzureQuantumManagementClientConfiguration +from .operations import WorkspacesOperations +from .operations import OfferingsOperations +from .operations import Operations +from .operations import WorkspaceOperations +from .. import models + + +class AzureQuantumManagementClient(object): + """AzureQuantumManagementClient. + + :ivar workspaces: WorkspacesOperations operations + :vartype workspaces: azure.mgmt.quantum.aio.operations.WorkspacesOperations + :ivar offerings: OfferingsOperations operations + :vartype offerings: azure.mgmt.quantum.aio.operations.OfferingsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.quantum.aio.operations.Operations + :ivar workspace: WorkspaceOperations operations + :vartype workspace: azure.mgmt.quantum.aio.operations.WorkspaceOperations + :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 + :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 = AzureQuantumManagementClientConfiguration(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._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.workspaces = WorkspacesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.offerings = OfferingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.workspace = WorkspaceOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "AzureQuantumManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_configuration.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_configuration.py new file mode 100644 index 00000000000..35fc3b1c23c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/_configuration.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, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class AzureQuantumManagementClientConfiguration(Configuration): + """Configuration for AzureQuantumManagementClient. + + 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(AzureQuantumManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-11-04-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-quantum/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/__init__.py new file mode 100644 index 00000000000..7eae3e8df6c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/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 ._workspaces_operations import WorkspacesOperations +from ._offerings_operations import OfferingsOperations +from ._operations import Operations +from ._workspace_operations import WorkspaceOperations + +__all__ = [ + 'WorkspacesOperations', + 'OfferingsOperations', + 'Operations', + 'WorkspaceOperations', +] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_offerings_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_offerings_operations.py new file mode 100644 index 00000000000..f0a358e93a6 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_offerings_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, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OfferingsOperations: + """OfferingsOperations 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.quantum.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, + location_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OfferingsListResult"]: + """Returns the list of all provider offerings available for the given location. + + :param location_name: Location. + :type location_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OfferingsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.quantum.models.OfferingsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OfferingsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OfferingsListResult', 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.failsafe_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.Quantum/locations/{locationName}/offerings'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_operations.py new file mode 100644 index 00000000000..cee85b21cc0 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_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, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations 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.quantum.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: Any + ) -> AsyncIterable["_models.OperationsList"]: + """Returns list of operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.quantum.models.OperationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationsList', 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.failsafe_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.Quantum/operations'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspace_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspace_operations.py new file mode 100644 index 00000000000..394cd1481fd --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspace_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. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _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: ~azure.mgmt.quantum.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, + check_name_availability_parameters: "_models.CheckNameAvailabilityParameters", + **kwargs: Any + ) -> "_models.CheckNameAvailabilityResult": + """Check the availability of the resource name. + + :param location_name: Location. + :type location_name: str + :param check_name_availability_parameters: The name and type of the resource. + :type check_name_availability_parameters: ~azure.mgmt.quantum.models.CheckNameAvailabilityParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameAvailabilityResult, or the result of cls(response) + :rtype: ~azure.mgmt.quantum.models.CheckNameAvailabilityResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CheckNameAvailabilityResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.check_name_availability.metadata['url'] # type: ignore + 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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(check_name_availability_parameters, '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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameAvailabilityResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Quantum/locations/{locationName}/checkNameAvailability'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspaces_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspaces_operations.py new file mode 100644 index 00000000000..7164002c7e5 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/aio/operations/_workspaces_operations.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, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class WorkspacesOperations: + """WorkspacesOperations 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.quantum.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: Any + ) -> "_models.QuantumWorkspace": + """Returns the Workspace resource associated with the given name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QuantumWorkspace, or the result of cls(response) + :rtype: ~azure.mgmt.quantum.models.QuantumWorkspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + workspace_name: str, + quantum_workspace: "_models.QuantumWorkspace", + **kwargs: Any + ) -> "_models.QuantumWorkspace": + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(quantum_workspace, 'QuantumWorkspace') + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + workspace_name: str, + quantum_workspace: "_models.QuantumWorkspace", + **kwargs: Any + ) -> AsyncLROPoller["_models.QuantumWorkspace"]: + """Creates or updates a workspace resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param quantum_workspace: Workspace details. + :type quantum_workspace: ~azure.mgmt.quantum.models.QuantumWorkspace + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either QuantumWorkspace or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.quantum.models.QuantumWorkspace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + quantum_workspace=quantum_workspace, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + async def update_tags( + self, + resource_group_name: str, + workspace_name: str, + workspace_tags: "_models.TagsObject", + **kwargs: Any + ) -> "_models.QuantumWorkspace": + """Updates an existing workspace's tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param workspace_tags: Parameters supplied to update tags. + :type workspace_tags: ~azure.mgmt.quantum.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QuantumWorkspace, or the result of cls(response) + :rtype: ~azure.mgmt.quantum.models.QuantumWorkspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update_tags.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(workspace_tags, 'TagsObject') + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + workspace_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, 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.Quantum/workspaces/{workspaceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + workspace_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes a Workspace resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + def list_by_subscription( + self, + **kwargs: Any + ) -> AsyncIterable["_models.WorkspaceListResult"]: + """Gets the list of Workspaces within a Subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either WorkspaceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.quantum.models.WorkspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceListResult', 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.failsafe_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.Quantum/workspaces'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.WorkspaceListResult"]: + """Gets the list of Workspaces 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: An iterator like instance of either WorkspaceListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.quantum.models.WorkspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceListResult', 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.failsafe_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.Quantum/workspaces'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py index 7e854c18d71..0ca1bf3b133 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py @@ -1,109 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .provider_py3 import Provider - from .quantum_workspace_identity_py3 import QuantumWorkspaceIdentity - from .system_data_py3 import SystemData - from .quantum_workspace_py3 import QuantumWorkspace - from .provider_properties_aad_py3 import ProviderPropertiesAad - from .provider_properties_managed_application_py3 import ProviderPropertiesManagedApplication - from .target_description_py3 import TargetDescription - from .quota_dimension_py3 import QuotaDimension - from .pricing_detail_py3 import PricingDetail - from .sku_description_py3 import SkuDescription - from .pricing_dimension_py3 import PricingDimension - from .provider_properties_py3 import ProviderProperties - from .provider_description_py3 import ProviderDescription - from .tags_object_py3 import TagsObject - from .operation_display_py3 import OperationDisplay - from .operation_py3 import Operation - from .check_name_availability_parameters_py3 import CheckNameAvailabilityParameters - from .check_name_availability_result_py3 import CheckNameAvailabilityResult - from .proxy_resource_py3 import ProxyResource - from .azure_entity_resource_py3 import AzureEntityResource - from .resource_py3 import Resource - from .tracked_resource_py3 import TrackedResource - from .error_additional_info_py3 import ErrorAdditionalInfo - from .error_detail_py3 import ErrorDetail - from .error_response_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import CheckNameAvailabilityParameters + from ._models_py3 import CheckNameAvailabilityResult + from ._models_py3 import ErrorAdditionalInfo + from ._models_py3 import ErrorDetail + from ._models_py3 import ErrorResponse + from ._models_py3 import OfferingsListResult + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationsList + from ._models_py3 import PricingDetail + from ._models_py3 import PricingDimension + from ._models_py3 import Provider + from ._models_py3 import ProviderDescription + from ._models_py3 import ProviderProperties + from ._models_py3 import ProviderPropertiesAad + from ._models_py3 import ProviderPropertiesManagedApplication + from ._models_py3 import QuantumWorkspace + from ._models_py3 import QuantumWorkspaceIdentity + from ._models_py3 import QuotaDimension + from ._models_py3 import Resource + from ._models_py3 import SkuDescription + from ._models_py3 import SystemData + from ._models_py3 import TagsObject + from ._models_py3 import TargetDescription + from ._models_py3 import TrackedResource + from ._models_py3 import WorkspaceListResult except (SyntaxError, ImportError): - from .provider import Provider - from .quantum_workspace_identity import QuantumWorkspaceIdentity - from .system_data import SystemData - from .quantum_workspace import QuantumWorkspace - from .provider_properties_aad import ProviderPropertiesAad - from .provider_properties_managed_application import ProviderPropertiesManagedApplication - from .target_description import TargetDescription - from .quota_dimension import QuotaDimension - from .pricing_detail import PricingDetail - from .sku_description import SkuDescription - from .pricing_dimension import PricingDimension - from .provider_properties import ProviderProperties - from .provider_description import ProviderDescription - from .tags_object import TagsObject - from .operation_display import OperationDisplay - from .operation import Operation - from .check_name_availability_parameters import CheckNameAvailabilityParameters - from .check_name_availability_result import CheckNameAvailabilityResult - from .proxy_resource import ProxyResource - from .azure_entity_resource import AzureEntityResource - from .resource import Resource - from .tracked_resource import TrackedResource - from .error_additional_info import ErrorAdditionalInfo - from .error_detail import ErrorDetail - from .error_response import ErrorResponse, ErrorResponseException -from .quantum_workspace_paged import QuantumWorkspacePaged -from .provider_description_paged import ProviderDescriptionPaged -from .operation_paged import OperationPaged -from .quantum_management_client_enums import ( - Status, - UsableStatus, + from ._models import CheckNameAvailabilityParameters # type: ignore + from ._models import CheckNameAvailabilityResult # type: ignore + from ._models import ErrorAdditionalInfo # type: ignore + from ._models import ErrorDetail # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import OfferingsListResult # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationsList # type: ignore + from ._models import PricingDetail # type: ignore + from ._models import PricingDimension # type: ignore + from ._models import Provider # type: ignore + from ._models import ProviderDescription # type: ignore + from ._models import ProviderProperties # type: ignore + from ._models import ProviderPropertiesAad # type: ignore + from ._models import ProviderPropertiesManagedApplication # type: ignore + from ._models import QuantumWorkspace # type: ignore + from ._models import QuantumWorkspaceIdentity # type: ignore + from ._models import QuotaDimension # type: ignore + from ._models import Resource # type: ignore + from ._models import SkuDescription # type: ignore + from ._models import SystemData # type: ignore + from ._models import TagsObject # type: ignore + from ._models import TargetDescription # type: ignore + from ._models import TrackedResource # type: ignore + from ._models import WorkspaceListResult # type: ignore + +from ._azure_quantum_management_client_enums import ( + CreatedByType, ProvisioningStatus, ResourceIdentityType, - CreatedByType, + Status, + UsableStatus, ) __all__ = [ + 'CheckNameAvailabilityParameters', + 'CheckNameAvailabilityResult', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'OfferingsListResult', + 'Operation', + 'OperationDisplay', + 'OperationsList', + 'PricingDetail', + 'PricingDimension', 'Provider', - 'QuantumWorkspaceIdentity', - 'SystemData', - 'QuantumWorkspace', + 'ProviderDescription', + 'ProviderProperties', 'ProviderPropertiesAad', 'ProviderPropertiesManagedApplication', - 'TargetDescription', + 'QuantumWorkspace', + 'QuantumWorkspaceIdentity', 'QuotaDimension', - 'PricingDetail', + 'Resource', 'SkuDescription', - 'PricingDimension', - 'ProviderProperties', - 'ProviderDescription', + 'SystemData', 'TagsObject', - 'OperationDisplay', - 'Operation', - 'CheckNameAvailabilityParameters', - 'CheckNameAvailabilityResult', - 'ProxyResource', - 'AzureEntityResource', - 'Resource', + 'TargetDescription', 'TrackedResource', - 'ErrorAdditionalInfo', - 'ErrorDetail', - 'ErrorResponse', 'ErrorResponseException', - 'QuantumWorkspacePaged', - 'ProviderDescriptionPaged', - 'OperationPaged', - 'Status', - 'UsableStatus', + 'WorkspaceListResult', + 'CreatedByType', 'ProvisioningStatus', 'ResourceIdentityType', - 'CreatedByType', + 'Status', + 'UsableStatus', ] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_azure_quantum_management_client_enums.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_azure_quantum_management_client_enums.py new file mode 100644 index 00000000000..982c8b22779 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_azure_quantum_management_client_enums.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class ProvisioningStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning status field + """ + + SUCCEEDED = "Succeeded" + PROVIDER_LAUNCHING = "ProviderLaunching" + PROVIDER_UPDATING = "ProviderUpdating" + PROVIDER_DELETING = "ProviderDeleting" + PROVIDER_PROVISIONING = "ProviderProvisioning" + FAILED = "Failed" + +class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The identity type. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + NONE = "None" + +class Status(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning status field + """ + + SUCCEEDED = "Succeeded" + LAUNCHING = "Launching" + UPDATING = "Updating" + DELETING = "Deleting" + DELETED = "Deleted" + FAILED = "Failed" + +class UsableStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Whether the current workspace is ready to accept Jobs. + """ + + YES = "Yes" + NO = "No" + PARTIAL = "Partial" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models.py new file mode 100644 index 00000000000..ff110e9fb57 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models.py @@ -0,0 +1,921 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 CheckNameAvailabilityParameters(msrest.serialization.Model): + """Details of check name availability request body. + + :param name: Name for checking availability. + :type name: str + :param type: The resource type of Quantum Workspace. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', "Microsoft.Quantum/Workspaces") + + +class CheckNameAvailabilityResult(msrest.serialization.Model): + """Result of check name availability. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name_available: Indicator of availability of the Quantum Workspace resource name. + :type name_available: bool + :param reason: The reason of unavailability. + :type reason: str + :ivar message: The detailed info regarding the reason associated with the Namespace. + :vartype message: str + """ + + _validation = { + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.reason = kwargs.get('reason', None) + self.message = None + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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 target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~azure.mgmt.quantum.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.mgmt.quantum.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + + :param error: The error object. + :type error: ~azure.mgmt.quantum.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class OfferingsListResult(msrest.serialization.Model): + """The response of a list Providers operation. + + :param value: Result of a list Providers operation. + :type value: list[~azure.mgmt.quantum.models.ProviderDescription] + :param next_link: Link to the next set of results. Not empty if Value contains incomplete list + of Providers. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProviderDescription]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OfferingsListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class Operation(msrest.serialization.Model): + """Operation provided by provider. + + :param name: Name of the operation. + :type name: str + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool + :param display: Properties of the operation. + :type display: ~azure.mgmt.quantum.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, 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 OperationDisplay(msrest.serialization.Model): + """Properties of the operation. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Operation name. + :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 OperationsList(msrest.serialization.Model): + """Lists the operations available. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of operations. + :type next_link: str + :param value: Required. Array of operations. + :type value: list[~azure.mgmt.quantum.models.Operation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class PricingDetail(msrest.serialization.Model): + """Detailed pricing information for an sku. + + :param id: Unique id for this pricing information. + :type id: str + :param value: The unit cost of this sku. + :type value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PricingDetail, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.value = kwargs.get('value', None) + + +class PricingDimension(msrest.serialization.Model): + """Information about pricing dimension. + + :param id: Unique id of this pricing dimension. + :type id: str + :param name: The display name of this pricing dimension. + :type name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PricingDimension, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + + +class Provider(msrest.serialization.Model): + """Information about a Provider. A Provider is an entity that offers Targets to run Azure Quantum Jobs. + + :param provider_id: Unique id of this provider. + :type provider_id: str + :param provider_sku: The sku associated with pricing information for this provider. + :type provider_sku: str + :param instance_uri: A Uri identifying the specific instance of this provider. + :type instance_uri: str + :param application_name: The provider's marketplace application display name. + :type application_name: str + :param provisioning_state: Provisioning status field. Possible values include: "Succeeded", + "Launching", "Updating", "Deleting", "Deleted", "Failed". + :type provisioning_state: str or ~azure.mgmt.quantum.models.Status + :param resource_usage_id: Id to track resource usage for the provider. + :type resource_usage_id: str + """ + + _attribute_map = { + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'provider_sku': {'key': 'providerSku', 'type': 'str'}, + 'instance_uri': {'key': 'instanceUri', 'type': 'str'}, + 'application_name': {'key': 'applicationName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_usage_id': {'key': 'resourceUsageId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Provider, self).__init__(**kwargs) + self.provider_id = kwargs.get('provider_id', None) + self.provider_sku = kwargs.get('provider_sku', None) + self.instance_uri = kwargs.get('instance_uri', None) + self.application_name = kwargs.get('application_name', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.resource_usage_id = kwargs.get('resource_usage_id', None) + + +class ProviderDescription(msrest.serialization.Model): + """Information about an offering. A provider offering is an entity that offers Targets to run Azure Quantum Jobs. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: Unique provider's id. + :type id: str + :ivar name: Provider's display name. + :vartype name: str + :param properties: A list of provider-specific properties. + :type properties: ~azure.mgmt.quantum.models.ProviderProperties + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProviderProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderDescription, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.properties = kwargs.get('properties', None) + + +class ProviderProperties(msrest.serialization.Model): + """Provider properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar description: A description about this provider. + :vartype description: str + :ivar provider_type: Provider type. + :vartype provider_type: str + :ivar company: Company name. + :vartype company: str + :ivar default_endpoint: Provider's default endpoint. + :vartype default_endpoint: str + :param aad: Azure Active Directory info. + :type aad: ~azure.mgmt.quantum.models.ProviderPropertiesAad + :param managed_application: Provider's Managed-Application info. + :type managed_application: ~azure.mgmt.quantum.models.ProviderPropertiesManagedApplication + :param targets: The list of targets available from this provider. + :type targets: list[~azure.mgmt.quantum.models.TargetDescription] + :param skus: The list of skus available from this provider. + :type skus: list[~azure.mgmt.quantum.models.SkuDescription] + :param quota_dimensions: The list of quota dimensions from the provider. + :type quota_dimensions: list[~azure.mgmt.quantum.models.QuotaDimension] + :param pricing_dimensions: The list of pricing dimensions from the provider. + :type pricing_dimensions: list[~azure.mgmt.quantum.models.PricingDimension] + """ + + _validation = { + 'description': {'readonly': True}, + 'provider_type': {'readonly': True}, + 'company': {'readonly': True}, + 'default_endpoint': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'provider_type': {'key': 'providerType', 'type': 'str'}, + 'company': {'key': 'company', 'type': 'str'}, + 'default_endpoint': {'key': 'defaultEndpoint', 'type': 'str'}, + 'aad': {'key': 'aad', 'type': 'ProviderPropertiesAad'}, + 'managed_application': {'key': 'managedApplication', 'type': 'ProviderPropertiesManagedApplication'}, + 'targets': {'key': 'targets', 'type': '[TargetDescription]'}, + 'skus': {'key': 'skus', 'type': '[SkuDescription]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_dimensions': {'key': 'pricingDimensions', 'type': '[PricingDimension]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderProperties, self).__init__(**kwargs) + self.description = None + self.provider_type = None + self.company = None + self.default_endpoint = None + self.aad = kwargs.get('aad', None) + self.managed_application = kwargs.get('managed_application', None) + self.targets = kwargs.get('targets', None) + self.skus = kwargs.get('skus', None) + self.quota_dimensions = kwargs.get('quota_dimensions', None) + self.pricing_dimensions = kwargs.get('pricing_dimensions', None) + + +class ProviderPropertiesAad(msrest.serialization.Model): + """Azure Active Directory info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar application_id: Provider's application id. + :vartype application_id: str + :ivar tenant_id: Provider's tenant id. + :vartype tenant_id: str + """ + + _validation = { + 'application_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderPropertiesAad, self).__init__(**kwargs) + self.application_id = None + self.tenant_id = None + + +class ProviderPropertiesManagedApplication(msrest.serialization.Model): + """Provider's Managed-Application info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar publisher_id: Provider's publisher id. + :vartype publisher_id: str + :ivar offer_id: Provider's offer id. + :vartype offer_id: str + """ + + _validation = { + 'publisher_id': {'readonly': True}, + 'offer_id': {'readonly': True}, + } + + _attribute_map = { + 'publisher_id': {'key': 'publisherId', 'type': 'str'}, + 'offer_id': {'key': 'offerId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderPropertiesManagedApplication, self).__init__(**kwargs) + self.publisher_id = None + self.offer_id = None + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. E.g. "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 TrackedResource(Resource): + """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. + + Variables are only populated 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. E.g. "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 QuantumWorkspace(TrackedResource): + """The resource proxy definition object for quantum 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. E.g. "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 identity: Managed Identity information. + :type identity: ~azure.mgmt.quantum.models.QuantumWorkspaceIdentity + :ivar system_data: System metadata. + :vartype system_data: ~azure.mgmt.quantum.models.SystemData + :param providers: List of Providers selected for this Workspace. + :type providers: list[~azure.mgmt.quantum.models.Provider] + :ivar usable: Whether the current workspace is ready to accept Jobs. Possible values include: + "Yes", "No", "Partial". + :vartype usable: str or ~azure.mgmt.quantum.models.UsableStatus + :ivar provisioning_state: Provisioning status field. Possible values include: "Succeeded", + "ProviderLaunching", "ProviderUpdating", "ProviderDeleting", "ProviderProvisioning", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.quantum.models.ProvisioningStatus + :param storage_account: ARM Resource Id of the storage account associated with this workspace. + :type storage_account: str + :ivar endpoint_uri: The URI of the workspace endpoint. + :vartype endpoint_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'usable': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'endpoint_uri': {'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': 'QuantumWorkspaceIdentity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'providers': {'key': 'properties.providers', 'type': '[Provider]'}, + 'usable': {'key': 'properties.usable', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'}, + 'endpoint_uri': {'key': 'properties.endpointUri', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QuantumWorkspace, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.system_data = None + self.providers = kwargs.get('providers', None) + self.usable = None + self.provisioning_state = None + self.storage_account = kwargs.get('storage_account', None) + self.endpoint_uri = None + + +class QuantumWorkspaceIdentity(msrest.serialization.Model): + """Managed Identity information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :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: The identity type. Possible values include: "SystemAssigned", "None". + :type type: str or ~azure.mgmt.quantum.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': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QuantumWorkspaceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + + +class QuotaDimension(msrest.serialization.Model): + """Information about a specific quota dimension. + + :param id: Unique id of this dimension. + :type id: str + :param scope: The scope of this quota dimension. + :type scope: str + :param period: The reset period of this quota dimension. + :type period: str + :param quota: The max limit of this dimension. + :type quota: float + :param name: The display name of this quota dimension. + :type name: str + :param description: A description about this quota dimension. + :type description: str + :param unit: The standard unit of measurement used for this quota dimension. + :type unit: str + :param unit_plural: The standard unit of measurement used for this quota dimension in plural + form. + :type unit_plural: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'period': {'key': 'period', 'type': 'str'}, + 'quota': {'key': 'quota', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'unit_plural': {'key': 'unitPlural', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QuotaDimension, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.scope = kwargs.get('scope', None) + self.period = kwargs.get('period', None) + self.quota = kwargs.get('quota', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.unit = kwargs.get('unit', None) + self.unit_plural = kwargs.get('unit_plural', None) + + +class SkuDescription(msrest.serialization.Model): + """Information about a specific sku. + + :param id: Unique sku id. + :type id: str + :param name: Display name of this sku. + :type name: str + :param version: Display name of this sku. + :type version: str + :param description: Description about this sku. + :type description: str + :param restricted_access_uri: Uri to subscribe to the restricted access sku. + :type restricted_access_uri: str + :param targets: The list of targets available for this sku. + :type targets: list[str] + :param quota_dimensions: The list of quota dimensions for this sku. + :type quota_dimensions: list[~azure.mgmt.quantum.models.QuotaDimension] + :param pricing_details: The list of pricing details for the sku. + :type pricing_details: list[~azure.mgmt.quantum.models.PricingDetail] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'restricted_access_uri': {'key': 'restrictedAccessUri', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[str]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_details': {'key': 'pricingDetails', 'type': '[PricingDetail]'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuDescription, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.version = kwargs.get('version', None) + self.description = kwargs.get('description', None) + self.restricted_access_uri = kwargs.get('restricted_access_uri', None) + self.targets = kwargs.get('targets', None) + self.quota_dimensions = kwargs.get('quota_dimensions', None) + self.pricing_details = kwargs.get('pricing_details', None) + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.quantum.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.quantum.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) + + +class TagsObject(msrest.serialization.Model): + """Tags object for patch operations. + + :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(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class TargetDescription(msrest.serialization.Model): + """Information about a Target. A target is the component that can process a specific type of Job. + + :param id: Unique target id. + :type id: str + :param name: Display name of this target. + :type name: str + :param description: A description about this target. + :type description: str + :param accepted_data_formats: List of data formats accepted by this target. + :type accepted_data_formats: list[str] + :param accepted_content_encodings: List of content encodings accepted by this target. + :type accepted_content_encodings: list[str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'accepted_data_formats': {'key': 'acceptedDataFormats', 'type': '[str]'}, + 'accepted_content_encodings': {'key': 'acceptedContentEncodings', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(TargetDescription, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.accepted_data_formats = kwargs.get('accepted_data_formats', None) + self.accepted_content_encodings = kwargs.get('accepted_content_encodings', None) + + +class WorkspaceListResult(msrest.serialization.Model): + """The response of a list Workspaces operation. + + :param value: Result of a list Workspaces operation. + :type value: list[~azure.mgmt.quantum.models.QuantumWorkspace] + :param next_link: Link to the next set of results. Not empty if Value contains incomplete list + of Workspaces. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[QuantumWorkspace]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkspaceListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models_py3.py new file mode 100644 index 00000000000..e84404877e6 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/_models_py3.py @@ -0,0 +1,1019 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 + +from ._azure_quantum_management_client_enums import * + + +class CheckNameAvailabilityParameters(msrest.serialization.Model): + """Details of check name availability request body. + + :param name: Name for checking availability. + :type name: str + :param type: The resource type of Quantum Workspace. + :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] = "Microsoft.Quantum/Workspaces", + **kwargs + ): + super(CheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = name + self.type = type + + +class CheckNameAvailabilityResult(msrest.serialization.Model): + """Result of check name availability. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name_available: Indicator of availability of the Quantum Workspace resource name. + :type name_available: bool + :param reason: The reason of unavailability. + :type reason: str + :ivar message: The detailed info regarding the reason associated with the Namespace. + :vartype message: str + """ + + _validation = { + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + name_available: Optional[bool] = None, + reason: Optional[str] = None, + **kwargs + ): + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = name_available + self.reason = reason + self.message = None + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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 target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~azure.mgmt.quantum.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.mgmt.quantum.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + + :param error: The error object. + :type error: ~azure.mgmt.quantum.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class OfferingsListResult(msrest.serialization.Model): + """The response of a list Providers operation. + + :param value: Result of a list Providers operation. + :type value: list[~azure.mgmt.quantum.models.ProviderDescription] + :param next_link: Link to the next set of results. Not empty if Value contains incomplete list + of Providers. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProviderDescription]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ProviderDescription"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(OfferingsListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class Operation(msrest.serialization.Model): + """Operation provided by provider. + + :param name: Name of the operation. + :type name: str + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool + :param display: Properties of the operation. + :type display: ~azure.mgmt.quantum.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + is_data_action: Optional[bool] = None, + display: Optional["OperationDisplay"] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display + + +class OperationDisplay(msrest.serialization.Model): + """Properties of the operation. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Operation name. + :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: 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 OperationsList(msrest.serialization.Model): + """Lists the operations available. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of operations. + :type next_link: str + :param value: Required. Array of operations. + :type value: list[~azure.mgmt.quantum.models.Operation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + *, + value: List["Operation"], + next_link: Optional[str] = None, + **kwargs + ): + super(OperationsList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class PricingDetail(msrest.serialization.Model): + """Detailed pricing information for an sku. + + :param id: Unique id for this pricing information. + :type id: str + :param value: The unit cost of this sku. + :type value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + super(PricingDetail, self).__init__(**kwargs) + self.id = id + self.value = value + + +class PricingDimension(msrest.serialization.Model): + """Information about pricing dimension. + + :param id: Unique id of this pricing dimension. + :type id: str + :param name: The display name of this pricing dimension. + :type name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + **kwargs + ): + super(PricingDimension, self).__init__(**kwargs) + self.id = id + self.name = name + + +class Provider(msrest.serialization.Model): + """Information about a Provider. A Provider is an entity that offers Targets to run Azure Quantum Jobs. + + :param provider_id: Unique id of this provider. + :type provider_id: str + :param provider_sku: The sku associated with pricing information for this provider. + :type provider_sku: str + :param instance_uri: A Uri identifying the specific instance of this provider. + :type instance_uri: str + :param application_name: The provider's marketplace application display name. + :type application_name: str + :param provisioning_state: Provisioning status field. Possible values include: "Succeeded", + "Launching", "Updating", "Deleting", "Deleted", "Failed". + :type provisioning_state: str or ~azure.mgmt.quantum.models.Status + :param resource_usage_id: Id to track resource usage for the provider. + :type resource_usage_id: str + """ + + _attribute_map = { + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'provider_sku': {'key': 'providerSku', 'type': 'str'}, + 'instance_uri': {'key': 'instanceUri', 'type': 'str'}, + 'application_name': {'key': 'applicationName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_usage_id': {'key': 'resourceUsageId', 'type': 'str'}, + } + + def __init__( + self, + *, + provider_id: Optional[str] = None, + provider_sku: Optional[str] = None, + instance_uri: Optional[str] = None, + application_name: Optional[str] = None, + provisioning_state: Optional[Union[str, "Status"]] = None, + resource_usage_id: Optional[str] = None, + **kwargs + ): + super(Provider, self).__init__(**kwargs) + self.provider_id = provider_id + self.provider_sku = provider_sku + self.instance_uri = instance_uri + self.application_name = application_name + self.provisioning_state = provisioning_state + self.resource_usage_id = resource_usage_id + + +class ProviderDescription(msrest.serialization.Model): + """Information about an offering. A provider offering is an entity that offers Targets to run Azure Quantum Jobs. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param id: Unique provider's id. + :type id: str + :ivar name: Provider's display name. + :vartype name: str + :param properties: A list of provider-specific properties. + :type properties: ~azure.mgmt.quantum.models.ProviderProperties + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProviderProperties'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + properties: Optional["ProviderProperties"] = None, + **kwargs + ): + super(ProviderDescription, self).__init__(**kwargs) + self.id = id + self.name = None + self.properties = properties + + +class ProviderProperties(msrest.serialization.Model): + """Provider properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar description: A description about this provider. + :vartype description: str + :ivar provider_type: Provider type. + :vartype provider_type: str + :ivar company: Company name. + :vartype company: str + :ivar default_endpoint: Provider's default endpoint. + :vartype default_endpoint: str + :param aad: Azure Active Directory info. + :type aad: ~azure.mgmt.quantum.models.ProviderPropertiesAad + :param managed_application: Provider's Managed-Application info. + :type managed_application: ~azure.mgmt.quantum.models.ProviderPropertiesManagedApplication + :param targets: The list of targets available from this provider. + :type targets: list[~azure.mgmt.quantum.models.TargetDescription] + :param skus: The list of skus available from this provider. + :type skus: list[~azure.mgmt.quantum.models.SkuDescription] + :param quota_dimensions: The list of quota dimensions from the provider. + :type quota_dimensions: list[~azure.mgmt.quantum.models.QuotaDimension] + :param pricing_dimensions: The list of pricing dimensions from the provider. + :type pricing_dimensions: list[~azure.mgmt.quantum.models.PricingDimension] + """ + + _validation = { + 'description': {'readonly': True}, + 'provider_type': {'readonly': True}, + 'company': {'readonly': True}, + 'default_endpoint': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'provider_type': {'key': 'providerType', 'type': 'str'}, + 'company': {'key': 'company', 'type': 'str'}, + 'default_endpoint': {'key': 'defaultEndpoint', 'type': 'str'}, + 'aad': {'key': 'aad', 'type': 'ProviderPropertiesAad'}, + 'managed_application': {'key': 'managedApplication', 'type': 'ProviderPropertiesManagedApplication'}, + 'targets': {'key': 'targets', 'type': '[TargetDescription]'}, + 'skus': {'key': 'skus', 'type': '[SkuDescription]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_dimensions': {'key': 'pricingDimensions', 'type': '[PricingDimension]'}, + } + + def __init__( + self, + *, + aad: Optional["ProviderPropertiesAad"] = None, + managed_application: Optional["ProviderPropertiesManagedApplication"] = None, + targets: Optional[List["TargetDescription"]] = None, + skus: Optional[List["SkuDescription"]] = None, + quota_dimensions: Optional[List["QuotaDimension"]] = None, + pricing_dimensions: Optional[List["PricingDimension"]] = None, + **kwargs + ): + super(ProviderProperties, self).__init__(**kwargs) + self.description = None + self.provider_type = None + self.company = None + self.default_endpoint = None + self.aad = aad + self.managed_application = managed_application + self.targets = targets + self.skus = skus + self.quota_dimensions = quota_dimensions + self.pricing_dimensions = pricing_dimensions + + +class ProviderPropertiesAad(msrest.serialization.Model): + """Azure Active Directory info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar application_id: Provider's application id. + :vartype application_id: str + :ivar tenant_id: Provider's tenant id. + :vartype tenant_id: str + """ + + _validation = { + 'application_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderPropertiesAad, self).__init__(**kwargs) + self.application_id = None + self.tenant_id = None + + +class ProviderPropertiesManagedApplication(msrest.serialization.Model): + """Provider's Managed-Application info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar publisher_id: Provider's publisher id. + :vartype publisher_id: str + :ivar offer_id: Provider's offer id. + :vartype offer_id: str + """ + + _validation = { + 'publisher_id': {'readonly': True}, + 'offer_id': {'readonly': True}, + } + + _attribute_map = { + 'publisher_id': {'key': 'publisherId', 'type': 'str'}, + 'offer_id': {'key': 'offerId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderPropertiesManagedApplication, self).__init__(**kwargs) + self.publisher_id = None + self.offer_id = None + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. E.g. "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 TrackedResource(Resource): + """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. + + Variables are only populated 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. E.g. "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 QuantumWorkspace(TrackedResource): + """The resource proxy definition object for quantum 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. E.g. "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 identity: Managed Identity information. + :type identity: ~azure.mgmt.quantum.models.QuantumWorkspaceIdentity + :ivar system_data: System metadata. + :vartype system_data: ~azure.mgmt.quantum.models.SystemData + :param providers: List of Providers selected for this Workspace. + :type providers: list[~azure.mgmt.quantum.models.Provider] + :ivar usable: Whether the current workspace is ready to accept Jobs. Possible values include: + "Yes", "No", "Partial". + :vartype usable: str or ~azure.mgmt.quantum.models.UsableStatus + :ivar provisioning_state: Provisioning status field. Possible values include: "Succeeded", + "ProviderLaunching", "ProviderUpdating", "ProviderDeleting", "ProviderProvisioning", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.quantum.models.ProvisioningStatus + :param storage_account: ARM Resource Id of the storage account associated with this workspace. + :type storage_account: str + :ivar endpoint_uri: The URI of the workspace endpoint. + :vartype endpoint_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'usable': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'endpoint_uri': {'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': 'QuantumWorkspaceIdentity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'providers': {'key': 'properties.providers', 'type': '[Provider]'}, + 'usable': {'key': 'properties.usable', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'}, + 'endpoint_uri': {'key': 'properties.endpointUri', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + identity: Optional["QuantumWorkspaceIdentity"] = None, + providers: Optional[List["Provider"]] = None, + storage_account: Optional[str] = None, + **kwargs + ): + super(QuantumWorkspace, self).__init__(tags=tags, location=location, **kwargs) + self.identity = identity + self.system_data = None + self.providers = providers + self.usable = None + self.provisioning_state = None + self.storage_account = storage_account + self.endpoint_uri = None + + +class QuantumWorkspaceIdentity(msrest.serialization.Model): + """Managed Identity information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :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: The identity type. Possible values include: "SystemAssigned", "None". + :type type: str or ~azure.mgmt.quantum.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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + **kwargs + ): + super(QuantumWorkspaceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class QuotaDimension(msrest.serialization.Model): + """Information about a specific quota dimension. + + :param id: Unique id of this dimension. + :type id: str + :param scope: The scope of this quota dimension. + :type scope: str + :param period: The reset period of this quota dimension. + :type period: str + :param quota: The max limit of this dimension. + :type quota: float + :param name: The display name of this quota dimension. + :type name: str + :param description: A description about this quota dimension. + :type description: str + :param unit: The standard unit of measurement used for this quota dimension. + :type unit: str + :param unit_plural: The standard unit of measurement used for this quota dimension in plural + form. + :type unit_plural: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'period': {'key': 'period', 'type': 'str'}, + 'quota': {'key': 'quota', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'unit_plural': {'key': 'unitPlural', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + scope: Optional[str] = None, + period: Optional[str] = None, + quota: Optional[float] = None, + name: Optional[str] = None, + description: Optional[str] = None, + unit: Optional[str] = None, + unit_plural: Optional[str] = None, + **kwargs + ): + super(QuotaDimension, self).__init__(**kwargs) + self.id = id + self.scope = scope + self.period = period + self.quota = quota + self.name = name + self.description = description + self.unit = unit + self.unit_plural = unit_plural + + +class SkuDescription(msrest.serialization.Model): + """Information about a specific sku. + + :param id: Unique sku id. + :type id: str + :param name: Display name of this sku. + :type name: str + :param version: Display name of this sku. + :type version: str + :param description: Description about this sku. + :type description: str + :param restricted_access_uri: Uri to subscribe to the restricted access sku. + :type restricted_access_uri: str + :param targets: The list of targets available for this sku. + :type targets: list[str] + :param quota_dimensions: The list of quota dimensions for this sku. + :type quota_dimensions: list[~azure.mgmt.quantum.models.QuotaDimension] + :param pricing_details: The list of pricing details for the sku. + :type pricing_details: list[~azure.mgmt.quantum.models.PricingDetail] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'restricted_access_uri': {'key': 'restrictedAccessUri', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[str]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_details': {'key': 'pricingDetails', 'type': '[PricingDetail]'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + version: Optional[str] = None, + description: Optional[str] = None, + restricted_access_uri: Optional[str] = None, + targets: Optional[List[str]] = None, + quota_dimensions: Optional[List["QuotaDimension"]] = None, + pricing_details: Optional[List["PricingDetail"]] = None, + **kwargs + ): + super(SkuDescription, self).__init__(**kwargs) + self.id = id + self.name = name + self.version = version + self.description = description + self.restricted_access_uri = restricted_access_uri + self.targets = targets + self.quota_dimensions = quota_dimensions + self.pricing_details = pricing_details + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure.mgmt.quantum.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.quantum.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at + + +class TagsObject(msrest.serialization.Model): + """Tags object for patch operations. + + :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(TagsObject, self).__init__(**kwargs) + self.tags = tags + + +class TargetDescription(msrest.serialization.Model): + """Information about a Target. A target is the component that can process a specific type of Job. + + :param id: Unique target id. + :type id: str + :param name: Display name of this target. + :type name: str + :param description: A description about this target. + :type description: str + :param accepted_data_formats: List of data formats accepted by this target. + :type accepted_data_formats: list[str] + :param accepted_content_encodings: List of content encodings accepted by this target. + :type accepted_content_encodings: list[str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'accepted_data_formats': {'key': 'acceptedDataFormats', 'type': '[str]'}, + 'accepted_content_encodings': {'key': 'acceptedContentEncodings', 'type': '[str]'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + description: Optional[str] = None, + accepted_data_formats: Optional[List[str]] = None, + accepted_content_encodings: Optional[List[str]] = None, + **kwargs + ): + super(TargetDescription, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.accepted_data_formats = accepted_data_formats + self.accepted_content_encodings = accepted_content_encodings + + +class WorkspaceListResult(msrest.serialization.Model): + """The response of a list Workspaces operation. + + :param value: Result of a list Workspaces operation. + :type value: list[~azure.mgmt.quantum.models.QuantumWorkspace] + :param next_link: Link to the next set of results. Not empty if Value contains incomplete list + of Workspaces. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[QuantumWorkspace]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["QuantumWorkspace"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(WorkspaceListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource.py deleted file mode 100644 index 695d8ed2d99..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_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 .resource import Resource - - -class AzureEntityResource(Resource): - """Entity Resource. - - The resource model definition for an 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. E.g. - "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 diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource_py3.py deleted file mode 100644 index 04504109e71..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_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 .resource_py3 import Resource - - -class AzureEntityResource(Resource): - """Entity Resource. - - The resource model definition for an 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. E.g. - "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 diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters.py deleted file mode 100644 index 2e965d097b2..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters.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 CheckNameAvailabilityParameters(Model): - """Details of check name availability request body. - - :param name: Name for checking availability. - :type name: str - :param type: The resource type of Quantum Workspace. Default value: - "Microsoft.Quantum/Workspaces" . - :type type: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CheckNameAvailabilityParameters, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', "Microsoft.Quantum/Workspaces") diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters_py3.py deleted file mode 100644 index 195452b441d..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_parameters_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 CheckNameAvailabilityParameters(Model): - """Details of check name availability request body. - - :param name: Name for checking availability. - :type name: str - :param type: The resource type of Quantum Workspace. Default value: - "Microsoft.Quantum/Workspaces" . - :type type: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, type: str="Microsoft.Quantum/Workspaces", **kwargs) -> None: - super(CheckNameAvailabilityParameters, self).__init__(**kwargs) - self.name = name - self.type = type diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_result.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_result.py deleted file mode 100644 index 90f0384f41f..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_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 CheckNameAvailabilityResult(Model): - """Result of check name availability. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param name_available: Indicator of availability of the Quantum Workspace - resource name. - :type name_available: bool - :param reason: The reason of unavailability. - :type reason: str - :ivar message: The detailed info regarding the reason associated with the - Namespace. - :vartype message: str - """ - - _validation = { - 'message': {'readonly': True}, - } - - _attribute_map = { - 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CheckNameAvailabilityResult, self).__init__(**kwargs) - self.name_available = kwargs.get('name_available', None) - self.reason = kwargs.get('reason', None) - self.message = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_result_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_result_py3.py deleted file mode 100644 index e032f28fe67..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/check_name_availability_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 CheckNameAvailabilityResult(Model): - """Result of check name availability. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param name_available: Indicator of availability of the Quantum Workspace - resource name. - :type name_available: bool - :param reason: The reason of unavailability. - :type reason: str - :ivar message: The detailed info regarding the reason associated with the - Namespace. - :vartype message: str - """ - - _validation = { - 'message': {'readonly': True}, - } - - _attribute_map = { - 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, name_available: bool=None, reason: str=None, **kwargs) -> None: - super(CheckNameAvailabilityResult, self).__init__(**kwargs) - self.name_available = name_available - self.reason = reason - self.message = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.py deleted file mode 100644 index 8667aa7f24b..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.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 ErrorAdditionalInfo(Model): - """The resource management error additional info. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The additional info type. - :vartype type: str - :ivar info: The additional info. - :vartype info: object - """ - - _validation = { - 'type': {'readonly': True}, - 'info': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, - } - - def __init__(self, **kwargs): - super(ErrorAdditionalInfo, self).__init__(**kwargs) - self.type = None - self.info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_py3.py deleted file mode 100644 index a18439b9247..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_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 ErrorAdditionalInfo(Model): - """The resource management error additional info. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The additional info type. - :vartype type: str - :ivar info: The additional info. - :vartype info: object - """ - - _validation = { - 'type': {'readonly': True}, - 'info': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, - } - - def __init__(self, **kwargs) -> None: - super(ErrorAdditionalInfo, self).__init__(**kwargs) - self.type = None - self.info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail.py deleted file mode 100644 index 415438f5715..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail.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 ErrorDetail(Model): - """The error detail. - - 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 target: The error target. - :vartype target: str - :ivar details: The error details. - :vartype details: list[~azure.quantum.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.quantum.models.ErrorAdditionalInfo] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'details': {'readonly': True}, - 'additional_info': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__(self, **kwargs): - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail_py3.py deleted file mode 100644 index 3bd1f84d18e..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_detail_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 ErrorDetail(Model): - """The error detail. - - 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 target: The error target. - :vartype target: str - :ivar details: The error details. - :vartype details: list[~azure.quantum.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.quantum.models.ErrorAdditionalInfo] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'details': {'readonly': True}, - 'additional_info': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__(self, **kwargs) -> None: - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.py deleted file mode 100644 index 3dd8c30f456..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.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 -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """Error response. - - Common error response for all Azure Resource Manager APIs to return error - details for failed operations. (This also follows the OData error response - format.). - - :param error: The error object. - :type error: ~azure.quantum.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - 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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_py3.py deleted file mode 100644 index dffc3a3f9ef..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_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 -from msrest.exceptions import HttpOperationError - - -class ErrorResponse(Model): - """Error response. - - Common error response for all Azure Resource Manager APIs to return error - details for failed operations. (This also follows the OData error response - format.). - - :param error: The error object. - :type error: ~azure.quantum.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - 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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.py deleted file mode 100644 index ffd625e03aa..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.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 Operation(Model): - """Operation provided by provider. - - :param name: Name of the operation - :type name: str - :param is_data_action: Indicates whether the operation is a data action - :type is_data_action: bool - :param display: Properties of the operation - :type display: ~azure.quantum.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__(self, **kwargs): - super(Operation, 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) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display.py deleted file mode 100644 index 89c4bdd6ccb..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/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): - """Properties of the operation. - - :param provider: Provider name - :type provider: str - :param resource: Resource name - :type resource: str - :param operation: Operation name - :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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display_py3.py deleted file mode 100644 index fa3740dfc65..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/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): - """Properties of the operation. - - :param provider: Provider name - :type provider: str - :param resource: Resource name - :type resource: str - :param operation: Operation name - :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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_paged.py deleted file mode 100644 index e8bccc0a4a8..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_py3.py deleted file mode 100644 index 4d6695576cc..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_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 Operation(Model): - """Operation provided by provider. - - :param name: Name of the operation - :type name: str - :param is_data_action: Indicates whether the operation is a data action - :type is_data_action: bool - :param display: Properties of the operation - :type display: ~azure.quantum.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__(self, *, name: str=None, is_data_action: bool=None, display=None, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.name = name - self.is_data_action = is_data_action - self.display = display diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.py deleted file mode 100644 index e3294d78387..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.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 PricingDetail(Model): - """Detailed pricing information for an sku. - - :param id: Unique id for this pricing information. - :type id: str - :param value: The unit cost of this sku. - :type value: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PricingDetail, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.value = kwargs.get('value', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_py3.py deleted file mode 100644 index 1f220717b39..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_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 PricingDetail(Model): - """Detailed pricing information for an sku. - - :param id: Unique id for this pricing information. - :type id: str - :param value: The unit cost of this sku. - :type value: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, value: str=None, **kwargs) -> None: - super(PricingDetail, self).__init__(**kwargs) - self.id = id - self.value = value diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.py deleted file mode 100644 index bb72e9e14dd..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.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 PricingDimension(Model): - """Information about pricing dimension. - - :param id: Unique id of this pricing dimension. - :type id: str - :param name: The display name of this pricing dimension. - :type name: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PricingDimension, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_py3.py deleted file mode 100644 index a8d98bce326..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_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 PricingDimension(Model): - """Information about pricing dimension. - - :param id: Unique id of this pricing dimension. - :type id: str - :param name: The display name of this pricing dimension. - :type name: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, **kwargs) -> None: - super(PricingDimension, self).__init__(**kwargs) - self.id = id - self.name = name diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.py deleted file mode 100644 index b650ce2509c..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.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 Provider(Model): - """Information about a Provider. A Provider is an entity that offers Targets - to run Azure Quantum Jobs. - - :param provider_id: Unique id of this provider. - :type provider_id: str - :param provider_sku: The sku associated with pricing information for this - provider. - :type provider_sku: str - :param instance_uri: A Uri identifying the specific instance of this - provider. - :type instance_uri: str - :param application_name: The provider's marketplace application display - name. - :type application_name: str - :param provisioning_state: Provisioning status field. Possible values - include: 'Succeeded', 'Launching', 'Updating', 'Deleting', 'Deleted', - 'Failed' - :type provisioning_state: str or ~azure.quantum.models.Status - :param resource_usage_id: Id to track resource usage for the provider. - :type resource_usage_id: str - """ - - _attribute_map = { - 'provider_id': {'key': 'providerId', 'type': 'str'}, - 'provider_sku': {'key': 'providerSku', 'type': 'str'}, - 'instance_uri': {'key': 'instanceUri', 'type': 'str'}, - 'application_name': {'key': 'applicationName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'resource_usage_id': {'key': 'resourceUsageId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Provider, self).__init__(**kwargs) - self.provider_id = kwargs.get('provider_id', None) - self.provider_sku = kwargs.get('provider_sku', None) - self.instance_uri = kwargs.get('instance_uri', None) - self.application_name = kwargs.get('application_name', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.resource_usage_id = kwargs.get('resource_usage_id', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.py deleted file mode 100644 index 4bc695bbd0f..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.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 ProviderDescription(Model): - """Information about an offering. A provider offering is an entity that offers - Targets to run Azure Quantum Jobs. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Unique provider's id. - :type id: str - :ivar name: Provider's display name. - :vartype name: str - :param properties: A list of provider-specific properties. - :type properties: ~azure.quantum.models.ProviderProperties - """ - - _validation = { - 'name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'ProviderProperties'}, - } - - def __init__(self, **kwargs): - super(ProviderDescription, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = None - self.properties = kwargs.get('properties', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_paged.py deleted file mode 100644 index 455a5cf3ed2..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_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 ProviderDescriptionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ProviderDescription ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ProviderDescription]'} - } - - def __init__(self, *args, **kwargs): - - super(ProviderDescriptionPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_py3.py deleted file mode 100644 index 9cd6bade72a..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_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 ProviderDescription(Model): - """Information about an offering. A provider offering is an entity that offers - Targets to run Azure Quantum Jobs. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Unique provider's id. - :type id: str - :ivar name: Provider's display name. - :vartype name: str - :param properties: A list of provider-specific properties. - :type properties: ~azure.quantum.models.ProviderProperties - """ - - _validation = { - 'name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'ProviderProperties'}, - } - - def __init__(self, *, id: str=None, properties=None, **kwargs) -> None: - super(ProviderDescription, self).__init__(**kwargs) - self.id = id - self.name = None - self.properties = properties diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.py deleted file mode 100644 index 7ef808fcdea..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.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 ProviderProperties(Model): - """Provider properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar description: A description about this provider. - :vartype description: str - :ivar provider_type: Provider type. - :vartype provider_type: str - :ivar company: Company name. - :vartype company: str - :ivar default_endpoint: Provider's default endpoint. - :vartype default_endpoint: str - :param aad: Azure Active Directory info. - :type aad: ~azure.quantum.models.ProviderPropertiesAad - :param managed_application: Provider's Managed-Application info - :type managed_application: - ~azure.quantum.models.ProviderPropertiesManagedApplication - :param targets: The list of targets available from this provider. - :type targets: list[~azure.quantum.models.TargetDescription] - :param skus: The list of skus available from this provider. - :type skus: list[~azure.quantum.models.SkuDescription] - :param quota_dimensions: The list of quota dimensions from the provider. - :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] - :param pricing_dimensions: The list of pricing dimensions from the - provider. - :type pricing_dimensions: list[~azure.quantum.models.PricingDimension] - """ - - _validation = { - 'description': {'readonly': True}, - 'provider_type': {'readonly': True}, - 'company': {'readonly': True}, - 'default_endpoint': {'readonly': True}, - } - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - 'provider_type': {'key': 'providerType', 'type': 'str'}, - 'company': {'key': 'company', 'type': 'str'}, - 'default_endpoint': {'key': 'defaultEndpoint', 'type': 'str'}, - 'aad': {'key': 'aad', 'type': 'ProviderPropertiesAad'}, - 'managed_application': {'key': 'managedApplication', 'type': 'ProviderPropertiesManagedApplication'}, - 'targets': {'key': 'targets', 'type': '[TargetDescription]'}, - 'skus': {'key': 'skus', 'type': '[SkuDescription]'}, - 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, - 'pricing_dimensions': {'key': 'pricingDimensions', 'type': '[PricingDimension]'}, - } - - def __init__(self, **kwargs): - super(ProviderProperties, self).__init__(**kwargs) - self.description = None - self.provider_type = None - self.company = None - self.default_endpoint = None - self.aad = kwargs.get('aad', None) - self.managed_application = kwargs.get('managed_application', None) - self.targets = kwargs.get('targets', None) - self.skus = kwargs.get('skus', None) - self.quota_dimensions = kwargs.get('quota_dimensions', None) - self.pricing_dimensions = kwargs.get('pricing_dimensions', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.py deleted file mode 100644 index 63f86eafea3..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.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 ProviderPropertiesAad(Model): - """Azure Active Directory info. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar application_id: Provider's application id. - :vartype application_id: str - :ivar tenant_id: Provider's tenant id. - :vartype tenant_id: str - """ - - _validation = { - 'application_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'application_id': {'key': 'applicationId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProviderPropertiesAad, self).__init__(**kwargs) - self.application_id = None - self.tenant_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_py3.py deleted file mode 100644 index 1ee0a77b3be..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_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 ProviderPropertiesAad(Model): - """Azure Active Directory info. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar application_id: Provider's application id. - :vartype application_id: str - :ivar tenant_id: Provider's tenant id. - :vartype tenant_id: str - """ - - _validation = { - 'application_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'application_id': {'key': 'applicationId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ProviderPropertiesAad, self).__init__(**kwargs) - self.application_id = None - self.tenant_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.py deleted file mode 100644 index 30c0b86b5d5..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.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 ProviderPropertiesManagedApplication(Model): - """Provider's Managed-Application info. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar publisher_id: Provider's publisher id. - :vartype publisher_id: str - :ivar offer_id: Provider's offer id. - :vartype offer_id: str - """ - - _validation = { - 'publisher_id': {'readonly': True}, - 'offer_id': {'readonly': True}, - } - - _attribute_map = { - 'publisher_id': {'key': 'publisherId', 'type': 'str'}, - 'offer_id': {'key': 'offerId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProviderPropertiesManagedApplication, self).__init__(**kwargs) - self.publisher_id = None - self.offer_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_py3.py deleted file mode 100644 index 01c56718053..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_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 ProviderPropertiesManagedApplication(Model): - """Provider's Managed-Application info. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar publisher_id: Provider's publisher id. - :vartype publisher_id: str - :ivar offer_id: Provider's offer id. - :vartype offer_id: str - """ - - _validation = { - 'publisher_id': {'readonly': True}, - 'offer_id': {'readonly': True}, - } - - _attribute_map = { - 'publisher_id': {'key': 'publisherId', 'type': 'str'}, - 'offer_id': {'key': 'offerId', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ProviderPropertiesManagedApplication, self).__init__(**kwargs) - self.publisher_id = None - self.offer_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_py3.py deleted file mode 100644 index ee478031b68..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_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 ProviderProperties(Model): - """Provider properties. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar description: A description about this provider. - :vartype description: str - :ivar provider_type: Provider type. - :vartype provider_type: str - :ivar company: Company name. - :vartype company: str - :ivar default_endpoint: Provider's default endpoint. - :vartype default_endpoint: str - :param aad: Azure Active Directory info. - :type aad: ~azure.quantum.models.ProviderPropertiesAad - :param managed_application: Provider's Managed-Application info - :type managed_application: - ~azure.quantum.models.ProviderPropertiesManagedApplication - :param targets: The list of targets available from this provider. - :type targets: list[~azure.quantum.models.TargetDescription] - :param skus: The list of skus available from this provider. - :type skus: list[~azure.quantum.models.SkuDescription] - :param quota_dimensions: The list of quota dimensions from the provider. - :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] - :param pricing_dimensions: The list of pricing dimensions from the - provider. - :type pricing_dimensions: list[~azure.quantum.models.PricingDimension] - """ - - _validation = { - 'description': {'readonly': True}, - 'provider_type': {'readonly': True}, - 'company': {'readonly': True}, - 'default_endpoint': {'readonly': True}, - } - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - 'provider_type': {'key': 'providerType', 'type': 'str'}, - 'company': {'key': 'company', 'type': 'str'}, - 'default_endpoint': {'key': 'defaultEndpoint', 'type': 'str'}, - 'aad': {'key': 'aad', 'type': 'ProviderPropertiesAad'}, - 'managed_application': {'key': 'managedApplication', 'type': 'ProviderPropertiesManagedApplication'}, - 'targets': {'key': 'targets', 'type': '[TargetDescription]'}, - 'skus': {'key': 'skus', 'type': '[SkuDescription]'}, - 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, - 'pricing_dimensions': {'key': 'pricingDimensions', 'type': '[PricingDimension]'}, - } - - def __init__(self, *, aad=None, managed_application=None, targets=None, skus=None, quota_dimensions=None, pricing_dimensions=None, **kwargs) -> None: - super(ProviderProperties, self).__init__(**kwargs) - self.description = None - self.provider_type = None - self.company = None - self.default_endpoint = None - self.aad = aad - self.managed_application = managed_application - self.targets = targets - self.skus = skus - self.quota_dimensions = quota_dimensions - self.pricing_dimensions = pricing_dimensions diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_py3.py deleted file mode 100644 index 61b0860a8e6..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_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 Provider(Model): - """Information about a Provider. A Provider is an entity that offers Targets - to run Azure Quantum Jobs. - - :param provider_id: Unique id of this provider. - :type provider_id: str - :param provider_sku: The sku associated with pricing information for this - provider. - :type provider_sku: str - :param instance_uri: A Uri identifying the specific instance of this - provider. - :type instance_uri: str - :param application_name: The provider's marketplace application display - name. - :type application_name: str - :param provisioning_state: Provisioning status field. Possible values - include: 'Succeeded', 'Launching', 'Updating', 'Deleting', 'Deleted', - 'Failed' - :type provisioning_state: str or ~azure.quantum.models.Status - :param resource_usage_id: Id to track resource usage for the provider. - :type resource_usage_id: str - """ - - _attribute_map = { - 'provider_id': {'key': 'providerId', 'type': 'str'}, - 'provider_sku': {'key': 'providerSku', 'type': 'str'}, - 'instance_uri': {'key': 'instanceUri', 'type': 'str'}, - 'application_name': {'key': 'applicationName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'resource_usage_id': {'key': 'resourceUsageId', 'type': 'str'}, - } - - def __init__(self, *, provider_id: str=None, provider_sku: str=None, instance_uri: str=None, application_name: str=None, provisioning_state=None, resource_usage_id: str=None, **kwargs) -> None: - super(Provider, self).__init__(**kwargs) - self.provider_id = provider_id - self.provider_sku = provider_sku - self.instance_uri = instance_uri - self.application_name = application_name - self.provisioning_state = provisioning_state - self.resource_usage_id = resource_usage_id diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource.py deleted file mode 100644 index 76698f8e638..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_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 .resource import Resource - - -class ProxyResource(Resource): - """Proxy Resource. - - The resource model definition for a Azure Resource Manager proxy resource. - It will not have tags and a location. - - 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. E.g. - "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) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource_py3.py deleted file mode 100644 index cda7af9567b..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_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 .resource_py3 import Resource - - -class ProxyResource(Resource): - """Proxy Resource. - - The resource model definition for a Azure Resource Manager proxy resource. - It will not have tags and a location. - - 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. E.g. - "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) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.py deleted file mode 100644 index 3cc83661c00..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.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 enum import Enum - - -class Status(str, Enum): - - succeeded = "Succeeded" - launching = "Launching" - updating = "Updating" - deleting = "Deleting" - deleted = "Deleted" - failed = "Failed" - - -class UsableStatus(str, Enum): - - yes = "Yes" - no = "No" - partial = "Partial" - - -class ProvisioningStatus(str, Enum): - - succeeded = "Succeeded" - provider_launching = "ProviderLaunching" - provider_updating = "ProviderUpdating" - provider_deleting = "ProviderDeleting" - provider_provisioning = "ProviderProvisioning" - failed = "Failed" - - -class ResourceIdentityType(str, Enum): - - system_assigned = "SystemAssigned" - none = "None" - - -class CreatedByType(str, Enum): - - user = "User" - application = "Application" - managed_identity = "ManagedIdentity" - key = "Key" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py deleted file mode 100644 index 77c021f022f..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py +++ /dev/null @@ -1,90 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 QuantumWorkspace(TrackedResource): - """The resource proxy definition object for quantum 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. E.g. - "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 providers: List of Providers selected for this Workspace - :type providers: list[~azure.quantum.models.Provider] - :ivar usable: Whether the current workspace is ready to accept Jobs. - Possible values include: 'Yes', 'No', 'Partial' - :vartype usable: str or ~azure.quantum.models.UsableStatus - :ivar provisioning_state: Provisioning status field. Possible values - include: 'Succeeded', 'ProviderLaunching', 'ProviderUpdating', - 'ProviderDeleting', 'ProviderProvisioning', 'Failed' - :vartype provisioning_state: str or - ~azure.quantum.models.ProvisioningStatus - :param storage_account: ARM Resource Id of the storage account associated - with this workspace. - :type storage_account: str - :ivar endpoint_uri: The URI of the workspace endpoint. - :vartype endpoint_uri: str - :param identity: Managed Identity information. - :type identity: ~azure.quantum.models.QuantumWorkspaceIdentity - :ivar system_data: System metadata - :vartype system_data: ~azure.quantum.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'usable': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'endpoint_uri': {'readonly': True}, - 'system_data': {'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'}, - 'providers': {'key': 'properties.providers', 'type': '[Provider]'}, - 'usable': {'key': 'properties.usable', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'}, - 'endpoint_uri': {'key': 'properties.endpointUri', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'QuantumWorkspaceIdentity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__(self, **kwargs): - super(QuantumWorkspace, self).__init__(**kwargs) - self.providers = kwargs.get('providers', None) - self.usable = None - self.provisioning_state = None - self.storage_account = kwargs.get('storage_account', None) - self.endpoint_uri = None - self.identity = kwargs.get('identity', None) - self.system_data = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.py deleted file mode 100644 index 69193a8a968..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.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 QuantumWorkspaceIdentity(Model): - """Managed Identity information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :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: The identity type. Possible values include: 'SystemAssigned', - 'None' - :type type: str or ~azure.quantum.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': 'str'}, - } - - def __init__(self, **kwargs): - super(QuantumWorkspaceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_py3.py deleted file mode 100644 index 3cd364bf7cc..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_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 QuantumWorkspaceIdentity(Model): - """Managed Identity information. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :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: The identity type. Possible values include: 'SystemAssigned', - 'None' - :type type: str or ~azure.quantum.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': 'str'}, - } - - def __init__(self, *, type=None, **kwargs) -> None: - super(QuantumWorkspaceIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_paged.py deleted file mode 100644 index de356e694af..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_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 QuantumWorkspacePaged(Paged): - """ - A paging container for iterating over a list of :class:`QuantumWorkspace ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[QuantumWorkspace]'} - } - - def __init__(self, *args, **kwargs): - - super(QuantumWorkspacePaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py deleted file mode 100644 index 3625364c3ce..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py +++ /dev/null @@ -1,90 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 QuantumWorkspace(TrackedResource): - """The resource proxy definition object for quantum 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. E.g. - "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 providers: List of Providers selected for this Workspace - :type providers: list[~azure.quantum.models.Provider] - :ivar usable: Whether the current workspace is ready to accept Jobs. - Possible values include: 'Yes', 'No', 'Partial' - :vartype usable: str or ~azure.quantum.models.UsableStatus - :ivar provisioning_state: Provisioning status field. Possible values - include: 'Succeeded', 'ProviderLaunching', 'ProviderUpdating', - 'ProviderDeleting', 'ProviderProvisioning', 'Failed' - :vartype provisioning_state: str or - ~azure.quantum.models.ProvisioningStatus - :param storage_account: ARM Resource Id of the storage account associated - with this workspace. - :type storage_account: str - :ivar endpoint_uri: The URI of the workspace endpoint. - :vartype endpoint_uri: str - :param identity: Managed Identity information. - :type identity: ~azure.quantum.models.QuantumWorkspaceIdentity - :ivar system_data: System metadata - :vartype system_data: ~azure.quantum.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'usable': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'endpoint_uri': {'readonly': True}, - 'system_data': {'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'}, - 'providers': {'key': 'properties.providers', 'type': '[Provider]'}, - 'usable': {'key': 'properties.usable', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'}, - 'endpoint_uri': {'key': 'properties.endpointUri', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'QuantumWorkspaceIdentity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__(self, *, location: str, tags=None, providers=None, storage_account: str=None, identity=None, **kwargs) -> None: - super(QuantumWorkspace, self).__init__(tags=tags, location=location, **kwargs) - self.providers = providers - self.usable = None - self.provisioning_state = None - self.storage_account = storage_account - self.endpoint_uri = None - self.identity = identity - self.system_data = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.py deleted file mode 100644 index 9a1ac1d3bdc..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.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 QuotaDimension(Model): - """Information about a specific quota dimension. - - :param id: Unique id of this dimension. - :type id: str - :param scope: The scope of this quota dimension. - :type scope: str - :param period: The reset period of this quota dimension. - :type period: str - :param quota: The max limit of this dimension. - :type quota: float - :param name: The display name of this quota dimension. - :type name: str - :param description: A description about this quota dimension. - :type description: str - :param unit: The standard unit of measurement used for this quota - dimension. - :type unit: str - :param unit_plural: The standard unit of measurement used for this quota - dimension in plural form. - :type unit_plural: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'scope': {'key': 'scope', 'type': 'str'}, - 'period': {'key': 'period', 'type': 'str'}, - 'quota': {'key': 'quota', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'unit_plural': {'key': 'unitPlural', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(QuotaDimension, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.scope = kwargs.get('scope', None) - self.period = kwargs.get('period', None) - self.quota = kwargs.get('quota', None) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.unit = kwargs.get('unit', None) - self.unit_plural = kwargs.get('unit_plural', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_py3.py deleted file mode 100644 index f3c6f5dce9b..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_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 msrest.serialization import Model - - -class QuotaDimension(Model): - """Information about a specific quota dimension. - - :param id: Unique id of this dimension. - :type id: str - :param scope: The scope of this quota dimension. - :type scope: str - :param period: The reset period of this quota dimension. - :type period: str - :param quota: The max limit of this dimension. - :type quota: float - :param name: The display name of this quota dimension. - :type name: str - :param description: A description about this quota dimension. - :type description: str - :param unit: The standard unit of measurement used for this quota - dimension. - :type unit: str - :param unit_plural: The standard unit of measurement used for this quota - dimension in plural form. - :type unit_plural: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'scope': {'key': 'scope', 'type': 'str'}, - 'period': {'key': 'period', 'type': 'str'}, - 'quota': {'key': 'quota', 'type': 'float'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'unit_plural': {'key': 'unitPlural', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, scope: str=None, period: str=None, quota: float=None, name: str=None, description: str=None, unit: str=None, unit_plural: str=None, **kwargs) -> None: - super(QuotaDimension, self).__init__(**kwargs) - self.id = id - self.scope = scope - self.period = period - self.quota = quota - self.name = name - self.description = description - self.unit = unit - self.unit_plural = unit_plural diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.py deleted file mode 100644 index 67e3ec63baa..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.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 Resource(Model): - """Resource. - - Common fields that are returned in the response for all Azure Resource - Manager 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. E.g. - "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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_py3.py deleted file mode 100644 index 52780ddb943..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_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 Resource(Model): - """Resource. - - Common fields that are returned in the response for all Azure Resource - Manager 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. E.g. - "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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.py deleted file mode 100644 index 3917c2804b2..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.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 SkuDescription(Model): - """Information about a specific sku. - - :param id: Unique sku id. - :type id: str - :param name: Display name of this sku. - :type name: str - :param version: Display name of this sku. - :type version: str - :param description: Description about this sku. - :type description: str - :param restricted_access_uri: Uri to subscribe to the restricted access - sku. - :type restricted_access_uri: str - :param targets: The list of targets available for this sku. - :type targets: list[str] - :param quota_dimensions: The list of quota dimensions for this sku. - :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] - :param pricing_details: The list of pricing details for the sku. - :type pricing_details: list[~azure.quantum.models.PricingDetail] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'restricted_access_uri': {'key': 'restrictedAccessUri', 'type': 'str'}, - 'targets': {'key': 'targets', 'type': '[str]'}, - 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, - 'pricing_details': {'key': 'pricingDetails', 'type': '[PricingDetail]'}, - } - - def __init__(self, **kwargs): - super(SkuDescription, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.version = kwargs.get('version', None) - self.description = kwargs.get('description', None) - self.restricted_access_uri = kwargs.get('restricted_access_uri', None) - self.targets = kwargs.get('targets', None) - self.quota_dimensions = kwargs.get('quota_dimensions', None) - self.pricing_details = kwargs.get('pricing_details', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_py3.py deleted file mode 100644 index b98635b2ea3..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_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 SkuDescription(Model): - """Information about a specific sku. - - :param id: Unique sku id. - :type id: str - :param name: Display name of this sku. - :type name: str - :param version: Display name of this sku. - :type version: str - :param description: Description about this sku. - :type description: str - :param restricted_access_uri: Uri to subscribe to the restricted access - sku. - :type restricted_access_uri: str - :param targets: The list of targets available for this sku. - :type targets: list[str] - :param quota_dimensions: The list of quota dimensions for this sku. - :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] - :param pricing_details: The list of pricing details for the sku. - :type pricing_details: list[~azure.quantum.models.PricingDetail] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'version': {'key': 'version', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'restricted_access_uri': {'key': 'restrictedAccessUri', 'type': 'str'}, - 'targets': {'key': 'targets', 'type': '[str]'}, - 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, - 'pricing_details': {'key': 'pricingDetails', 'type': '[PricingDetail]'}, - } - - def __init__(self, *, id: str=None, name: str=None, version: str=None, description: str=None, restricted_access_uri: str=None, targets=None, quota_dimensions=None, pricing_details=None, **kwargs) -> None: - super(SkuDescription, self).__init__(**kwargs) - self.id = id - self.name = name - self.version = version - self.description = description - self.restricted_access_uri = restricted_access_uri - self.targets = targets - self.quota_dimensions = quota_dimensions - self.pricing_details = pricing_details diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data.py deleted file mode 100644 index 0766be81f39..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data.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 SystemData(Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or ~azure.quantum.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or ~azure.quantum.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC) - :type last_modified_at: datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data_py3.py deleted file mode 100644 index 6b442d46aa3..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/system_data_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 SystemData(Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. - Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' - :type created_by_type: str or ~azure.quantum.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the - resource. Possible values include: 'User', 'Application', - 'ManagedIdentity', 'Key' - :type last_modified_by_type: str or ~azure.quantum.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC) - :type last_modified_at: datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: - super(SystemData, self).__init__(**kwargs) - self.created_by = created_by - self.created_by_type = created_by_type - self.created_at = created_at - self.last_modified_by = last_modified_by - self.last_modified_by_type = last_modified_by_type - self.last_modified_at = last_modified_at diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object.py deleted file mode 100644 index 2966ec220f9..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object_py3.py deleted file mode 100644 index 8be0bb4a15d..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.py deleted file mode 100644 index c9be4427693..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.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 TargetDescription(Model): - """Information about a Target. A target is the component that can process a - specific type of Job. - - :param id: Unique target id. - :type id: str - :param name: Display name of this target. - :type name: str - :param description: A description about this target. - :type description: str - :param accepted_data_formats: List of data formats accepted by this - target. - :type accepted_data_formats: list[str] - :param accepted_content_encodings: List of content encodings accepted by - this target. - :type accepted_content_encodings: list[str] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'accepted_data_formats': {'key': 'acceptedDataFormats', 'type': '[str]'}, - 'accepted_content_encodings': {'key': 'acceptedContentEncodings', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(TargetDescription, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.accepted_data_formats = kwargs.get('accepted_data_formats', None) - self.accepted_content_encodings = kwargs.get('accepted_content_encodings', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_py3.py deleted file mode 100644 index 79072576249..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_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 TargetDescription(Model): - """Information about a Target. A target is the component that can process a - specific type of Job. - - :param id: Unique target id. - :type id: str - :param name: Display name of this target. - :type name: str - :param description: A description about this target. - :type description: str - :param accepted_data_formats: List of data formats accepted by this - target. - :type accepted_data_formats: list[str] - :param accepted_content_encodings: List of content encodings accepted by - this target. - :type accepted_content_encodings: list[str] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'accepted_data_formats': {'key': 'acceptedDataFormats', 'type': '[str]'}, - 'accepted_content_encodings': {'key': 'acceptedContentEncodings', 'type': '[str]'}, - } - - def __init__(self, *, id: str=None, name: str=None, description: str=None, accepted_data_formats=None, accepted_content_encodings=None, **kwargs) -> None: - super(TargetDescription, self).__init__(**kwargs) - self.id = id - self.name = name - self.description = description - self.accepted_data_formats = accepted_data_formats - self.accepted_content_encodings = accepted_content_encodings diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.py deleted file mode 100644 index 6d2a30bc256..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.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 .resource import Resource - - -class TrackedResource(Resource): - """Tracked Resource. - - The resource model definition for an Azure Resource Manager tracked top - level resource which has 'tags' and a 'location'. - - Variables are only populated 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. E.g. - "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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_py3.py deleted file mode 100644 index 0d465ca30d8..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_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 .resource_py3 import Resource - - -class TrackedResource(Resource): - """Tracked Resource. - - The resource model definition for an Azure Resource Manager tracked top - level resource which has 'tags' and a 'location'. - - Variables are only populated 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. E.g. - "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/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py index 67c3eeab329..7eae3e8df6c 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py @@ -1,18 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .workspaces_operations import WorkspacesOperations -from .offerings_operations import OfferingsOperations -from .operations import Operations -from .workspace_operations import WorkspaceOperations +from ._workspaces_operations import WorkspacesOperations +from ._offerings_operations import OfferingsOperations +from ._operations import Operations +from ._workspace_operations import WorkspaceOperations __all__ = [ 'WorkspacesOperations', diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_offerings_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_offerings_operations.py new file mode 100644 index 00000000000..4f947bcc9c8 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_offerings_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 ClientAuthenticationError, 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 as _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 OfferingsOperations(object): + """OfferingsOperations 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.quantum.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, + location_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.OfferingsListResult"] + """Returns the list of all provider offerings available for the given location. + + :param location_name: Location. + :type location_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OfferingsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.quantum.models.OfferingsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OfferingsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + 'locationName': self._serialize.url("location_name", location_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OfferingsListResult', 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.failsafe_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.Quantum/locations/{locationName}/offerings'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_operations.py new file mode 100644 index 00000000000..e1c5ea4d311 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_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 ClientAuthenticationError, 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 as _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 Operations(object): + """Operations 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.quantum.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: (...) -> Iterable["_models.OperationsList"] + """Returns list of operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.quantum.models.OperationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # 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') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationsList', 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.failsafe_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.Quantum/operations'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspace_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspace_operations.py new file mode 100644 index 00000000000..45da69e35ce --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspace_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. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _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 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: ~azure.mgmt.quantum.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 + check_name_availability_parameters, # type: "_models.CheckNameAvailabilityParameters" + **kwargs # type: Any + ): + # type: (...) -> "_models.CheckNameAvailabilityResult" + """Check the availability of the resource name. + + :param location_name: Location. + :type location_name: str + :param check_name_availability_parameters: The name and type of the resource. + :type check_name_availability_parameters: ~azure.mgmt.quantum.models.CheckNameAvailabilityParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameAvailabilityResult, or the result of cls(response) + :rtype: ~azure.mgmt.quantum.models.CheckNameAvailabilityResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CheckNameAvailabilityResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.check_name_availability.metadata['url'] # type: ignore + 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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(check_name_availability_parameters, '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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CheckNameAvailabilityResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Quantum/locations/{locationName}/checkNameAvailability'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspaces_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspaces_operations.py new file mode 100644 index 00000000000..e0a88dfb196 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/_workspaces_operations.py @@ -0,0 +1,558 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 WorkspacesOperations(object): + """WorkspacesOperations 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.quantum.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.QuantumWorkspace" + """Returns the Workspace resource associated with the given name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QuantumWorkspace, or the result of cls(response) + :rtype: ~azure.mgmt.quantum.models.QuantumWorkspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + workspace_name, # type: str + quantum_workspace, # type: "_models.QuantumWorkspace" + **kwargs # type: Any + ): + # type: (...) -> "_models.QuantumWorkspace" + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(quantum_workspace, 'QuantumWorkspace') + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + workspace_name, # type: str + quantum_workspace, # type: "_models.QuantumWorkspace" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.QuantumWorkspace"] + """Creates or updates a workspace resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param quantum_workspace: Workspace details. + :type quantum_workspace: ~azure.mgmt.quantum.models.QuantumWorkspace + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either QuantumWorkspace or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.quantum.models.QuantumWorkspace] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + quantum_workspace=quantum_workspace, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + def update_tags( + self, + resource_group_name, # type: str + workspace_name, # type: str + workspace_tags, # type: "_models.TagsObject" + **kwargs # type: Any + ): + # type: (...) -> "_models.QuantumWorkspace" + """Updates an existing workspace's tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param workspace_tags: Parameters supplied to update tags. + :type workspace_tags: ~azure.mgmt.quantum.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QuantumWorkspace, or the result of cls(response) + :rtype: ~azure.mgmt.quantum.models.QuantumWorkspace + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuantumWorkspace"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update_tags.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(workspace_tags, 'TagsObject') + 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QuantumWorkspace', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.ErrorResponse, 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.Quantum/workspaces/{workspaceName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes a Workspace resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :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] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + 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'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} # type: ignore + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.WorkspaceListResult"] + """Gets the list of Workspaces within a Subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either WorkspaceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.quantum.models.WorkspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceListResult', 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.failsafe_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.Quantum/workspaces'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.WorkspaceListResult"] + """Gets the list of Workspaces 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: An iterator like instance of either WorkspaceListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.quantum.models.WorkspaceListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-04-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('WorkspaceListResult', 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.failsafe_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.Quantum/workspaces'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py deleted file mode 100644 index ad80a0da860..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py +++ /dev/null @@ -1,104 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest 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 OfferingsOperations(object): - """OfferingsOperations 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: "2019-11-04-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-04-preview" - - self.config = config - - def list( - self, location_name, custom_headers=None, raw=False, **operation_config): - """Returns the list of all provider offerings available for the given - location. - - :param location_name: 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: An iterator like instance of ProviderDescription - :rtype: - ~azure.quantum.models.ProviderDescriptionPaged[~azure.quantum.models.ProviderDescription] - :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 = { - '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') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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.ProviderDescriptionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ProviderDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Quantum/locations/{locationName}/offerings'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/operations.py deleted file mode 100644 index e80feb5242e..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/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 object model deserializer. - :ivar api_version: Client Api Version. Constant value: "2019-11-04-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-04-preview" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Returns list of 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.quantum.models.OperationPaged[~azure.quantum.models.Operation] - :raises: - :class:`ErrorResponseException` - """ - 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.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 - list.metadata = {'url': '/providers/Microsoft.Quantum/operations'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspace_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspace_operations.py deleted file mode 100644 index 07871908547..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspace_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 .. import models - - -class WorkspaceOperations(object): - """WorkspaceOperations 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: "2019-11-04-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-04-preview" - - self.config = config - - def check_name_availability( - self, location_name, check_name_availability_parameters, custom_headers=None, raw=False, **operation_config): - """Check the availability of the resource name. - - :param location_name: Location. - :type location_name: str - :param check_name_availability_parameters: The name and type of the - resource. - :type check_name_availability_parameters: - ~azure.quantum.models.CheckNameAvailabilityParameters - :param dict custom_headers: headers that will 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.quantum.models.CheckNameAvailabilityResult or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # 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'), - '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' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not 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_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]: - raise models.ErrorResponseException(self._deserialize, response) - - 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.Quantum/locations/{locationName}/checkNameAvailability'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_operations.py deleted file mode 100644 index d9fd10c344a..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_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 msrest.polling import LROPoller, NoPolling -from msrestazure.polling.arm_polling import ARMPolling - -from .. import models - - -class WorkspacesOperations(object): - """WorkspacesOperations 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: "2019-11-04-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-04-preview" - - self.config = config - - def get( - self, resource_group_name, workspace_name, custom_headers=None, raw=False, **operation_config): - """Returns the Workspace resource associated with the given name. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param workspace_name: The name of the quantum workspace resource. - :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: QuantumWorkspace or ClientRawResponse if raw=true - :rtype: ~azure.quantum.models.QuantumWorkspace 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'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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('QuantumWorkspace', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} - - - def _create_or_update_initial( - self, resource_group_name, workspace_name, quantum_workspace, 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'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct body - body_content = self._serialize.body(quantum_workspace, 'QuantumWorkspace') - - # Construct and send request - request = self._client.put(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('QuantumWorkspace', response) - if response.status_code == 201: - deserialized = self._deserialize('QuantumWorkspace', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, workspace_name, quantum_workspace, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates or updates a workspace resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param workspace_name: The name of the quantum workspace resource. - :type workspace_name: str - :param quantum_workspace: Workspace details. - :type quantum_workspace: ~azure.quantum.models.QuantumWorkspace - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that returns QuantumWorkspace or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.quantum.models.QuantumWorkspace] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.quantum.models.QuantumWorkspace]] - :raises: - :class:`ErrorResponseException` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - workspace_name=workspace_name, - quantum_workspace=quantum_workspace, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('QuantumWorkspace', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} - - def update_tags( - self, resource_group_name, workspace_name, workspace_tags, custom_headers=None, raw=False, **operation_config): - """Updates an existing workspace's tags. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param workspace_name: The name of the quantum workspace resource. - :type workspace_name: str - :param workspace_tags: Parameters supplied to update tags. - :type workspace_tags: ~azure.quantum.models.TagsObject - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: QuantumWorkspace or ClientRawResponse if raw=true - :rtype: ~azure.quantum.models.QuantumWorkspace or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.update_tags.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'), - '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') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - header_parameters['Content-Type'] = 'application/json; charset=utf-8' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct body - body_content = self._serialize.body(workspace_tags, '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('QuantumWorkspace', 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.Quantum/workspaces/{workspaceName}'} - - - def _delete_initial( - self, resource_group_name, workspace_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'), - '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') - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = self._client.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, workspace_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a Workspace resource. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param workspace_name: The name of the quantum workspace resource. - :type workspace_name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: The poller return type is ClientRawResponse, the - direct response alongside the deserialized response - :param polling: True for ARMPolling, False for no polling, or a - polling object for personal polling strategy - :return: An instance of LROPoller that 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, - workspace_name=workspace_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - lro_delay = operation_config.get( - 'long_running_operation_timeout', - self.config.long_running_operation_timeout) - if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Gets the list of Workspaces 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 QuantumWorkspace - :rtype: - ~azure.quantum.models.QuantumWorkspacePaged[~azure.quantum.models.QuantumWorkspace] - :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') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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.QuantumWorkspacePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.QuantumWorkspacePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Quantum/workspaces'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Gets the list of Workspaces 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 QuantumWorkspace - :rtype: - ~azure.quantum.models.QuantumWorkspacePaged[~azure.quantum.models.QuantumWorkspace] - :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 = { - '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.QuantumWorkspacePaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.QuantumWorkspacePaged(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.Quantum/workspaces'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.py deleted file mode 100644 index b4b2c16978c..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.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. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer -from msrestazure import AzureConfiguration -from .version import VERSION -from .operations.workspaces_operations import WorkspacesOperations -from .operations.offerings_operations import OfferingsOperations -from .operations.operations import Operations -from .operations.workspace_operations import WorkspaceOperations -from . import models - - -class QuantumManagementClientConfiguration(AzureConfiguration): - """Configuration for QuantumManagementClient - 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(QuantumManagementClientConfiguration, self).__init__(base_url) - - self.add_user_agent('quantummanagementclient/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials - self.subscription_id = subscription_id - - -class QuantumManagementClient(SDKClient): - """QuantumManagementClient - - :ivar config: Configuration for client. - :vartype config: QuantumManagementClientConfiguration - - :ivar workspaces: Workspaces operations - :vartype workspaces: azure.quantum.operations.WorkspacesOperations - :ivar offerings: Offerings operations - :vartype offerings: azure.quantum.operations.OfferingsOperations - :ivar operations: Operations operations - :vartype operations: azure.quantum.operations.Operations - :ivar workspace: Workspace operations - :vartype workspace: azure.quantum.operations.WorkspaceOperations - - :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 = QuantumManagementClientConfiguration(credentials, subscription_id, base_url) - super(QuantumManagementClient, 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-04-preview' - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.workspaces = WorkspacesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.offerings = OfferingsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.workspace = WorkspaceOperations( - self._client, self.config, self._serialize, self._deserialize) From 40272c5ff6ed9a55f7c902fd24ed8aeffdedb989 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 12 Jul 2021 02:38:47 -0700 Subject: [PATCH 63/85] Update `az quantum` extension Data Plane generated client to track2. (#3606) * Ingest track2 generated client for Azure Quantum Data Plane * Update CLI to use track 2 data plane client --- src/quantum/azext_quantum/_client_factory.py | 1 - .../vendored_sdks/azure_quantum/__init__.py | 19 +- .../azure_quantum/_configuration.py | 82 ++++ .../azure_quantum/_quantum_client.py | 111 +++++ .../azure_quantum/{version.py => _version.py} | 10 +- .../azure_quantum/aio/__init__.py | 10 + .../azure_quantum/aio/_configuration.py | 78 +++ .../azure_quantum/aio/_quantum_client.py | 104 ++++ .../azure_quantum/aio/operations/__init__.py | 19 + .../aio/operations/_jobs_operations.py | 282 +++++++++++ .../aio/operations/_providers_operations.py | 109 ++++ .../aio/operations/_quotas_operations.py | 109 ++++ .../aio/operations/_storage_operations.py | 101 ++++ .../azure_quantum/models/__init__.py | 73 +-- .../azure_quantum/models/_models.py | 428 ++++++++++++++++ .../azure_quantum/models/_models_py3.py | 464 ++++++++++++++++++ .../models/_quantum_client_enums.py | 68 +++ .../azure_quantum/models/blob_details.py | 38 -- .../azure_quantum/models/blob_details_py3.py | 38 -- .../azure_quantum/models/error_data.py | 34 -- .../azure_quantum/models/error_data_py3.py | 34 -- .../azure_quantum/models/job_details.py | 120 ----- .../azure_quantum/models/job_details_paged.py | 27 - .../azure_quantum/models/job_details_py3.py | 120 ----- .../azure_quantum/models/provider_status.py | 47 -- .../models/provider_status_paged.py | 27 - .../models/provider_status_py3.py | 47 -- .../models/quantum_client_enums.py | 47 -- .../azure_quantum/models/quota.py | 57 --- .../azure_quantum/models/quota_paged.py | 27 - .../azure_quantum/models/quota_py3.py | 57 --- .../azure_quantum/models/rest_error.py | 41 -- .../azure_quantum/models/rest_error_py3.py | 41 -- .../azure_quantum/models/sas_uri_response.py | 29 -- .../models/sas_uri_response_py3.py | 29 -- .../azure_quantum/models/target_status.py | 52 -- .../azure_quantum/models/target_status_py3.py | 52 -- .../azure_quantum/operations/__init__.py | 15 +- .../operations/_jobs_operations.py | 290 +++++++++++ .../operations/_providers_operations.py | 114 +++++ .../operations/_quotas_operations.py | 114 +++++ .../operations/_storage_operations.py | 106 ++++ .../operations/jobs_operations.py | 277 ----------- .../operations/providers_operations.py | 99 ---- .../operations/quotas_operations.py | 98 ---- .../operations/storage_operations.py | 100 ---- .../vendored_sdks/azure_quantum/py.typed | 1 + .../azure_quantum/quantum_client.py | 112 ----- 48 files changed, 2646 insertions(+), 1712 deletions(-) create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.py rename src/quantum/azext_quantum/vendored_sdks/azure_quantum/{version.py => _version.py} (82%) create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_client.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_paged.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_paged.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_paged.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_py3.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_operations.py delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/py.typed delete mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.py diff --git a/src/quantum/azext_quantum/_client_factory.py b/src/quantum/azext_quantum/_client_factory.py index a274f7e37a5..f5ec5b19a00 100644 --- a/src/quantum/azext_quantum/_client_factory.py +++ b/src/quantum/azext_quantum/_client_factory.py @@ -60,7 +60,6 @@ def cf_quantum(cli_ctx, subscription_id=None, resource_group_name=None, workspac from .vendored_sdks.azure_quantum import QuantumClient creds = _get_data_credentials(cli_ctx, subscription_id) client = QuantumClient(creds, subscription_id, resource_group_name, workspace_name, base_url=base_url(location)) - client.config.add_user_agent(get_appid()) return client diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py index 97d75e8849d..7c807db08ca 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py @@ -1,18 +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 .quantum_client import QuantumClient -from .version import VERSION - -__all__ = ['QuantumClient'] +from ._quantum_client import QuantumClient +from ._version import VERSION __version__ = VERSION +__all__ = ['QuantumClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py new file mode 100644 index 00000000000..fb869107d5c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py @@ -0,0 +1,82 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class QuantumClientConfiguration(Configuration): + """Configuration for QuantumClient. + + 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 + :param resource_group_name: Name of an Azure resource group. + :type resource_group_name: str + :param workspace_name: Name of the workspace. + :type workspace_name: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # 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 resource_group_name is None: + raise ValueError("Parameter 'resource_group_name' must not be None.") + if workspace_name is None: + raise ValueError("Parameter 'workspace_name' must not be None.") + super(QuantumClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.resource_group_name = resource_group_name + self.workspace_name = workspace_name + self.credential_scopes = kwargs.pop('credential_scopes', ['https://quantum.microsoft.com/.default']) + kwargs.setdefault('sdk_moniker', 'quantum/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.py new file mode 100644 index 00000000000..5ca50ed3566 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.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. +# -------------------------------------------------------------------------- + +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 azure.core.pipeline.transport import HttpRequest, HttpResponse + +from ._configuration import QuantumClientConfiguration +from .operations import JobsOperations +from .operations import ProvidersOperations +from .operations import StorageOperations +from .operations import QuotasOperations +from . import models + + +class QuantumClient(object): + """Azure Quantum REST API client. + + :ivar jobs: JobsOperations operations + :vartype jobs: azure.quantum.operations.JobsOperations + :ivar providers: ProvidersOperations operations + :vartype providers: azure.quantum.operations.ProvidersOperations + :ivar storage: StorageOperations operations + :vartype storage: azure.quantum.operations.StorageOperations + :ivar quotas: QuotasOperations operations + :vartype quotas: azure.quantum.operations.QuotasOperations + :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 resource_group_name: Name of an Azure resource group. + :type resource_group_name: str + :param workspace_name: Name of the workspace. + :type workspace_name: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://quantum.azure.com' + self._config = QuantumClientConfiguration(credential, subscription_id, resource_group_name, workspace_name, **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._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.jobs = JobsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.storage = StorageOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quotas = QuotasOperations( + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> QuantumClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/version.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_version.py similarity index 82% rename from src/quantum/azext_quantum/vendored_sdks/azure_quantum/version.py rename to src/quantum/azext_quantum/vendored_sdks/azure_quantum/_version.py index f85b9c12434..3072be0f085 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/version.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_version.py @@ -1,13 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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. # -------------------------------------------------------------------------- -VERSION = "2019-11-04-preview" - +VERSION = "0.0.0.1" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/__init__.py new file mode 100644 index 00000000000..62ba6ee4cca --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/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 ._quantum_client import QuantumClient +__all__ = ['QuantumClient'] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py new file mode 100644 index 00000000000..d0850c7d599 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py @@ -0,0 +1,78 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class QuantumClientConfiguration(Configuration): + """Configuration for QuantumClient. + + 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. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param resource_group_name: Name of an Azure resource group. + :type resource_group_name: str + :param workspace_name: Name of the workspace. + :type workspace_name: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + resource_group_name: str, + workspace_name: 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.") + if resource_group_name is None: + raise ValueError("Parameter 'resource_group_name' must not be None.") + if workspace_name is None: + raise ValueError("Parameter 'workspace_name' must not be None.") + super(QuantumClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.resource_group_name = resource_group_name + self.workspace_name = workspace_name + self.credential_scopes = kwargs.pop('credential_scopes', ['https://quantum.microsoft.com/.default']) + kwargs.setdefault('sdk_moniker', 'quantum/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_client.py new file mode 100644 index 00000000000..49042acd5ed --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_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 typing import Any, Optional, TYPE_CHECKING + +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +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 import QuantumClientConfiguration +from .operations import JobsOperations +from .operations import ProvidersOperations +from .operations import StorageOperations +from .operations import QuotasOperations +from .. import models + + +class QuantumClient(object): + """Azure Quantum REST API client. + + :ivar jobs: JobsOperations operations + :vartype jobs: azure.quantum.aio.operations.JobsOperations + :ivar providers: ProvidersOperations operations + :vartype providers: azure.quantum.aio.operations.ProvidersOperations + :ivar storage: StorageOperations operations + :vartype storage: azure.quantum.aio.operations.StorageOperations + :ivar quotas: QuotasOperations operations + :vartype quotas: azure.quantum.aio.operations.QuotasOperations + :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. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param resource_group_name: Name of an Azure resource group. + :type resource_group_name: str + :param workspace_name: Name of the workspace. + :type workspace_name: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + resource_group_name: str, + workspace_name: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://quantum.azure.com' + self._config = QuantumClientConfiguration(credential, subscription_id, resource_group_name, workspace_name, **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._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.jobs = JobsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.storage = StorageOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quotas = QuotasOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "QuantumClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/__init__.py new file mode 100644 index 00000000000..2904bfb87b5 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/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 ._jobs_operations import JobsOperations +from ._providers_operations import ProvidersOperations +from ._storage_operations import StorageOperations +from ._quotas_operations import QuotasOperations + +__all__ = [ + 'JobsOperations', + 'ProvidersOperations', + 'StorageOperations', + 'QuotasOperations', +] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.py new file mode 100644 index 00000000000..ca45bc2c96a --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.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, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class JobsOperations: + """JobsOperations 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.quantum.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: Any + ) -> AsyncIterable["_models.JobDetailsList"]: + """List jobs. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either JobDetailsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum.models.JobDetailsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetailsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('JobDetailsList', 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': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs'} # type: ignore + + async def get( + self, + job_id: str, + **kwargs: Any + ) -> "_models.JobDetails": + """Get job by id. + + :param job_id: Id of the job. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobDetails, or the result of cls(response) + :rtype: ~azure.quantum.models.JobDetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # 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'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('JobDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + async def create( + self, + job_id: str, + job: "_models.JobDetails", + **kwargs: Any + ) -> "_models.JobDetails": + """Create a job. + + :param job_id: Id of the job. + :type job_id: str + :param job: The complete metadata of the job to submit. + :type job: ~azure.quantum.models.JobDetails + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobDetails, or the result of cls(response) + :rtype: ~azure.quantum.models.JobDetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(job, 'JobDetails') + 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.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('JobDetails', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('JobDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + async def cancel( + self, + job_id: str, + **kwargs: Any + ) -> None: + """Cancel a job. + + :param job_id: Id of the job. + :type job_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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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 [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_operations.py new file mode 100644 index 00000000000..1c0fd00deb6 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ProvidersOperations: + """ProvidersOperations 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.quantum.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 get_status( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ProviderStatusList"]: + """Get provider status. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ProviderStatusList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum.models.ProviderStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ProviderStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.get_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ProviderStatusList', 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.failsafe_deserialize(_models.RestError, 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 + ) + get_status.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/providerStatus'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_operations.py new file mode 100644 index 00000000000..86fd89f355b --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_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. +# -------------------------------------------------------------------------- +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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class QuotasOperations: + """QuotasOperations 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.quantum.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: Any + ) -> AsyncIterable["_models.QuotaList"]: + """List quotas for the given workspace. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either QuotaList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum.models.QuotaList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuotaList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('QuotaList', 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.failsafe_deserialize(_models.RestError, 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': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/quotas'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_operations.py new file mode 100644 index 00000000000..f8775451dfd --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_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 ClientAuthenticationError, 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class StorageOperations: + """StorageOperations 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.quantum.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 sas_uri( + self, + blob_details: "_models.BlobDetails", + **kwargs: Any + ) -> "_models.SasUriResponse": + """Gets a URL with SAS token for a container/blob in the storage account associated with the + workspace. The SAS URL can be used to upload job input and/or download job output. + + :param blob_details: The details (name and container) of the blob to store or download data. + :type blob_details: ~azure.quantum.models.BlobDetails + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SasUriResponse, or the result of cls(response) + :rtype: ~azure.quantum.models.SasUriResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SasUriResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.sas_uri.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(blob_details, 'BlobDetails') + 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.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SasUriResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + sas_uri.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py index d82cd869b28..4a92608bc70 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py @@ -1,58 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .error_data_py3 import ErrorData - from .job_details_py3 import JobDetails - from .blob_details_py3 import BlobDetails - from .sas_uri_response_py3 import SasUriResponse - from .target_status_py3 import TargetStatus - from .provider_status_py3 import ProviderStatus - from .quota_py3 import Quota - from .rest_error_py3 import RestError, RestErrorException + from ._models_py3 import BlobDetails + from ._models_py3 import ErrorData + from ._models_py3 import JobDetails + from ._models_py3 import JobDetailsList + from ._models_py3 import ProviderStatus + from ._models_py3 import ProviderStatusList + from ._models_py3 import Quota + from ._models_py3 import QuotaList + from ._models_py3 import RestError + from ._models_py3 import SasUriResponse + from ._models_py3 import TargetStatus except (SyntaxError, ImportError): - from .error_data import ErrorData - from .job_details import JobDetails - from .blob_details import BlobDetails - from .sas_uri_response import SasUriResponse - from .target_status import TargetStatus - from .provider_status import ProviderStatus - from .quota import Quota - from .rest_error import RestError, RestErrorException -from .job_details_paged import JobDetailsPaged -from .provider_status_paged import ProviderStatusPaged -from .quota_paged import QuotaPaged -from .quantum_client_enums import ( + from ._models import BlobDetails # type: ignore + from ._models import ErrorData # type: ignore + from ._models import JobDetails # type: ignore + from ._models import JobDetailsList # type: ignore + from ._models import ProviderStatus # type: ignore + from ._models import ProviderStatusList # type: ignore + from ._models import Quota # type: ignore + from ._models import QuotaList # type: ignore + from ._models import RestError # type: ignore + from ._models import SasUriResponse # type: ignore + from ._models import TargetStatus # type: ignore + +from ._quantum_client_enums import ( + DimensionScope, JobStatus, + MeterPeriod, ProviderAvailability, TargetAvailability, - DimensionScope, - MeterPeriod, ) __all__ = [ + 'BlobDetails', 'ErrorData', 'JobDetails', - 'BlobDetails', - 'SasUriResponse', - 'TargetStatus', + 'JobDetailsList', 'ProviderStatus', + 'ProviderStatusList', 'Quota', - 'RestError', 'RestErrorException', - 'JobDetailsPaged', - 'ProviderStatusPaged', - 'QuotaPaged', + 'QuotaList', + 'RestError', + 'SasUriResponse', + 'TargetStatus', + 'DimensionScope', 'JobStatus', + 'MeterPeriod', 'ProviderAvailability', 'TargetAvailability', - 'DimensionScope', - 'MeterPeriod', ] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.py new file mode 100644 index 00000000000..c1fca9bdaf5 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.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 azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class BlobDetails(msrest.serialization.Model): + """Blob details. + + All required parameters must be populated in order to send to Azure. + + :param container_name: Required. The container name. + :type container_name: str + :param blob_name: The blob name. + :type blob_name: str + """ + + _validation = { + 'container_name': {'required': True}, + } + + _attribute_map = { + 'container_name': {'key': 'containerName', 'type': 'str'}, + 'blob_name': {'key': 'blobName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobDetails, self).__init__(**kwargs) + self.container_name = kwargs['container_name'] + self.blob_name = kwargs.get('blob_name', None) + + +class ErrorData(msrest.serialization.Model): + """An error response from Azure. + + :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 + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorData, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class JobDetails(msrest.serialization.Model): + """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 id: The job id. + :type id: str + :param name: The job name. Is not required for the name to be unique and it's only used for + display purposes. + :type name: str + :param container_uri: Required. The blob container SAS uri, the container is used to host job + data. + :type container_uri: str + :param input_data_uri: The input blob SAS uri, if specified, it will override the default input + blob in the container. + :type input_data_uri: str + :param input_data_format: Required. The format of the input data. + :type input_data_format: str + :param input_params: The input parameters for the job. JSON object used by the target solver. + It is expected that the size of this object is small and only used to specify parameters for + the execution target, not the input data. + :type input_params: any + :param provider_id: Required. The unique identifier for the provider. + :type provider_id: str + :param target: Required. The target identifier to run the job. + :type target: str + :param metadata: The job metadata. Metadata provides client the ability to store + client-specific information. + :type metadata: dict[str, str] + :param output_data_uri: The output blob SAS uri. When a job finishes successfully, results will + be uploaded to this blob. + :type output_data_uri: str + :param output_data_format: The format of the output data. + :type output_data_format: str + :ivar status: The job status. Possible values include: "Waiting", "Executing", "Succeeded", + "Failed", "Cancelled". + :vartype status: str or ~azure.quantum.models.JobStatus + :ivar creation_time: The creation time of the job. + :vartype creation_time: ~datetime.datetime + :ivar begin_execution_time: The time when the job began execution. + :vartype begin_execution_time: ~datetime.datetime + :ivar end_execution_time: The time when the job finished execution. + :vartype end_execution_time: ~datetime.datetime + :ivar cancellation_time: The time when a job was successfully cancelled. + :vartype cancellation_time: ~datetime.datetime + :ivar error_data: The error data for the job. This is expected only when Status 'Failed'. + :vartype error_data: ~azure.quantum.models.ErrorData + """ + + _validation = { + 'container_uri': {'required': True}, + 'input_data_format': {'required': True}, + 'provider_id': {'required': True}, + 'target': {'required': True}, + 'status': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'begin_execution_time': {'readonly': True}, + 'end_execution_time': {'readonly': True}, + 'cancellation_time': {'readonly': True}, + 'error_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'container_uri': {'key': 'containerUri', 'type': 'str'}, + 'input_data_uri': {'key': 'inputDataUri', 'type': 'str'}, + 'input_data_format': {'key': 'inputDataFormat', 'type': 'str'}, + 'input_params': {'key': 'inputParams', 'type': 'object'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'output_data_uri': {'key': 'outputDataUri', 'type': 'str'}, + 'output_data_format': {'key': 'outputDataFormat', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, + 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, + 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, + 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, + } + + def __init__( + self, + **kwargs + ): + super(JobDetails, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.container_uri = kwargs['container_uri'] + self.input_data_uri = kwargs.get('input_data_uri', None) + self.input_data_format = kwargs['input_data_format'] + self.input_params = kwargs.get('input_params', None) + self.provider_id = kwargs['provider_id'] + self.target = kwargs['target'] + self.metadata = kwargs.get('metadata', None) + self.output_data_uri = kwargs.get('output_data_uri', None) + self.output_data_format = kwargs.get('output_data_format', None) + self.status = None + self.creation_time = None + self.begin_execution_time = None + self.end_execution_time = None + self.cancellation_time = None + self.error_data = None + + +class JobDetailsList(msrest.serialization.Model): + """List of job details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.quantum.models.JobDetails] + :param count: Total records count number. + :type count: long + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[JobDetails]'}, + 'count': {'key': 'count', 'type': 'long'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(JobDetailsList, self).__init__(**kwargs) + self.value = None + self.count = kwargs.get('count', None) + self.next_link = None + + +class ProviderStatus(msrest.serialization.Model): + """Providers status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Provider id. + :vartype id: str + :ivar current_availability: Provider availability. Possible values include: "Available", + "Degraded", "Unavailable". + :vartype current_availability: str or ~azure.quantum.models.ProviderAvailability + :ivar targets: + :vartype targets: list[~azure.quantum.models.TargetStatus] + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'targets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[TargetStatus]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.targets = None + + +class ProviderStatusList(msrest.serialization.Model): + """Providers status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.quantum.models.ProviderStatus] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProviderStatus]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class Quota(msrest.serialization.Model): + """Quota information. + + :param dimension: The name of the dimension associated with the quota. + :type dimension: str + :param scope: The scope at which the quota is applied. Possible values include: "Workspace", + "Subscription". + :type scope: str or ~azure.quantum.models.DimensionScope + :param provider_id: The unique identifier for the provider. + :type provider_id: str + :param utilization: The amount of the usage that has been applied for the current period. + :type utilization: float + :param holds: The amount of the usage that has been reserved but not applied for the current + period. + :type holds: float + :param limit: The maximum amount of usage allowed for the current period. + :type limit: float + :param period: The time period in which the quota's underlying meter is accumulated. Based on + calendar year. 'None' is used for concurrent quotas. Possible values include: "None", + "Monthly". + :type period: str or ~azure.quantum.models.MeterPeriod + """ + + _attribute_map = { + 'dimension': {'key': 'dimension', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'utilization': {'key': 'utilization', 'type': 'float'}, + 'holds': {'key': 'holds', 'type': 'float'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'period': {'key': 'period', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Quota, self).__init__(**kwargs) + self.dimension = kwargs.get('dimension', None) + self.scope = kwargs.get('scope', None) + self.provider_id = kwargs.get('provider_id', None) + self.utilization = kwargs.get('utilization', None) + self.holds = kwargs.get('holds', None) + self.limit = kwargs.get('limit', None) + self.period = kwargs.get('period', None) + + +class QuotaList(msrest.serialization.Model): + """List of quotas. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.quantum.models.Quota] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Quota]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QuotaList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class RestError(msrest.serialization.Model): + """Error information returned by the API. + + :param error: An error response from Azure. + :type error: ~azure.quantum.models.ErrorData + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorData'}, + } + + def __init__( + self, + **kwargs + ): + super(RestError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class SasUriResponse(msrest.serialization.Model): + """Get SAS URL operation response. + + :param sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. + :type sas_uri: str + """ + + _attribute_map = { + 'sas_uri': {'key': 'sasUri', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SasUriResponse, self).__init__(**kwargs) + self.sas_uri = kwargs.get('sas_uri', None) + + +class TargetStatus(msrest.serialization.Model): + """Target status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Target id. + :vartype id: str + :ivar current_availability: Target availability. Possible values include: "Available", + "Degraded", "Unavailable". + :vartype current_availability: str or ~azure.quantum.models.TargetAvailability + :ivar average_queue_time: Average queue time in seconds. + :vartype average_queue_time: long + :ivar status_page: A page with detailed status of the provider. + :vartype status_page: str + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'average_queue_time': {'readonly': True}, + 'status_page': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'average_queue_time': {'key': 'averageQueueTime', 'type': 'long'}, + 'status_page': {'key': 'statusPage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TargetStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.average_queue_time = None + self.status_page = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py new file mode 100644 index 00000000000..22a56ba18c2 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py @@ -0,0 +1,464 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, Dict, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._quantum_client_enums import * + + +class BlobDetails(msrest.serialization.Model): + """Blob details. + + All required parameters must be populated in order to send to Azure. + + :param container_name: Required. The container name. + :type container_name: str + :param blob_name: The blob name. + :type blob_name: str + """ + + _validation = { + 'container_name': {'required': True}, + } + + _attribute_map = { + 'container_name': {'key': 'containerName', 'type': 'str'}, + 'blob_name': {'key': 'blobName', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + blob_name: Optional[str] = None, + **kwargs + ): + super(BlobDetails, self).__init__(**kwargs) + self.container_name = container_name + self.blob_name = blob_name + + +class ErrorData(msrest.serialization.Model): + """An error response from Azure. + + :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 + """ + + _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(ErrorData, self).__init__(**kwargs) + self.code = code + self.message = message + + +class JobDetails(msrest.serialization.Model): + """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 id: The job id. + :type id: str + :param name: The job name. Is not required for the name to be unique and it's only used for + display purposes. + :type name: str + :param container_uri: Required. The blob container SAS uri, the container is used to host job + data. + :type container_uri: str + :param input_data_uri: The input blob SAS uri, if specified, it will override the default input + blob in the container. + :type input_data_uri: str + :param input_data_format: Required. The format of the input data. + :type input_data_format: str + :param input_params: The input parameters for the job. JSON object used by the target solver. + It is expected that the size of this object is small and only used to specify parameters for + the execution target, not the input data. + :type input_params: any + :param provider_id: Required. The unique identifier for the provider. + :type provider_id: str + :param target: Required. The target identifier to run the job. + :type target: str + :param metadata: The job metadata. Metadata provides client the ability to store + client-specific information. + :type metadata: dict[str, str] + :param output_data_uri: The output blob SAS uri. When a job finishes successfully, results will + be uploaded to this blob. + :type output_data_uri: str + :param output_data_format: The format of the output data. + :type output_data_format: str + :ivar status: The job status. Possible values include: "Waiting", "Executing", "Succeeded", + "Failed", "Cancelled". + :vartype status: str or ~azure.quantum.models.JobStatus + :ivar creation_time: The creation time of the job. + :vartype creation_time: ~datetime.datetime + :ivar begin_execution_time: The time when the job began execution. + :vartype begin_execution_time: ~datetime.datetime + :ivar end_execution_time: The time when the job finished execution. + :vartype end_execution_time: ~datetime.datetime + :ivar cancellation_time: The time when a job was successfully cancelled. + :vartype cancellation_time: ~datetime.datetime + :ivar error_data: The error data for the job. This is expected only when Status 'Failed'. + :vartype error_data: ~azure.quantum.models.ErrorData + """ + + _validation = { + 'container_uri': {'required': True}, + 'input_data_format': {'required': True}, + 'provider_id': {'required': True}, + 'target': {'required': True}, + 'status': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'begin_execution_time': {'readonly': True}, + 'end_execution_time': {'readonly': True}, + 'cancellation_time': {'readonly': True}, + 'error_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'container_uri': {'key': 'containerUri', 'type': 'str'}, + 'input_data_uri': {'key': 'inputDataUri', 'type': 'str'}, + 'input_data_format': {'key': 'inputDataFormat', 'type': 'str'}, + 'input_params': {'key': 'inputParams', 'type': 'object'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'output_data_uri': {'key': 'outputDataUri', 'type': 'str'}, + 'output_data_format': {'key': 'outputDataFormat', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, + 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, + 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, + 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, + } + + def __init__( + self, + *, + container_uri: str, + input_data_format: str, + provider_id: str, + target: str, + id: Optional[str] = None, + name: Optional[str] = None, + input_data_uri: Optional[str] = None, + input_params: Optional[Any] = None, + metadata: Optional[Dict[str, str]] = None, + output_data_uri: Optional[str] = None, + output_data_format: Optional[str] = None, + **kwargs + ): + super(JobDetails, self).__init__(**kwargs) + self.id = id + self.name = name + self.container_uri = container_uri + self.input_data_uri = input_data_uri + self.input_data_format = input_data_format + self.input_params = input_params + self.provider_id = provider_id + self.target = target + self.metadata = metadata + self.output_data_uri = output_data_uri + self.output_data_format = output_data_format + self.status = None + self.creation_time = None + self.begin_execution_time = None + self.end_execution_time = None + self.cancellation_time = None + self.error_data = None + + +class JobDetailsList(msrest.serialization.Model): + """List of job details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.quantum.models.JobDetails] + :param count: Total records count number. + :type count: long + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[JobDetails]'}, + 'count': {'key': 'count', 'type': 'long'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + count: Optional[int] = None, + **kwargs + ): + super(JobDetailsList, self).__init__(**kwargs) + self.value = None + self.count = count + self.next_link = None + + +class ProviderStatus(msrest.serialization.Model): + """Providers status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Provider id. + :vartype id: str + :ivar current_availability: Provider availability. Possible values include: "Available", + "Degraded", "Unavailable". + :vartype current_availability: str or ~azure.quantum.models.ProviderAvailability + :ivar targets: + :vartype targets: list[~azure.quantum.models.TargetStatus] + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'targets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[TargetStatus]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.targets = None + + +class ProviderStatusList(msrest.serialization.Model): + """Providers status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.quantum.models.ProviderStatus] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProviderStatus]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProviderStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class Quota(msrest.serialization.Model): + """Quota information. + + :param dimension: The name of the dimension associated with the quota. + :type dimension: str + :param scope: The scope at which the quota is applied. Possible values include: "Workspace", + "Subscription". + :type scope: str or ~azure.quantum.models.DimensionScope + :param provider_id: The unique identifier for the provider. + :type provider_id: str + :param utilization: The amount of the usage that has been applied for the current period. + :type utilization: float + :param holds: The amount of the usage that has been reserved but not applied for the current + period. + :type holds: float + :param limit: The maximum amount of usage allowed for the current period. + :type limit: float + :param period: The time period in which the quota's underlying meter is accumulated. Based on + calendar year. 'None' is used for concurrent quotas. Possible values include: "None", + "Monthly". + :type period: str or ~azure.quantum.models.MeterPeriod + """ + + _attribute_map = { + 'dimension': {'key': 'dimension', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'utilization': {'key': 'utilization', 'type': 'float'}, + 'holds': {'key': 'holds', 'type': 'float'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'period': {'key': 'period', 'type': 'str'}, + } + + def __init__( + self, + *, + dimension: Optional[str] = None, + scope: Optional[Union[str, "DimensionScope"]] = None, + provider_id: Optional[str] = None, + utilization: Optional[float] = None, + holds: Optional[float] = None, + limit: Optional[float] = None, + period: Optional[Union[str, "MeterPeriod"]] = None, + **kwargs + ): + super(Quota, self).__init__(**kwargs) + self.dimension = dimension + self.scope = scope + self.provider_id = provider_id + self.utilization = utilization + self.holds = holds + self.limit = limit + self.period = period + + +class QuotaList(msrest.serialization.Model): + """List of quotas. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.quantum.models.Quota] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Quota]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QuotaList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class RestError(msrest.serialization.Model): + """Error information returned by the API. + + :param error: An error response from Azure. + :type error: ~azure.quantum.models.ErrorData + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorData'}, + } + + def __init__( + self, + *, + error: Optional["ErrorData"] = None, + **kwargs + ): + super(RestError, self).__init__(**kwargs) + self.error = error + + +class SasUriResponse(msrest.serialization.Model): + """Get SAS URL operation response. + + :param sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. + :type sas_uri: str + """ + + _attribute_map = { + 'sas_uri': {'key': 'sasUri', 'type': 'str'}, + } + + def __init__( + self, + *, + sas_uri: Optional[str] = None, + **kwargs + ): + super(SasUriResponse, self).__init__(**kwargs) + self.sas_uri = sas_uri + + +class TargetStatus(msrest.serialization.Model): + """Target status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Target id. + :vartype id: str + :ivar current_availability: Target availability. Possible values include: "Available", + "Degraded", "Unavailable". + :vartype current_availability: str or ~azure.quantum.models.TargetAvailability + :ivar average_queue_time: Average queue time in seconds. + :vartype average_queue_time: long + :ivar status_page: A page with detailed status of the provider. + :vartype status_page: str + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'average_queue_time': {'readonly': True}, + 'status_page': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'average_queue_time': {'key': 'averageQueueTime', 'type': 'long'}, + 'status_page': {'key': 'statusPage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TargetStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.average_queue_time = None + self.status_page = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.py new file mode 100644 index 00000000000..7d883d845c0 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.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 enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class DimensionScope(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The scope at which the quota is applied. + """ + + WORKSPACE = "Workspace" + SUBSCRIPTION = "Subscription" + +class JobStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The job status. + """ + + WAITING = "Waiting" + EXECUTING = "Executing" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELLED = "Cancelled" + +class MeterPeriod(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The time period in which the quota's underlying meter is accumulated. Based on calendar year. + 'None' is used for concurrent quotas. + """ + + NONE = "None" + MONTHLY = "Monthly" + +class ProviderAvailability(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provider availability. + """ + + AVAILABLE = "Available" + DEGRADED = "Degraded" + UNAVAILABLE = "Unavailable" + +class TargetAvailability(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Target availability. + """ + + AVAILABLE = "Available" + DEGRADED = "Degraded" + UNAVAILABLE = "Unavailable" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.py deleted file mode 100644 index 5eca3fc536a..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.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 BlobDetails(Model): - """Blob details. - - All required parameters must be populated in order to send to Azure. - - :param container_name: Required. The container name. - :type container_name: str - :param blob_name: The blob name. - :type blob_name: str - """ - - _validation = { - 'container_name': {'required': True}, - } - - _attribute_map = { - 'container_name': {'key': 'containerName', 'type': 'str'}, - 'blob_name': {'key': 'blobName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BlobDetails, self).__init__(**kwargs) - self.container_name = kwargs.get('container_name', None) - self.blob_name = kwargs.get('blob_name', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_py3.py deleted file mode 100644 index d3cb6733505..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_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 BlobDetails(Model): - """Blob details. - - All required parameters must be populated in order to send to Azure. - - :param container_name: Required. The container name. - :type container_name: str - :param blob_name: The blob name. - :type blob_name: str - """ - - _validation = { - 'container_name': {'required': True}, - } - - _attribute_map = { - 'container_name': {'key': 'containerName', 'type': 'str'}, - 'blob_name': {'key': 'blobName', 'type': 'str'}, - } - - def __init__(self, *, container_name: str, blob_name: str=None, **kwargs) -> None: - super(BlobDetails, self).__init__(**kwargs) - self.container_name = container_name - self.blob_name = blob_name diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.py deleted file mode 100644 index 7d55dbac1ed..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.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 ErrorData(Model): - """An error response from Azure. - - :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 - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorData, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_py3.py deleted file mode 100644 index b0d83bcbcc8..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_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 ErrorData(Model): - """An error response from Azure. - - :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 - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: - super(ErrorData, self).__init__(**kwargs) - self.code = code - self.message = message diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.py deleted file mode 100644 index 78b3bd4d83b..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.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 msrest.serialization import Model - - -class JobDetails(Model): - """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 id: The job id. - :type id: str - :param name: The job name. Is not required for the name to be unique and - it's only used for display purposes. - :type name: str - :param container_uri: Required. The blob container SAS uri, the container - is used to host job data. - :type container_uri: str - :param input_data_uri: The input blob SAS uri, if specified, it will - override the default input blob in the container. - :type input_data_uri: str - :param input_data_format: Required. The format of the input data. - :type input_data_format: str - :param input_params: The input parameters for the job. JSON object used by - the target solver. It is expected that the size of this object is small - and only used to specify parameters for the execution target, not the - input data. - :type input_params: object - :param provider_id: Required. The unique identifier for the provider. - :type provider_id: str - :param target: Required. The target identifier to run the job. - :type target: str - :param metadata: The job metadata. Metadata provides client the ability to - store client-specific information - :type metadata: dict[str, str] - :param output_data_uri: The output blob SAS uri. When a job finishes - successfully, results will be uploaded to this blob. - :type output_data_uri: str - :param output_data_format: The format of the output data. - :type output_data_format: str - :ivar status: The job status. Possible values include: 'Waiting', - 'Executing', 'Succeeded', 'Failed', 'Cancelled' - :vartype status: str or ~azure.quantum.models.JobStatus - :ivar creation_time: The creation time of the job. - :vartype creation_time: datetime - :ivar begin_execution_time: The time when the job began execution. - :vartype begin_execution_time: datetime - :ivar end_execution_time: The time when the job finished execution. - :vartype end_execution_time: datetime - :ivar cancellation_time: The time when a job was successfully cancelled. - :vartype cancellation_time: datetime - :ivar error_data: The error data for the job. This is expected only when - Status 'Failed'. - :vartype error_data: ~azure.quantum.models.ErrorData - """ - - _validation = { - 'container_uri': {'required': True}, - 'input_data_format': {'required': True}, - 'provider_id': {'required': True}, - 'target': {'required': True}, - 'status': {'readonly': True}, - 'creation_time': {'readonly': True}, - 'begin_execution_time': {'readonly': True}, - 'end_execution_time': {'readonly': True}, - 'cancellation_time': {'readonly': True}, - 'error_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'container_uri': {'key': 'containerUri', 'type': 'str'}, - 'input_data_uri': {'key': 'inputDataUri', 'type': 'str'}, - 'input_data_format': {'key': 'inputDataFormat', 'type': 'str'}, - 'input_params': {'key': 'inputParams', 'type': 'object'}, - 'provider_id': {'key': 'providerId', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'metadata': {'key': 'metadata', 'type': '{str}'}, - 'output_data_uri': {'key': 'outputDataUri', 'type': 'str'}, - 'output_data_format': {'key': 'outputDataFormat', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, - 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, - 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, - 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, - 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, - } - - def __init__(self, **kwargs): - super(JobDetails, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.container_uri = kwargs.get('container_uri', None) - self.input_data_uri = kwargs.get('input_data_uri', None) - self.input_data_format = kwargs.get('input_data_format', None) - self.input_params = kwargs.get('input_params', None) - self.provider_id = kwargs.get('provider_id', None) - self.target = kwargs.get('target', None) - self.metadata = kwargs.get('metadata', None) - self.output_data_uri = kwargs.get('output_data_uri', None) - self.output_data_format = kwargs.get('output_data_format', None) - self.status = None - self.creation_time = None - self.begin_execution_time = None - self.end_execution_time = None - self.cancellation_time = None - self.error_data = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_paged.py deleted file mode 100644 index f8c5167c586..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_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 JobDetailsPaged(Paged): - """ - A paging container for iterating over a list of :class:`JobDetails ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[JobDetails]'} - } - - def __init__(self, *args, **kwargs): - - super(JobDetailsPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_py3.py deleted file mode 100644 index 749ef493fd6..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_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 msrest.serialization import Model - - -class JobDetails(Model): - """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 id: The job id. - :type id: str - :param name: The job name. Is not required for the name to be unique and - it's only used for display purposes. - :type name: str - :param container_uri: Required. The blob container SAS uri, the container - is used to host job data. - :type container_uri: str - :param input_data_uri: The input blob SAS uri, if specified, it will - override the default input blob in the container. - :type input_data_uri: str - :param input_data_format: Required. The format of the input data. - :type input_data_format: str - :param input_params: The input parameters for the job. JSON object used by - the target solver. It is expected that the size of this object is small - and only used to specify parameters for the execution target, not the - input data. - :type input_params: object - :param provider_id: Required. The unique identifier for the provider. - :type provider_id: str - :param target: Required. The target identifier to run the job. - :type target: str - :param metadata: The job metadata. Metadata provides client the ability to - store client-specific information - :type metadata: dict[str, str] - :param output_data_uri: The output blob SAS uri. When a job finishes - successfully, results will be uploaded to this blob. - :type output_data_uri: str - :param output_data_format: The format of the output data. - :type output_data_format: str - :ivar status: The job status. Possible values include: 'Waiting', - 'Executing', 'Succeeded', 'Failed', 'Cancelled' - :vartype status: str or ~azure.quantum.models.JobStatus - :ivar creation_time: The creation time of the job. - :vartype creation_time: datetime - :ivar begin_execution_time: The time when the job began execution. - :vartype begin_execution_time: datetime - :ivar end_execution_time: The time when the job finished execution. - :vartype end_execution_time: datetime - :ivar cancellation_time: The time when a job was successfully cancelled. - :vartype cancellation_time: datetime - :ivar error_data: The error data for the job. This is expected only when - Status 'Failed'. - :vartype error_data: ~azure.quantum.models.ErrorData - """ - - _validation = { - 'container_uri': {'required': True}, - 'input_data_format': {'required': True}, - 'provider_id': {'required': True}, - 'target': {'required': True}, - 'status': {'readonly': True}, - 'creation_time': {'readonly': True}, - 'begin_execution_time': {'readonly': True}, - 'end_execution_time': {'readonly': True}, - 'cancellation_time': {'readonly': True}, - 'error_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'container_uri': {'key': 'containerUri', 'type': 'str'}, - 'input_data_uri': {'key': 'inputDataUri', 'type': 'str'}, - 'input_data_format': {'key': 'inputDataFormat', 'type': 'str'}, - 'input_params': {'key': 'inputParams', 'type': 'object'}, - 'provider_id': {'key': 'providerId', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'metadata': {'key': 'metadata', 'type': '{str}'}, - 'output_data_uri': {'key': 'outputDataUri', 'type': 'str'}, - 'output_data_format': {'key': 'outputDataFormat', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, - 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, - 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, - 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, - 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, - } - - def __init__(self, *, container_uri: str, input_data_format: str, provider_id: str, target: str, id: str=None, name: str=None, input_data_uri: str=None, input_params=None, metadata=None, output_data_uri: str=None, output_data_format: str=None, **kwargs) -> None: - super(JobDetails, self).__init__(**kwargs) - self.id = id - self.name = name - self.container_uri = container_uri - self.input_data_uri = input_data_uri - self.input_data_format = input_data_format - self.input_params = input_params - self.provider_id = provider_id - self.target = target - self.metadata = metadata - self.output_data_uri = output_data_uri - self.output_data_format = output_data_format - self.status = None - self.creation_time = None - self.begin_execution_time = None - self.end_execution_time = None - self.cancellation_time = None - self.error_data = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status.py deleted file mode 100644 index 74a8a398980..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_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 ProviderStatus(Model): - """Providers status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Provider id. - :vartype id: str - :ivar current_availability: Provider availability. Possible values - include: 'Available', 'Degraded', 'Unavailable' - :vartype current_availability: str or - ~azure.quantum.models.ProviderAvailability - :ivar targets: - :vartype targets: list[~azure.quantum.models.TargetStatus] - """ - - _validation = { - 'id': {'readonly': True}, - 'current_availability': {'readonly': True}, - 'targets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, - 'targets': {'key': 'targets', 'type': '[TargetStatus]'}, - } - - def __init__(self, **kwargs): - super(ProviderStatus, self).__init__(**kwargs) - self.id = None - self.current_availability = None - self.targets = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_paged.py deleted file mode 100644 index 630b1dcda60..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_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 ProviderStatusPaged(Paged): - """ - A paging container for iterating over a list of :class:`ProviderStatus ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ProviderStatus]'} - } - - def __init__(self, *args, **kwargs): - - super(ProviderStatusPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_py3.py deleted file mode 100644 index c87bbe00ebb..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_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 ProviderStatus(Model): - """Providers status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Provider id. - :vartype id: str - :ivar current_availability: Provider availability. Possible values - include: 'Available', 'Degraded', 'Unavailable' - :vartype current_availability: str or - ~azure.quantum.models.ProviderAvailability - :ivar targets: - :vartype targets: list[~azure.quantum.models.TargetStatus] - """ - - _validation = { - 'id': {'readonly': True}, - 'current_availability': {'readonly': True}, - 'targets': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, - 'targets': {'key': 'targets', 'type': '[TargetStatus]'}, - } - - def __init__(self, **kwargs) -> None: - super(ProviderStatus, self).__init__(**kwargs) - self.id = None - self.current_availability = None - self.targets = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.py deleted file mode 100644 index 38fa76b478b..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.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 enum import Enum - - -class JobStatus(str, Enum): - - waiting = "Waiting" - executing = "Executing" - succeeded = "Succeeded" - failed = "Failed" - cancelled = "Cancelled" - - -class ProviderAvailability(str, Enum): - - available = "Available" - degraded = "Degraded" - unavailable = "Unavailable" - - -class TargetAvailability(str, Enum): - - available = "Available" - degraded = "Degraded" - unavailable = "Unavailable" - - -class DimensionScope(str, Enum): - - workspace = "Workspace" - subscription = "Subscription" - - -class MeterPeriod(str, Enum): - - none = "None" - monthly = "Monthly" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.py deleted file mode 100644 index 66b6c0a4a2c..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.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 Quota(Model): - """Quota information. - - :param dimension: The name of the dimension associated with the quota. - :type dimension: str - :param scope: The scope at which the quota is applied. Possible values - include: 'Workspace', 'Subscription' - :type scope: str or ~azure.quantum.models.DimensionScope - :param provider_id: The unique identifier for the provider. - :type provider_id: str - :param utilization: The amount of the usage that has been applied for the - current period. - :type utilization: float - :param holds: The amount of the usage that has been reserved but not - applied for the current period. - :type holds: float - :param limit: The maximum amount of usage allowed for the current period. - :type limit: float - :param period: The time period in which the quota's underlying meter is - accumulated. Based on calendar year. 'None' is used for concurrent quotas. - Possible values include: 'None', 'Monthly' - :type period: str or ~azure.quantum.models.MeterPeriod - """ - - _attribute_map = { - 'dimension': {'key': 'dimension', 'type': 'str'}, - 'scope': {'key': 'scope', 'type': 'str'}, - 'provider_id': {'key': 'providerId', 'type': 'str'}, - 'utilization': {'key': 'utilization', 'type': 'float'}, - 'holds': {'key': 'holds', 'type': 'float'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'period': {'key': 'period', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Quota, self).__init__(**kwargs) - self.dimension = kwargs.get('dimension', None) - self.scope = kwargs.get('scope', None) - self.provider_id = kwargs.get('provider_id', None) - self.utilization = kwargs.get('utilization', None) - self.holds = kwargs.get('holds', None) - self.limit = kwargs.get('limit', None) - self.period = kwargs.get('period', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_paged.py deleted file mode 100644 index b425263c886..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_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 QuotaPaged(Paged): - """ - A paging container for iterating over a list of :class:`Quota ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Quota]'} - } - - def __init__(self, *args, **kwargs): - - super(QuotaPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_py3.py deleted file mode 100644 index 0e7c260bcf5..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_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 Quota(Model): - """Quota information. - - :param dimension: The name of the dimension associated with the quota. - :type dimension: str - :param scope: The scope at which the quota is applied. Possible values - include: 'Workspace', 'Subscription' - :type scope: str or ~azure.quantum.models.DimensionScope - :param provider_id: The unique identifier for the provider. - :type provider_id: str - :param utilization: The amount of the usage that has been applied for the - current period. - :type utilization: float - :param holds: The amount of the usage that has been reserved but not - applied for the current period. - :type holds: float - :param limit: The maximum amount of usage allowed for the current period. - :type limit: float - :param period: The time period in which the quota's underlying meter is - accumulated. Based on calendar year. 'None' is used for concurrent quotas. - Possible values include: 'None', 'Monthly' - :type period: str or ~azure.quantum.models.MeterPeriod - """ - - _attribute_map = { - 'dimension': {'key': 'dimension', 'type': 'str'}, - 'scope': {'key': 'scope', 'type': 'str'}, - 'provider_id': {'key': 'providerId', 'type': 'str'}, - 'utilization': {'key': 'utilization', 'type': 'float'}, - 'holds': {'key': 'holds', 'type': 'float'}, - 'limit': {'key': 'limit', 'type': 'float'}, - 'period': {'key': 'period', 'type': 'str'}, - } - - def __init__(self, *, dimension: str=None, scope=None, provider_id: str=None, utilization: float=None, holds: float=None, limit: float=None, period=None, **kwargs) -> None: - super(Quota, self).__init__(**kwargs) - self.dimension = dimension - self.scope = scope - self.provider_id = provider_id - self.utilization = utilization - self.holds = holds - self.limit = limit - self.period = period diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.py deleted file mode 100644 index f50e5f7e52b..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.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 RestError(Model): - """Error information returned by the API. - - :param error: - :type error: ~azure.quantum.models.ErrorData - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorData'}, - } - - def __init__(self, **kwargs): - super(RestError, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class RestErrorException(HttpOperationError): - """Server responsed with exception of type: 'RestError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(RestErrorException, self).__init__(deserialize, response, 'RestError', *args) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_py3.py deleted file mode 100644 index f39b8fcf019..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_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 RestError(Model): - """Error information returned by the API. - - :param error: - :type error: ~azure.quantum.models.ErrorData - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorData'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(RestError, self).__init__(**kwargs) - self.error = error - - -class RestErrorException(HttpOperationError): - """Server responsed with exception of type: 'RestError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(RestErrorException, self).__init__(deserialize, response, 'RestError', *args) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.py deleted file mode 100644 index de48f2c427e..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.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 SasUriResponse(Model): - """Get SAS URL operation response. - - :param sas_uri: A URL with a SAS token to upload a blob for execution in - the given workspace. - :type sas_uri: str - """ - - _attribute_map = { - 'sas_uri': {'key': 'sasUri', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SasUriResponse, self).__init__(**kwargs) - self.sas_uri = kwargs.get('sas_uri', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_py3.py deleted file mode 100644 index 61e07b3568f..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_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 SasUriResponse(Model): - """Get SAS URL operation response. - - :param sas_uri: A URL with a SAS token to upload a blob for execution in - the given workspace. - :type sas_uri: str - """ - - _attribute_map = { - 'sas_uri': {'key': 'sasUri', 'type': 'str'}, - } - - def __init__(self, *, sas_uri: str=None, **kwargs) -> None: - super(SasUriResponse, self).__init__(**kwargs) - self.sas_uri = sas_uri diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.py deleted file mode 100644 index a97e8d6a373..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.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 TargetStatus(Model): - """Target status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Target id. - :vartype id: str - :ivar current_availability: Target availability. Possible values include: - 'Available', 'Degraded', 'Unavailable' - :vartype current_availability: str or - ~azure.quantum.models.TargetAvailability - :ivar average_queue_time: Average queue time in seconds. - :vartype average_queue_time: long - :ivar status_page: A page with detailed status of the provider. - :vartype status_page: str - """ - - _validation = { - 'id': {'readonly': True}, - 'current_availability': {'readonly': True}, - 'average_queue_time': {'readonly': True}, - 'status_page': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, - 'average_queue_time': {'key': 'averageQueueTime', 'type': 'long'}, - 'status_page': {'key': 'statusPage', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TargetStatus, self).__init__(**kwargs) - self.id = None - self.current_availability = None - self.average_queue_time = None - self.status_page = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_py3.py deleted file mode 100644 index 1313de7a8ed..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_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 TargetStatus(Model): - """Target status. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Target id. - :vartype id: str - :ivar current_availability: Target availability. Possible values include: - 'Available', 'Degraded', 'Unavailable' - :vartype current_availability: str or - ~azure.quantum.models.TargetAvailability - :ivar average_queue_time: Average queue time in seconds. - :vartype average_queue_time: long - :ivar status_page: A page with detailed status of the provider. - :vartype status_page: str - """ - - _validation = { - 'id': {'readonly': True}, - 'current_availability': {'readonly': True}, - 'average_queue_time': {'readonly': True}, - 'status_page': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, - 'average_queue_time': {'key': 'averageQueueTime', 'type': 'long'}, - 'status_page': {'key': 'statusPage', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(TargetStatus, self).__init__(**kwargs) - self.id = None - self.current_availability = None - self.average_queue_time = None - self.status_page = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py index 86281dc0138..2904bfb87b5 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py @@ -1,18 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 .jobs_operations import JobsOperations -from .providers_operations import ProvidersOperations -from .storage_operations import StorageOperations -from .quotas_operations import QuotasOperations +from ._jobs_operations import JobsOperations +from ._providers_operations import ProvidersOperations +from ._storage_operations import StorageOperations +from ._quotas_operations import QuotasOperations __all__ = [ 'JobsOperations', diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_operations.py new file mode 100644 index 00000000000..e83215c590c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_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 ClientAuthenticationError, 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 as _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 JobsOperations(object): + """JobsOperations 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.quantum.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: (...) -> Iterable["_models.JobDetailsList"] + """List jobs. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either JobDetailsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.quantum.models.JobDetailsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetailsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('JobDetailsList', 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': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs'} # type: ignore + + def get( + self, + job_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.JobDetails" + """Get job by id. + + :param job_id: Id of the job. + :type job_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobDetails, or the result of cls(response) + :rtype: ~azure.quantum.models.JobDetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # 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'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('JobDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + def create( + self, + job_id, # type: str + job, # type: "_models.JobDetails" + **kwargs # type: Any + ): + # type: (...) -> "_models.JobDetails" + """Create a job. + + :param job_id: Id of the job. + :type job_id: str + :param job: The complete metadata of the job to submit. + :type job: ~azure.quantum.models.JobDetails + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobDetails, or the result of cls(response) + :rtype: ~azure.quantum.models.JobDetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(job, 'JobDetails') + 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.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('JobDetails', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('JobDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + def cancel( + self, + job_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Cancel a job. + + :param job_id: Id of the job. + :type job_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 = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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 [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_operations.py new file mode 100644 index 00000000000..114b91916f4 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_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 TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _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 ProvidersOperations(object): + """ProvidersOperations 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.quantum.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_status( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ProviderStatusList"] + """Get provider status. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ProviderStatusList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.quantum.models.ProviderStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ProviderStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.get_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ProviderStatusList', 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.failsafe_deserialize(_models.RestError, 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 + ) + get_status.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/providerStatus'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_operations.py new file mode 100644 index 00000000000..863524d4df4 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_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 TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, 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 as _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 QuotasOperations(object): + """QuotasOperations 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.quantum.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: (...) -> Iterable["_models.QuotaList"] + """List quotas for the given workspace. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either QuotaList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.quantum.models.QuotaList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QuotaList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + 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'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('QuotaList', 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.failsafe_deserialize(_models.RestError, 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': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/quotas'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_operations.py new file mode 100644 index 00000000000..0d9e08fcdcf --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_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 ClientAuthenticationError, 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 as _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 StorageOperations(object): + """StorageOperations 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.quantum.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 sas_uri( + self, + blob_details, # type: "_models.BlobDetails" + **kwargs # type: Any + ): + # type: (...) -> "_models.SasUriResponse" + """Gets a URL with SAS token for a container/blob in the storage account associated with the + workspace. The SAS URL can be used to upload job input and/or download job output. + + :param blob_details: The details (name and container) of the blob to store or download data. + :type blob_details: ~azure.quantum.models.BlobDetails + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SasUriResponse, or the result of cls(response) + :rtype: ~azure.quantum.models.SasUriResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SasUriResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.sas_uri.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(blob_details, 'BlobDetails') + 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.failsafe_deserialize(_models.RestError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SasUriResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + sas_uri.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri'} # type: ignore diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_operations.py deleted file mode 100644 index a0d88ec04ad..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_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 msrestazure.azure_exceptions import CloudError - -from .. import models - - -class JobsOperations(object): - """JobsOperations 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 list( - self, custom_headers=None, raw=False, **operation_config): - """List jobs. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of JobDetails - :rtype: - ~azure.quantum.models.JobDetailsPaged[~azure.quantum.models.JobDetails] - :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'), - 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response - - # Deserialize response - deserialized = models.JobDetailsPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.JobDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs'} - - def get( - self, job_id, custom_headers=None, raw=False, **operation_config): - """Get job by id. - - :param job_id: Id of the job. - :type job_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: JobDetails or ClientRawResponse if raw=true - :rtype: ~azure.quantum.models.JobDetails or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`RestErrorException` - """ - # 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("self.config.resource_group_name", self.config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - request = 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.RestErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('JobDetails', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} - - def create( - self, job_id, job, custom_headers=None, raw=False, **operation_config): - """Create a job. - - :param job_id: Id of the job. - :type job_id: str - :param job: The complete metadata of the job to submit. - :type job: ~azure.quantum.models.JobDetails - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: JobDetails or ClientRawResponse if raw=true - :rtype: ~azure.quantum.models.JobDetails or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`RestErrorException` - """ - # 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("self.config.resource_group_name", self.config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - 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(job, 'JobDetails') - - # Construct and send request - request = self._client.put(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.RestErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('JobDetails', response) - if response.status_code == 201: - deserialized = self._deserialize('JobDetails', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} - - def cancel( - self, job_id, custom_headers=None, raw=False, **operation_config): - """Cancel a job. - - :param job_id: Id of the job. - :type job_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:`RestErrorException` - """ - # 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("self.config.resource_group_name", self.config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - - # Construct headers - header_parameters = {} - if self.config.generate_client_request_id: - header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) - if custom_headers: - header_parameters.update(custom_headers) - if self.config.accept_language is not None: - header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') - - # Construct and send request - 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]: - raise models.RestErrorException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - cancel.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py deleted file mode 100644 index 0835a2dd073..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py +++ /dev/null @@ -1,99 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest 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 ProvidersOperations(object): - """ProvidersOperations 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_status( - self, custom_headers=None, raw=False, **operation_config): - """Get provider status. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ProviderStatus - :rtype: - ~azure.quantum.models.ProviderStatusPaged[~azure.quantum.models.ProviderStatus] - :raises: - :class:`RestErrorException` - """ - def internal_paging(next_link=None, raw=False): - - if not next_link: - # Construct URL - url = self.get_status.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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.RestErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.ProviderStatusPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ProviderStatusPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - get_status.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/providerStatus'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_operations.py deleted file mode 100644 index dfc59b10e13..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_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 .. import models - - -class QuotasOperations(object): - """QuotasOperations 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 list( - self, custom_headers=None, raw=False, **operation_config): - """List quotas for the given workspace. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Quota - :rtype: ~azure.quantum.models.QuotaPaged[~azure.quantum.models.Quota] - :raises: - :class:`RestErrorException` - """ - 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("self.config.resource_group_name", self.config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # 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.RestErrorException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.QuotaPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.QuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/quotas'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_operations.py deleted file mode 100644 index eabe621c26e..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_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 StorageOperations(object): - """StorageOperations 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 sas_uri( - self, blob_details, custom_headers=None, raw=False, **operation_config): - """Gets a URL with SAS token for a container/blob in the storage account - associated with the workspace. The SAS URL can be used to upload job - input and/or download job output. - - :param blob_details: The details (name and container) of the blob to - store or download data. - :type blob_details: ~azure.quantum.models.BlobDetails - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: SasUriResponse or ClientRawResponse if raw=true - :rtype: ~azure.quantum.models.SasUriResponse or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`RestErrorException` - """ - # Construct URL - url = self.sas_uri.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - 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(blob_details, 'BlobDetails') - - # 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.RestErrorException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('SasUriResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - sas_uri.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/py.typed b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.py deleted file mode 100644 index 7cef055b3a2..00000000000 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.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. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer -from msrestazure import AzureConfiguration -from .version import VERSION -from .operations.jobs_operations import JobsOperations -from .operations.providers_operations import ProvidersOperations -from .operations.storage_operations import StorageOperations -from .operations.quotas_operations import QuotasOperations -from . import models - - -class QuantumClientConfiguration(AzureConfiguration): - """Configuration for QuantumClient - 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 resource_group_name: Name of an Azure resource group. - :type resource_group_name: str - :param workspace_name: Name of the workspace. - :type workspace_name: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, resource_group_name, workspace_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 resource_group_name is None: - raise ValueError("Parameter 'resource_group_name' must not be None.") - if workspace_name is None: - raise ValueError("Parameter 'workspace_name' must not be None.") - if not base_url: - base_url = 'https://quantum.azure.com' - - super(QuantumClientConfiguration, self).__init__(base_url) - - self.add_user_agent('quantumclient/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials - self.subscription_id = subscription_id - self.resource_group_name = resource_group_name - self.workspace_name = workspace_name - - -class QuantumClient(SDKClient): - """Azure Quantum REST API client - - :ivar config: Configuration for client. - :vartype config: QuantumClientConfiguration - - :ivar jobs: Jobs operations - :vartype jobs: azure.quantum.operations.JobsOperations - :ivar providers: Providers operations - :vartype providers: azure.quantum.operations.ProvidersOperations - :ivar storage: Storage operations - :vartype storage: azure.quantum.operations.StorageOperations - :ivar quotas: Quotas operations - :vartype quotas: azure.quantum.operations.QuotasOperations - - :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 resource_group_name: Name of an Azure resource group. - :type resource_group_name: str - :param workspace_name: Name of the workspace. - :type workspace_name: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, resource_group_name, workspace_name, base_url=None): - - self.config = QuantumClientConfiguration(credentials, subscription_id, resource_group_name, workspace_name, base_url) - super(QuantumClient, 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-04-preview' - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.jobs = JobsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.providers = ProvidersOperations( - self._client, self.config, self._serialize, self._deserialize) - self.storage = StorageOperations( - self._client, self.config, self._serialize, self._deserialize) - self.quotas = QuotasOperations( - self._client, self.config, self._serialize, self._deserialize) From 488675c7daa4096b4cdce8698ad11aa7c9755726 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 12 Jul 2021 02:39:46 -0700 Subject: [PATCH 64/85] Fix issue during submission of jobs where status is reported incorrectly (#3617) --- src/quantum/azext_quantum/operations/job.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/quantum/azext_quantum/operations/job.py b/src/quantum/azext_quantum/operations/job.py index 776f7c51bf0..c0132581362 100644 --- a/src/quantum/azext_quantum/operations/job.py +++ b/src/quantum/azext_quantum/operations/job.py @@ -150,7 +150,10 @@ def submit(cmd, program_args, resource_group_name=None, workspace_name=None, loc result = subprocess.run(args, stdout=subprocess.PIPE, check=False) if result.returncode == 0: - job_id = result.stdout.decode('ascii').strip() + output = result.stdout.decode('ascii').strip() + # Retrieve the job-id as the last line from standard output. + job_id = output.split()[-1] + # Query for the job and return status to caller. return get(cmd, job_id, resource_group_name, workspace_name, location) raise CLIError("Failed to submit job.") From f01957021508d461b59d72d965e3fac57f059a56 Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Tue, 13 Jul 2021 10:13:39 +0800 Subject: [PATCH 65/85] [db-up] Fix issue: az postgres up does not create the resource group (#3626) * fix * fix --- src/db-up/HISTORY.rst | 36 +- src/db-up/azext_db_up/_validators.py | 4 +- .../latest/recordings/test_mysql_flow.yaml | 495 ++-- .../latest/recordings/test_postgres_flow.yaml | 473 ++-- .../latest/recordings/test_sql_flow.yaml | 2266 +---------------- src/db-up/setup.py | 2 +- 6 files changed, 600 insertions(+), 2676 deletions(-) diff --git a/src/db-up/HISTORY.rst b/src/db-up/HISTORY.rst index 1eed22b70f6..c9681515271 100644 --- a/src/db-up/HISTORY.rst +++ b/src/db-up/HISTORY.rst @@ -1,8 +1,12 @@ .. :changelog: - Release History +Release History =============== +0.2.4 (2021-07-12) +++++++++++++++++++ +* Fix issue with non-existing resource group + 0.2.3 (2021-05-10) ++++++++++++++++++ * Add compatible logic for the track 2 migration of resource dependence @@ -16,64 +20,64 @@ * Bump mysql-connector-python to 8.0.14 to fix CVE-2019-2435 0.2.0 (2020-7-29) -++++++++++++++++ +++++++++++++++++++ * `az postgres down`: Add more arguments to fix issue #942 0.1.15 (2020-7-20) -++++++++++++++++ +++++++++++++++++++ * `az mysql up`: Refine error message for error PasswordNotComplex 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`. 0.1.9 (2019-3-18) -+++++++++++++++++ +++++++++++++++++++ * `az postgres up`: add azure-access after firewall configurations due to service bug. 0.1.8 (2019-3-15) -+++++++++++++++++ +++++++++++++++++++ * `az mysql/postgres up`: default sku to `GP_Gen5_2`. * `az postgres up`: remove idle transaction session timout config. 0.1.7 (2019-2-28) -+++++++++++++++++ +++++++++++++++++++ * `az mysql/postgres show-connection-string`: change format to output like `up` commands. 0.1.6 (2019-2-26) -+++++++++++++++++ +++++++++++++++++++ * `az mysql/postgres show-connection-string` commands to show connection strings without server calls. 0.1.5 (2019-2-1) -++++++++++++++++ +++++++++++++++++++ * Added Spring JDBC connection string to output. * Make resource group more apparent in logging. 0.1.4 (2019-1-31) -+++++++++++++++++ +++++++++++++++++++ * Added `az postgres up` to simplify postgresql server/database creation and configuration * Added commands: `az mysql/postgres down` to clean up resources and cached information 0.1.3 (2019-1-28) -+++++++++++++++++ +++++++++++++++++++ * `az mysql up`- minor changes in output 0.1.2 (2019-1-25) -+++++++++++++++++ +++++++++++++++++++ * `az mysql up`- add host, user and password to table output * `az mysql up`- adjust connection strings 0.1.1 (2019-1-24) -+++++++++++++++++ +++++++++++++++++++ * `az mysql up`- create a resource group if a name is provided that is not an existing one * `az mysql up`- changes to output to only show connection details and enable table format 0.1.0 (2019-1-23) -+++++++++++++++++ -* first release with initial `az mysql up` command +++++++++++++++++++ +* first release with initial `az mysql up` command \ No newline at end of file diff --git a/src/db-up/azext_db_up/_validators.py b/src/db-up/azext_db_up/_validators.py index c127ee54c7f..10c743e3c4f 100644 --- a/src/db-up/azext_db_up/_validators.py +++ b/src/db-up/azext_db_up/_validators.py @@ -48,7 +48,7 @@ def _process_db_up_namespace(cmd, namespace, db_type=None): if _get_value(db_type, namespace, 'location', 'location') is None: try: get_default_location_from_resource_group(cmd, namespace) - except (CLIError, ValidationError): + except Exception: namespace.location = 'eastus' _set_value(db_type, namespace, 'location', 'location', default=namespace.location) @@ -67,7 +67,7 @@ def _process_db_up_namespace(cmd, namespace, db_type=None): try: resource_client.resource_groups.get(namespace.resource_group_name) create_resource_group = False - except CloudError: # throw exception when resource group name is invalid + except Exception: # throw exception when resource group name is invalid pass if create_resource_group: 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 c58bf17b4ca..1eb856def73 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,10 +13,50 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-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: + - Mon, 12 Jul 2021 07:25: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - mysql up + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -31,7 +71,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:53:22 GMT + - Mon, 12 Jul 2021 07:25:28 GMT expires: - '-1' pragma: @@ -59,14 +99,11 @@ interactions: Content-Length: - '22' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -80,7 +117,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:53:25 GMT + - Mon, 12 Jul 2021 07:25:30 GMT expires: - '-1' pragma: @@ -108,8 +145,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -127,7 +164,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:53:26 GMT + - Mon, 12 Jul 2021 07:25:31 GMT expires: - '-1' pragma: @@ -144,7 +181,7 @@ interactions: - request: body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"version": "5.7", "sslEnforcement": "Enabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": - "Default", "administratorLogin": "zunli", "administratorLoginPassword": "3b06ddfe-2708-4920-aaa1-1acb2286d433"}, + "Default", "administratorLogin": "nearOwl7", "administratorLoginPassword": "acabc076-a0fa-4201-a5d0-a37cd8c0d726"}, "location": "eastus"}' headers: Accept: @@ -156,24 +193,24 @@ interactions: Connection: - keep-alive Content-Length: - - '295' + - '298' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"2021-03-22T03:53:35.183Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2021-07-12T07:25:37.477Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/8b02fd35-944b-4758-b2cc-ec7da7748f58?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/acefd11d-2ddd-449b-b0ca-ba493de7871a?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -181,11 +218,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:53:35 GMT + - Mon, 12 Jul 2021 07:25:38 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/8b02fd35-944b-4758-b2cc-ec7da7748f58?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/acefd11d-2ddd-449b-b0ca-ba493de7871a?api-version=2017-12-01 pragma: - no-cache server: @@ -195,7 +232,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 202 message: Accepted @@ -213,13 +250,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/8b02fd35-944b-4758-b2cc-ec7da7748f58?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/acefd11d-2ddd-449b-b0ca-ba493de7871a?api-version=2017-12-01 response: body: - string: '{"name":"8b02fd35-944b-4758-b2cc-ec7da7748f58","status":"InProgress","startTime":"2021-03-22T03:53:35.183Z"}' + string: '{"name":"acefd11d-2ddd-449b-b0ca-ba493de7871a","status":"InProgress","startTime":"2021-07-12T07:25:37.477Z"}' headers: cache-control: - no-cache @@ -228,7 +265,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:54:36 GMT + - Mon, 12 Jul 2021 07:26:39 GMT expires: - '-1' pragma: @@ -260,13 +297,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/8b02fd35-944b-4758-b2cc-ec7da7748f58?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/acefd11d-2ddd-449b-b0ca-ba493de7871a?api-version=2017-12-01 response: body: - string: '{"name":"8b02fd35-944b-4758-b2cc-ec7da7748f58","status":"Succeeded","startTime":"2021-03-22T03:53:35.183Z"}' + string: '{"name":"acefd11d-2ddd-449b-b0ca-ba493de7871a","status":"Succeeded","startTime":"2021-07-12T07:25:37.477Z"}' headers: cache-control: - no-cache @@ -275,7 +312,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:55:38 GMT + - Mon, 12 Jul 2021 07:27:40 GMT expires: - '-1' pragma: @@ -307,22 +344,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"zunli","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":"2021-03-22T04:03:35.527+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"nearOwl7","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":"2021-07-12T07:35:37.803+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: - - '945' + - '948' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:55:39 GMT + - Mon, 12 Jul 2021 07:27:41 GMT expires: - '-1' pragma: @@ -358,18 +395,18 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: '{"operation":"UpdateElasticServerConfig","startTime":"2021-03-22T03:55:41.08Z"}' + string: '{"operation":"UpdateElasticServerConfig","startTime":"2021-07-12T07:27:43.15Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b1abe655-995b-4e66-9f0c-2fd268264a9a?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/da46a4ee-7a85-4ace-8ea5-21bf7d6595af?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -377,11 +414,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:55:40 GMT + - Mon, 12 Jul 2021 07:27:43 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/b1abe655-995b-4e66-9f0c-2fd268264a9a?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/da46a4ee-7a85-4ace-8ea5-21bf7d6595af?api-version=2017-12-01 pragma: - no-cache server: @@ -409,13 +446,60 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/da46a4ee-7a85-4ace-8ea5-21bf7d6595af?api-version=2017-12-01 + response: + body: + string: '{"name":"da46a4ee-7a85-4ace-8ea5-21bf7d6595af","status":"InProgress","startTime":"2021-07-12T07:27:43.15Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jul 2021 07:27: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: + - mysql up + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b1abe655-995b-4e66-9f0c-2fd268264a9a?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/da46a4ee-7a85-4ace-8ea5-21bf7d6595af?api-version=2017-12-01 response: body: - string: '{"name":"b1abe655-995b-4e66-9f0c-2fd268264a9a","status":"InProgress","startTime":"2021-03-22T03:55:41.08Z"}' + string: '{"name":"da46a4ee-7a85-4ace-8ea5-21bf7d6595af","status":"InProgress","startTime":"2021-07-12T07:27:43.15Z"}' headers: cache-control: - no-cache @@ -424,7 +508,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:55:57 GMT + - Mon, 12 Jul 2021 07:28:15 GMT expires: - '-1' pragma: @@ -456,13 +540,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b1abe655-995b-4e66-9f0c-2fd268264a9a?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/da46a4ee-7a85-4ace-8ea5-21bf7d6595af?api-version=2017-12-01 response: body: - string: '{"name":"b1abe655-995b-4e66-9f0c-2fd268264a9a","status":"Succeeded","startTime":"2021-03-22T03:55:41.08Z"}' + string: '{"name":"da46a4ee-7a85-4ace-8ea5-21bf7d6595af","status":"Succeeded","startTime":"2021-07-12T07:27:43.15Z"}' headers: cache-control: - no-cache @@ -471,7 +555,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:12 GMT + - Mon, 12 Jul 2021 07:28:32 GMT expires: - '-1' pragma: @@ -503,8 +587,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 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 response: @@ -520,7 +604,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:14 GMT + - Mon, 12 Jul 2021 07:28:33 GMT expires: - '-1' pragma: @@ -556,18 +640,18 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-03-22T03:56:15.623Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-12T07:28:33.987Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/29172c81-4ff4-4e17-b330-9acba91c7c91?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3f70e5d7-1dbc-43e7-8b61-a5a34bda314a?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -575,11 +659,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:15 GMT + - Mon, 12 Jul 2021 07:28:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/29172c81-4ff4-4e17-b330-9acba91c7c91?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/3f70e5d7-1dbc-43e7-8b61-a5a34bda314a?api-version=2017-12-01 pragma: - no-cache server: @@ -607,13 +691,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/29172c81-4ff4-4e17-b330-9acba91c7c91?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3f70e5d7-1dbc-43e7-8b61-a5a34bda314a?api-version=2017-12-01 response: body: - string: '{"name":"29172c81-4ff4-4e17-b330-9acba91c7c91","status":"Succeeded","startTime":"2021-03-22T03:56:15.623Z"}' + string: '{"name":"3f70e5d7-1dbc-43e7-8b61-a5a34bda314a","status":"Succeeded","startTime":"2021-07-12T07:28:33.987Z"}' headers: cache-control: - no-cache @@ -622,7 +706,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:30 GMT + - Mon, 12 Jul 2021 07:28:49 GMT expires: - '-1' pragma: @@ -654,8 +738,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 response: @@ -669,7 +753,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:32 GMT + - Mon, 12 Jul 2021 07:28:50 GMT expires: - '-1' pragma: @@ -701,8 +785,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -720,7 +804,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:34 GMT + - Mon, 12 Jul 2021 07:28:51 GMT expires: - '-1' pragma: @@ -752,30 +836,30 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 response: body: - string: '{"operation":"UpsertElasticServerDatabase","startTime":"2021-03-22T03:56:35.227Z"}' + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2021-07-12T07:28:52.35Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/5b504c26-7cd7-4337-9a52-1322dab5940e?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2f4d0286-720a-42ce-b630-1e2d47835f60?api-version=2017-12-01 cache-control: - no-cache content-length: - - '82' + - '81' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:34 GMT + - Mon, 12 Jul 2021 07:28:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/5b504c26-7cd7-4337-9a52-1322dab5940e?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/2f4d0286-720a-42ce-b630-1e2d47835f60?api-version=2017-12-01 pragma: - no-cache server: @@ -785,7 +869,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -803,22 +887,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/5b504c26-7cd7-4337-9a52-1322dab5940e?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2f4d0286-720a-42ce-b630-1e2d47835f60?api-version=2017-12-01 response: body: - string: '{"name":"5b504c26-7cd7-4337-9a52-1322dab5940e","status":"Succeeded","startTime":"2021-03-22T03:56:35.227Z"}' + string: '{"name":"2f4d0286-720a-42ce-b630-1e2d47835f60","status":"Succeeded","startTime":"2021-07-12T07:28:52.35Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:50 GMT + - Mon, 12 Jul 2021 07:29:07 GMT expires: - '-1' pragma: @@ -850,8 +934,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 response: @@ -865,7 +949,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:51 GMT + - Mon, 12 Jul 2021 07:29:08 GMT expires: - '-1' pragma: @@ -895,10 +979,7 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -912,7 +993,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:52 GMT + - Mon, 12 Jul 2021 07:29:09 GMT expires: - '-1' pragma: @@ -938,10 +1019,7 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -955,7 +1033,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:52 GMT + - Mon, 12 Jul 2021 07:29:09 GMT expires: - '-1' pragma: @@ -981,24 +1059,24 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"zunli","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":"2021-03-22T04:03:35.527+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"nearOwl7","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":"2021-07-12T07:35:37.803+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: - - '945' + - '948' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:53 GMT + - Mon, 12 Jul 2021 07:29:10 GMT expires: - '-1' pragma: @@ -1028,8 +1106,8 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -1045,7 +1123,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:55 GMT + - Mon, 12 Jul 2021 07:29:10 GMT expires: - '-1' pragma: @@ -1077,10 +1155,7 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1094,7 +1169,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:55 GMT + - Mon, 12 Jul 2021 07:29:11 GMT expires: - '-1' pragma: @@ -1122,10 +1197,7 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1139,7 +1211,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:55 GMT + - Mon, 12 Jul 2021 07:29:12 GMT expires: - '-1' pragma: @@ -1167,24 +1239,24 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 response: body: - string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"zunli","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":"2021-03-22T04:03:35.527+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"nearOwl7","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":"2021-07-12T07:35:37.803+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: - - '945' + - '948' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:56 GMT + - Mon, 12 Jul 2021 07:29:12 GMT expires: - '-1' pragma: @@ -1203,7 +1275,7 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"administratorLoginPassword": "3b06ddfe-2708-4920-aaa1-1acb2286d433"}}' + body: '{"properties": {"administratorLoginPassword": "acabc076-a0fa-4201-a5d0-a37cd8c0d726"}}' headers: Accept: - application/json @@ -1220,18 +1292,18 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US 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: '{"operation":"UpsertElasticServer","startTime":"2021-03-22T03:56:58.257Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2021-07-12T07:29:13.803Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/93e75624-1cb4-4874-917f-b36dadb4c929?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3d06ff6c-edd8-4429-9f84-11dcdd1eb653?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -1239,11 +1311,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:56:59 GMT + - Mon, 12 Jul 2021 07:29:14 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/93e75624-1cb4-4874-917f-b36dadb4c929?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/3d06ff6c-edd8-4429-9f84-11dcdd1eb653?api-version=2017-12-01 pragma: - no-cache server: @@ -1271,13 +1343,13 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/93e75624-1cb4-4874-917f-b36dadb4c929?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3d06ff6c-edd8-4429-9f84-11dcdd1eb653?api-version=2017-12-01 response: body: - string: '{"name":"93e75624-1cb4-4874-917f-b36dadb4c929","status":"Succeeded","startTime":"2021-03-22T03:56:58.257Z"}' + string: '{"name":"3d06ff6c-edd8-4429-9f84-11dcdd1eb653","status":"Succeeded","startTime":"2021-07-12T07:29:13.803Z"}' headers: cache-control: - no-cache @@ -1286,7 +1358,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:57:59 GMT + - Mon, 12 Jul 2021 07:30:16 GMT expires: - '-1' pragma: @@ -1318,22 +1390,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"zunli","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":"2021-03-22T04:03:35.527+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"nearOwl7","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":"2021-07-12T07:35:37.803+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: - - '945' + - '948' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:57:59 GMT + - Mon, 12 Jul 2021 07:30:17 GMT expires: - '-1' pragma: @@ -1365,8 +1437,8 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -1382,7 +1454,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:58:00 GMT + - Mon, 12 Jul 2021 07:30:20 GMT expires: - '-1' pragma: @@ -1414,7 +1486,7 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-rdbms/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) 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: @@ -1428,7 +1500,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:58:03 GMT + - Mon, 12 Jul 2021 07:30:20 GMT expires: - '-1' pragma: @@ -1462,10 +1534,7 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1477,11 +1546,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:58:08 GMT + - Mon, 12 Jul 2021 07:30:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1497,7 +1566,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1507,10 +1576,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1520,11 +1588,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:58:24 GMT + - Mon, 12 Jul 2021 07:30:40 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1538,7 +1606,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1548,10 +1616,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1561,11 +1628,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:58:39 GMT + - Mon, 12 Jul 2021 07:30:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1579,7 +1646,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1589,10 +1656,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1602,11 +1668,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:58:55 GMT + - Mon, 12 Jul 2021 07:31:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1620,7 +1686,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1630,10 +1696,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1643,11 +1708,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:59:11 GMT + - Mon, 12 Jul 2021 07:31:27 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1661,7 +1726,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1671,10 +1736,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1684,11 +1748,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:59:26 GMT + - Mon, 12 Jul 2021 07:31:43 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1702,7 +1766,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1712,10 +1776,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1725,11 +1788,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:59:41 GMT + - Mon, 12 Jul 2021 07:31:58 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1743,7 +1806,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1753,10 +1816,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFFFVzRFSDJENkM2N1dRVzRSUUItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1766,7 +1828,47 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 03:59:57 GMT + - Mon, 12 Jul 2021 07:32:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - mysql down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUEY3T0VQN1lWQTJLNjJBRTc0VlotRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 12 Jul 2021 07:32:29 GMT expires: - '-1' pragma: @@ -1792,10 +1894,7 @@ interactions: ParameterSetName: - -n User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1810,7 +1909,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 03:59:58 GMT + - Mon, 12 Jul 2021 07:32:30 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 06b2d44ceb5..49dd547ed02 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,10 +13,7 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -31,7 +28,50 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:01:17 GMT + - Mon, 12 Jul 2021 07:14:29 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: + - postgres up + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-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: + - Mon, 12 Jul 2021 07:14:29 GMT expires: - '-1' pragma: @@ -59,14 +99,11 @@ interactions: Content-Length: - '22' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -80,7 +117,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:01:19 GMT + - Mon, 12 Jul 2021 07:14:31 GMT expires: - '-1' pragma: @@ -110,8 +147,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -129,7 +166,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:01:20 GMT + - Mon, 12 Jul 2021 07:14:31 GMT expires: - '-1' pragma: @@ -146,8 +183,8 @@ interactions: - request: body: '{"sku": {"name": "GP_Gen5_2"}, "properties": {"version": "10", "sslEnforcement": "Enabled", "storageProfile": {"geoRedundantBackup": "Disabled"}, "createMode": - "Default", "administratorLogin": "impishPaella3", "administratorLoginPassword": - "d5714deb-e223-4528-a4c8-c9483f9984c8"}, "location": "eastus"}' + "Default", "administratorLogin": "unevenBasmati3", "administratorLoginPassword": + "73487fea-54f2-4bf8-9a88-e655e68a81d3"}, "location": "eastus"}' headers: Accept: - application/json @@ -158,24 +195,24 @@ interactions: Connection: - keep-alive Content-Length: - - '302' + - '303' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"2021-03-22T04:01:27.11Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2021-07-12T07:14:40.27Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/fde7a242-9b2e-4937-af75-8653d5bac92c?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/a99a9c83-8565-409c-9cc0-470d9fc39550?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -183,11 +220,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:01:28 GMT + - Mon, 12 Jul 2021 07:14:41 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/fde7a242-9b2e-4937-af75-8653d5bac92c?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/a99a9c83-8565-409c-9cc0-470d9fc39550?api-version=2017-12-01 pragma: - no-cache server: @@ -215,13 +252,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/fde7a242-9b2e-4937-af75-8653d5bac92c?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/a99a9c83-8565-409c-9cc0-470d9fc39550?api-version=2017-12-01 response: body: - string: '{"name":"fde7a242-9b2e-4937-af75-8653d5bac92c","status":"InProgress","startTime":"2021-03-22T04:01:27.11Z"}' + string: '{"name":"a99a9c83-8565-409c-9cc0-470d9fc39550","status":"InProgress","startTime":"2021-07-12T07:14:40.27Z"}' headers: cache-control: - no-cache @@ -230,7 +267,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:02:29 GMT + - Mon, 12 Jul 2021 07:15:41 GMT expires: - '-1' pragma: @@ -262,13 +299,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/fde7a242-9b2e-4937-af75-8653d5bac92c?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/a99a9c83-8565-409c-9cc0-470d9fc39550?api-version=2017-12-01 response: body: - string: '{"name":"fde7a242-9b2e-4937-af75-8653d5bac92c","status":"Succeeded","startTime":"2021-03-22T04:01:27.11Z"}' + string: '{"name":"a99a9c83-8565-409c-9cc0-470d9fc39550","status":"Succeeded","startTime":"2021-07-12T07:14:40.27Z"}' headers: cache-control: - no-cache @@ -277,7 +314,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:03:30 GMT + - Mon, 12 Jul 2021 07:16:42 GMT expires: - '-1' pragma: @@ -309,22 +346,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"impishPaella3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-03-22T04:11:27.453+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unevenBasmati3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-07-12T07:24:40.567+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: - - '965' + - '966' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:03:30 GMT + - Mon, 12 Jul 2021 07:16:42 GMT expires: - '-1' pragma: @@ -358,8 +395,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -377,7 +414,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:03:33 GMT + - Mon, 12 Jul 2021 07:16:45 GMT expires: - '-1' pragma: @@ -409,18 +446,18 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"2021-03-22T04:03:34.657Z"}' + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2021-07-12T07:16:46.287Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/04e154f6-54fb-4932-8753-abb8638b9d8c?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2488b9a8-f5c4-4987-8a5d-acc9f0ad9364?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -428,11 +465,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:03:34 GMT + - Mon, 12 Jul 2021 07:16:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/04e154f6-54fb-4932-8753-abb8638b9d8c?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/2488b9a8-f5c4-4987-8a5d-acc9f0ad9364?api-version=2017-12-01 pragma: - no-cache server: @@ -442,7 +479,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -460,13 +497,13 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/04e154f6-54fb-4932-8753-abb8638b9d8c?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2488b9a8-f5c4-4987-8a5d-acc9f0ad9364?api-version=2017-12-01 response: body: - string: '{"name":"04e154f6-54fb-4932-8753-abb8638b9d8c","status":"Succeeded","startTime":"2021-03-22T04:03:34.657Z"}' + string: '{"name":"2488b9a8-f5c4-4987-8a5d-acc9f0ad9364","status":"Succeeded","startTime":"2021-07-12T07:16:46.287Z"}' headers: cache-control: - no-cache @@ -475,7 +512,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:03:50 GMT + - Mon, 12 Jul 2021 07:17:02 GMT expires: - '-1' pragma: @@ -507,8 +544,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: @@ -522,7 +559,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:03:50 GMT + - Mon, 12 Jul 2021 07:17:02 GMT expires: - '-1' pragma: @@ -558,30 +595,30 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"2021-03-22T04:03:53.23Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-12T07:17:04.397Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/c33b5552-cf21-48ed-9dbd-ccbf26a1a96d?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/b9b1fdce-3051-4b42-b3ea-e2d811e73b2d?api-version=2017-12-01 cache-control: - no-cache content-length: - - '86' + - '87' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:03:52 GMT + - Mon, 12 Jul 2021 07:17:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/c33b5552-cf21-48ed-9dbd-ccbf26a1a96d?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/b9b1fdce-3051-4b42-b3ea-e2d811e73b2d?api-version=2017-12-01 pragma: - no-cache server: @@ -591,7 +628,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 202 message: Accepted @@ -609,22 +646,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/c33b5552-cf21-48ed-9dbd-ccbf26a1a96d?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/b9b1fdce-3051-4b42-b3ea-e2d811e73b2d?api-version=2017-12-01 response: body: - string: '{"name":"c33b5552-cf21-48ed-9dbd-ccbf26a1a96d","status":"Succeeded","startTime":"2021-03-22T04:03:53.23Z"}' + string: '{"name":"b9b1fdce-3051-4b42-b3ea-e2d811e73b2d","status":"Succeeded","startTime":"2021-07-12T07:17:04.397Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:08 GMT + - Mon, 12 Jul 2021 07:17:20 GMT expires: - '-1' pragma: @@ -656,8 +693,8 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: @@ -671,7 +708,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:10 GMT + - Mon, 12 Jul 2021 07:17:20 GMT expires: - '-1' pragma: @@ -701,10 +738,7 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -718,7 +752,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:10 GMT + - Mon, 12 Jul 2021 07:17:22 GMT expires: - '-1' pragma: @@ -744,10 +778,7 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -761,7 +792,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:10 GMT + - Mon, 12 Jul 2021 07:17:22 GMT expires: - '-1' pragma: @@ -789,24 +820,24 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"impishPaella3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-03-22T04:11:27.453+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unevenBasmati3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-07-12T07:24:40.567+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: - - '965' + - '966' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:12 GMT + - Mon, 12 Jul 2021 07:17:22 GMT expires: - '-1' pragma: @@ -838,8 +869,8 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -855,7 +886,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:14 GMT + - Mon, 12 Jul 2021 07:17:24 GMT expires: - '-1' pragma: @@ -889,30 +920,30 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"2021-03-22T04:04:16.1Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-12T07:17:25.53Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/e6b1bdaf-bb85-4591-9f49-2c4db6a61f12?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/a8b1f904-16e8-4d95-9209-f4fc57efe646?api-version=2017-12-01 cache-control: - no-cache content-length: - - '85' + - '86' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:15 GMT + - Mon, 12 Jul 2021 07:17:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/e6b1bdaf-bb85-4591-9f49-2c4db6a61f12?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/a8b1f904-16e8-4d95-9209-f4fc57efe646?api-version=2017-12-01 pragma: - no-cache server: @@ -938,22 +969,22 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/e6b1bdaf-bb85-4591-9f49-2c4db6a61f12?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/a8b1f904-16e8-4d95-9209-f4fc57efe646?api-version=2017-12-01 response: body: - string: '{"name":"e6b1bdaf-bb85-4591-9f49-2c4db6a61f12","status":"Succeeded","startTime":"2021-03-22T04:04:16.1Z"}' + string: '{"name":"a8b1f904-16e8-4d95-9209-f4fc57efe646","status":"Succeeded","startTime":"2021-07-12T07:17:25.53Z"}' headers: cache-control: - no-cache content-length: - - '105' + - '106' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:32 GMT + - Mon, 12 Jul 2021 07:17:41 GMT expires: - '-1' pragma: @@ -983,8 +1014,8 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: @@ -998,7 +1029,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:32 GMT + - Mon, 12 Jul 2021 07:17:42 GMT expires: - '-1' pragma: @@ -1030,10 +1061,7 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1047,7 +1075,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:34 GMT + - Mon, 12 Jul 2021 07:17:43 GMT expires: - '-1' pragma: @@ -1075,10 +1103,7 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1092,7 +1117,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:34 GMT + - Mon, 12 Jul 2021 07:17:43 GMT expires: - '-1' pragma: @@ -1122,24 +1147,24 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"impishPaella3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-03-22T04:11:27.453+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unevenBasmati3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-07-12T07:24:40.567+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: - - '965' + - '966' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:35 GMT + - Mon, 12 Jul 2021 07:17:44 GMT expires: - '-1' pragma: @@ -1158,7 +1183,7 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"administratorLoginPassword": "d5714deb-e223-4528-a4c8-c9483f9984c8"}}' + body: '{"properties": {"administratorLoginPassword": "73487fea-54f2-4bf8-9a88-e655e68a81d3"}}' headers: Accept: - application/json @@ -1175,30 +1200,30 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"2021-03-22T04:04:36.897Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2021-07-12T07:17:44.92Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/8fd1eb61-f589-499b-9bc1-7aff5c781edf?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/ff0c72d2-481a-4689-b673-d1fecba6a8bb?api-version=2017-12-01 cache-control: - no-cache content-length: - - '74' + - '73' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:04:38 GMT + - Mon, 12 Jul 2021 07:17:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/8fd1eb61-f589-499b-9bc1-7aff5c781edf?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/ff0c72d2-481a-4689-b673-d1fecba6a8bb?api-version=2017-12-01 pragma: - no-cache server: @@ -1208,7 +1233,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -1226,22 +1251,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/8fd1eb61-f589-499b-9bc1-7aff5c781edf?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/ff0c72d2-481a-4689-b673-d1fecba6a8bb?api-version=2017-12-01 response: body: - string: '{"name":"8fd1eb61-f589-499b-9bc1-7aff5c781edf","status":"Succeeded","startTime":"2021-03-22T04:04:36.897Z"}' + string: '{"name":"ff0c72d2-481a-4689-b673-d1fecba6a8bb","status":"Succeeded","startTime":"2021-07-12T07:17:44.92Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:05:37 GMT + - Mon, 12 Jul 2021 07:18:45 GMT expires: - '-1' pragma: @@ -1273,22 +1298,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"impishPaella3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-03-22T04:11:27.453+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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"unevenBasmati3","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server000002.postgres.database.azure.com","earliestRestoreDate":"2021-07-12T07:24:40.567+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: - - '965' + - '966' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:05:38 GMT + - Mon, 12 Jul 2021 07:18:46 GMT expires: - '-1' pragma: @@ -1322,8 +1347,8 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 accept-language: - en-US method: GET @@ -1339,7 +1364,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:05:39 GMT + - Mon, 12 Jul 2021 07:18:48 GMT expires: - '-1' pragma: @@ -1375,30 +1400,30 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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":"2021-03-22T04:05:40.967Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-12T07:18:50.14Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/e14d00b5-5c3a-42f0-a5fb-d45274343f67?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/52cb6445-f865-4985-bacc-2e277300dea6?api-version=2017-12-01 cache-control: - no-cache content-length: - - '87' + - '86' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:05:41 GMT + - Mon, 12 Jul 2021 07:18:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/e14d00b5-5c3a-42f0-a5fb-d45274343f67?api-version=2017-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/52cb6445-f865-4985-bacc-2e277300dea6?api-version=2017-12-01 pragma: - no-cache server: @@ -1408,7 +1433,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 202 message: Accepted @@ -1426,22 +1451,22 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/e14d00b5-5c3a-42f0-a5fb-d45274343f67?api-version=2017-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/52cb6445-f865-4985-bacc-2e277300dea6?api-version=2017-12-01 response: body: - string: '{"name":"e14d00b5-5c3a-42f0-a5fb-d45274343f67","status":"Succeeded","startTime":"2021-03-22T04:05:40.967Z"}' + string: '{"name":"52cb6445-f865-4985-bacc-2e277300dea6","status":"Succeeded","startTime":"2021-07-12T07:18:50.14Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:05:56 GMT + - Mon, 12 Jul 2021 07:19:05 GMT expires: - '-1' pragma: @@ -1473,8 +1498,8 @@ interactions: ParameterSetName: - -p User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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: @@ -1488,7 +1513,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:05:57 GMT + - Mon, 12 Jul 2021 07:19:06 GMT expires: - '-1' pragma: @@ -1520,7 +1545,7 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-rdbms/8.1.0b4 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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: @@ -1534,7 +1559,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:05:58 GMT + - Mon, 12 Jul 2021 07:19:09 GMT expires: - '-1' pragma: @@ -1568,10 +1593,7 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1583,11 +1605,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 04:06:05 GMT + - Mon, 12 Jul 2021 07:19:15 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1603,7 +1625,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1613,10 +1635,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1626,11 +1647,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 04:06:21 GMT + - Mon, 12 Jul 2021 07:19:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1644,7 +1665,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1654,10 +1675,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1667,11 +1687,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 04:06:37 GMT + - Mon, 12 Jul 2021 07:19:46 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1685,7 +1705,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1695,10 +1715,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1708,11 +1727,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 04:06:52 GMT + - Mon, 12 Jul 2021 07:20:01 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1726,7 +1745,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1736,10 +1755,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1749,11 +1767,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 04:07:07 GMT + - Mon, 12 Jul 2021 07:20:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1767,7 +1785,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1777,10 +1795,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1790,11 +1807,11 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 04:07:23 GMT + - Mon, 12 Jul 2021 07:20:32 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 pragma: - no-cache strict-transport-security: @@ -1808,7 +1825,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1818,10 +1835,9 @@ interactions: ParameterSetName: - -y --delete-group User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFdWUFpORVVDVEg2RUNSMlkzSUYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 response: body: string: '' @@ -1831,7 +1847,47 @@ interactions: content-length: - '0' date: - - Mon, 22 Mar 2021 04:07:38 GMT + - Mon, 12 Jul 2021 07:20:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - postgres down + Connection: + - keep-alive + ParameterSetName: + - -y --delete-group + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUFRIVjRCNTRMNEpCNVpKREY0WjItRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 12 Jul 2021 07:21:03 GMT expires: - '-1' pragma: @@ -1857,10 +1913,7 @@ interactions: ParameterSetName: - -n User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -1875,7 +1928,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:07:39 GMT + - Mon, 12 Jul 2021 07:21:04 GMT expires: - '-1' pragma: 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 8decd622891..9ddd4a6797f 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,10 +13,7 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: @@ -31,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:52:35 GMT + - Mon, 12 Jul 2021 07:41:42 GMT expires: - '-1' pragma: @@ -45,55 +42,6 @@ interactions: status: code: 404 message: Not Found -- request: - body: '{"location": "eastus"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - Content-Length: - - '22' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '245' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:52:38 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: @@ -108,26 +56,22 @@ interactions: ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: body: - string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Sql/servers/server000002'' - under resource group ''group000001'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' + string: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group + ''group000001'' could not be found."}}' headers: cache-control: - no-cache content-length: - - '242' + - '116' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:52:38 GMT + - Mon, 12 Jul 2021 07:41:42 GMT expires: - '-1' pragma: @@ -142,9 +86,7 @@ interactions: code: 404 message: Not Found - request: - body: '{"location": "eastus", "properties": {"administratorLogin": "thirdChile0", - "administratorLoginPassword": "24117999-0ae8-4fa1-b764-067738d35d62", "version": - "12.0"}}' + body: '{"location": "eastus"}' headers: Accept: - application/json @@ -155,2212 +97,38 @@ interactions: Connection: - keep-alive Content-Length: - - '164' + - '22' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -s User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 response: body: - string: '{"operation":"UpsertLogicalServer","startTime":"2021-03-22T04:52:44.217Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview cache-control: - no-cache content-length: - - '74' + - '245' content-type: - application/json; charset=utf-8 date: - - Mon, 22 Mar 2021 04:52:44 GMT + - Mon, 12 Jul 2021 07:41:44 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverOperationResults/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"84294fea-6f54-4ded-ae4f-13112b5c485d","status":"InProgress","startTime":"2021-03-22T04:52:44.217Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:52: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"84294fea-6f54-4ded-ae4f-13112b5c485d","status":"InProgress","startTime":"2021-03-22T04:52:44.217Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:52: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: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"84294fea-6f54-4ded-ae4f-13112b5c485d","status":"InProgress","startTime":"2021-03-22T04:52:44.217Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:52: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 -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"84294fea-6f54-4ded-ae4f-13112b5c485d","status":"InProgress","startTime":"2021-03-22T04:52:44.217Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:52: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"84294fea-6f54-4ded-ae4f-13112b5c485d","status":"InProgress","startTime":"2021-03-22T04:52:44.217Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:53: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"84294fea-6f54-4ded-ae4f-13112b5c485d","status":"InProgress","startTime":"2021-03-22T04:52:44.217Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:53: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/84294fea-6f54-4ded-ae4f-13112b5c485d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"84294fea-6f54-4ded-ae4f-13112b5c485d","status":"Succeeded","startTime":"2021-03-22T04:52:44.217Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:53: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"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: - - '415' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:53: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: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "0.0.0.0"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - Content-Length: - - '72' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"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: - - '354' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Mon, 22 Mar 2021 04:53:55 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: - - '1199' + - '1198' status: code: 201 message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Sql/servers/server000002/databases/sampledb'' - under resource group ''group000001'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - cache-control: - - no-cache - content-length: - - '261' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:53:55 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": "eastus"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - Content-Length: - - '22' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"2021-03-22T04:54:03.463Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/1548b26f-b7b1-4206-b578-960c7b57e4d8?api-version=2017-10-01-preview - cache-control: - - no-cache - content-length: - - '76' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:54:02 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseOperationResults/1548b26f-b7b1-4206-b578-960c7b57e4d8?api-version=2017-10-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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/1548b26f-b7b1-4206-b578-960c7b57e4d8?api-version=2017-10-01-preview - response: - body: - string: '{"name":"1548b26f-b7b1-4206-b578-960c7b57e4d8","status":"InProgress","startTime":"2021-03-22T04:54:03.463Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:54: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/1548b26f-b7b1-4206-b578-960c7b57e4d8?api-version=2017-10-01-preview - response: - body: - string: '{"name":"1548b26f-b7b1-4206-b578-960c7b57e4d8","status":"InProgress","startTime":"2021-03-22T04:54:03.463Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:54: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/databaseAzureAsyncOperation/1548b26f-b7b1-4206-b578-960c7b57e4d8?api-version=2017-10-01-preview - response: - body: - string: '{"name":"1548b26f-b7b1-4206-b578-960c7b57e4d8","status":"Succeeded","startTime":"2021-03-22T04:54:03.463Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:54: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - 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":"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":"73c2e59a-9af2-4f02-af45-97ca1c77ebeb","creationDate":"2021-03-22T04:54:48.12Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":68719476736,"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: - - '940' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:54: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: '{"properties": {"startIpAddress": "167.220.255.51", "endIpAddress": "167.220.255.51"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - Content-Length: - - '86' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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, 22 Mar 2021 04:55:07 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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '245' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04: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: 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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '245' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04: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: 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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"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: - - '415' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55: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: - - sql up - Connection: - - keep-alive - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"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":"73c2e59a-9af2-4f02-af45-97ca1c77ebeb","creationDate":"2021-03-22T04:54:48.12Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":68719476736,"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: - - '940' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55: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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -p - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '245' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55:25 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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001","name":"group000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '245' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55:25 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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"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: - - '415' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55: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: '{"properties": {"administratorLoginPassword": "24117999-0ae8-4fa1-b764-067738d35d62"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - sql up - Connection: - - keep-alive - Content-Length: - - '86' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -p - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"2021-03-22T04:55:27.39Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/324f6340-031d-4518-a15e-7666a230496d?api-version=2015-05-01-preview - cache-control: - - no-cache - content-length: - - '73' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55:26 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverOperationResults/324f6340-031d-4518-a15e-7666a230496d?api-version=2015-05-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: - - sql up - Connection: - - keep-alive - ParameterSetName: - - -p - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group000001/providers/Microsoft.Sql/locations/eastus/serverAzureAsyncOperation/324f6340-031d-4518-a15e-7666a230496d?api-version=2015-05-01-preview - response: - body: - string: '{"name":"324f6340-031d-4518-a15e-7666a230496d","status":"Succeeded","startTime":"2021-03-22T04:55:27.39Z"}' - headers: - cache-control: - - no-cache - content-length: - - '106' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55: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 - 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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"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: - - '415' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55: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 - 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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.11.0 Azure-SDK-For-Python AZURECLI/2.21.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":"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":"73c2e59a-9af2-4f02-af45-97ca1c77ebeb","creationDate":"2021-03-22T04:54:48.12Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":68719476736,"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: - - '940' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:55: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: - - sql db show - Connection: - - keep-alive - ParameterSetName: - - -n -g -s - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-sql/0.26.0 Azure-SDK-For-Python AZURECLI/2.21.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=2020-08-01-preview - response: - body: - 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":"73c2e59a-9af2-4f02-af45-97ca1c77ebeb","creationDate":"2021-03-22T04:54:48.12Z","currentServiceObjectiveName":"GP_Gen5_2","requestedServiceObjectiveName":"GP_Gen5_2","defaultSecondaryLocation":"westus","catalogCollation":"SQL_Latin1_General_CP1_CI_AS","zoneRedundant":false,"licenseType":"LicenseIncluded","maxLogSizeBytes":68719476736,"readScale":"Disabled","currentSku":{"name":"GP_Gen5","tier":"GeneralPurpose","family":"Gen5","capacity":2},"storageAccountType":"GRS","maintenanceConfigurationId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"},"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: - - '1105' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Mar 2021 04:56: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: - - sql down - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -y --delete-group - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:56:17 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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: - - sql down - Connection: - - keep-alive - ParameterSetName: - - -y --delete-group - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:56:33 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:56:49 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:57:04 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:57:21 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:57:36 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:57:52 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:58:07 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:58:22 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:58:38 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:58:53 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:59:10 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:59:25 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:59:40 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 04:59:56 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 05:00:11 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 05:00:27 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 05:00:42 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-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.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1HUk9VUENKVkxTTjZHQkFKRVlEQzNKTDQtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 22 Mar 2021 05:00:59 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - group show - Connection: - - keep-alive - ParameterSetName: - - -n - User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group000001?api-version=2020-10-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: - - Mon, 22 Mar 2021 05:00:59 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/db-up/setup.py b/src/db-up/setup.py index ebe80740a49..c5b3133dabd 100644 --- a/src/db-up/setup.py +++ b/src/db-up/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.3" +VERSION = "0.2.4" CLASSIFIERS = [ 'Development Status :: 4 - Beta', From f89aa6d03aa4b617aac24863b2b8980fdb638723 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 12 Jul 2021 22:27:28 -0700 Subject: [PATCH 66/85] Fix invocation parameters to dotnet build. (#3632) --- src/quantum/azext_quantum/operations/job.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/quantum/azext_quantum/operations/job.py b/src/quantum/azext_quantum/operations/job.py index c0132581362..aa2d587f160 100644 --- a/src/quantum/azext_quantum/operations/job.py +++ b/src/quantum/azext_quantum/operations/job.py @@ -42,12 +42,11 @@ def build(cmd, target_id=None, project=None): args = ["dotnet", "build"] - args.append(f"-property:ExecutionTarget={target.target_id}") - if project: - args.append("--project") args.append(project) + args.append(f"-property:ExecutionTarget={target.target_id}") + logger.debug("Building project with arguments:") logger.debug(args) From d1f47565a95aff97222d0c8d838212e32adb3831 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 12 Jul 2021 22:28:31 -0700 Subject: [PATCH 67/85] Include CLI extension version info in user agent. (#3631) --- src/quantum/azext_quantum/_client_factory.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/quantum/azext_quantum/_client_factory.py b/src/quantum/azext_quantum/_client_factory.py index f5ec5b19a00..d66877f44a0 100644 --- a/src/quantum/azext_quantum/_client_factory.py +++ b/src/quantum/azext_quantum/_client_factory.py @@ -43,6 +43,8 @@ def cf_quantum_mgmt(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client from .vendored_sdks.azure_mgmt_quantum import AzureQuantumManagementClient client = get_mgmt_service_client(cli_ctx, AzureQuantumManagementClient) + # Add user agent on the management client to include extension information + client._config.user_agent_policy.add_user_agent(get_appid()) return client @@ -59,7 +61,7 @@ def cf_offerings(cli_ctx, *_): def cf_quantum(cli_ctx, subscription_id=None, resource_group_name=None, workspace_name=None, location=None): from .vendored_sdks.azure_quantum import QuantumClient creds = _get_data_credentials(cli_ctx, subscription_id) - client = QuantumClient(creds, subscription_id, resource_group_name, workspace_name, base_url=base_url(location)) + client = QuantumClient(creds, subscription_id, resource_group_name, workspace_name, base_url=base_url(location), user_agent=get_appid()) return client From 1084bdb42cf1758a5661e962c492e0fe06ec3041 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 12 Jul 2021 22:53:11 -0700 Subject: [PATCH 68/85] Add `az quantum job cancel` command to CLI extension (#3630) * Adding 'az quantum job cancel' command to CLI extension * Wait for cancellation to complete to report updated status * Remove extra space. --- src/quantum/azext_quantum/_help.py | 12 ++++++++- src/quantum/azext_quantum/commands.py | 1 + src/quantum/azext_quantum/operations/job.py | 28 ++++++++++++++++++--- 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/quantum/azext_quantum/_help.py b/src/quantum/azext_quantum/_help.py index 5778abfeb7e..f80c83b4b63 100644 --- a/src/quantum/azext_quantum/_help.py +++ b/src/quantum/azext_quantum/_help.py @@ -70,7 +70,7 @@ - name: Submit the Q# program from the current folder. text: |- az quantum job submit -g MyResourceGroup -w MyWorkspace -l MyLocation \\ - -l MyLocation --job-name MyJob + --job-name MyJob """ helps['quantum job wait'] = """ @@ -83,6 +83,16 @@ -j yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --max-poll-wait-secs 60 -o table """ +helps['quantum job cancel'] = """ + type: command + short-summary: Request to cancel a job on Azure Quantum if it hasn't completed. + examples: + - name: Cancel an Azure Quantum job by id. + text: |- + az quantum job cancel -g MyResourceGroup -w MyWorkspace -l MyLocation \\ + -j yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy +""" + helps['quantum offerings'] = """ type: group short-summary: Manage provider offerings for Azure Quantum. diff --git a/src/quantum/azext_quantum/commands.py b/src/quantum/azext_quantum/commands.py index b99e711e29c..411f28337e1 100644 --- a/src/quantum/azext_quantum/commands.py +++ b/src/quantum/azext_quantum/commands.py @@ -115,6 +115,7 @@ def load_command_table(self, _): j.command('submit', 'submit', validator=validate_workspace_and_target_info, table_transformer=transform_job) j.command('wait', 'wait', validator=validate_workspace_info, table_transformer=transform_job) j.command('output', 'output', validator=validate_workspace_info, table_transformer=transform_output) + j.command('cancel', 'cancel', validator=validate_workspace_info, table_transformer=transform_job) with self.command_group('quantum', job_ops, is_preview=True) as q: q.command('run', 'run', validator=validate_workspace_and_target_info, table_transformer=transform_output) diff --git a/src/quantum/azext_quantum/operations/job.py b/src/quantum/azext_quantum/operations/job.py index aa2d587f160..bf086815287 100644 --- a/src/quantum/azext_quantum/operations/job.py +++ b/src/quantum/azext_quantum/operations/job.py @@ -124,6 +124,10 @@ def _set_cli_version(): logger.warning("User Agent environment variable could not be set.") +def _has_completed(job): + return job.status in ("Succeeded", "Failed", "Cancelled") + + def submit(cmd, program_args, resource_group_name=None, workspace_name=None, location=None, target_id=None, project=None, job_name=None, shots=None, storage=None, no_build=False): """ @@ -230,9 +234,6 @@ def wait(cmd, job_id, resource_group_name=None, workspace_name=None, location=No """ import time - def has_completed(job): - return job.status in ("Succeeded", "Failed", "Cancelled") - info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) @@ -241,7 +242,7 @@ def has_completed(job): poll_wait = 0.2 job = client.get(job_id) - while not has_completed(job): + while not _has_completed(job): print('.', end='', flush=True) wait_indicators_used = True time.sleep(poll_wait) @@ -271,3 +272,22 @@ def run(cmd, program_args, resource_group_name=None, workspace_name=None, locati return job return output(cmd, job.id, resource_group_name, workspace_name) + + +def cancel(cmd, job_id, resource_group_name=None, workspace_name=None, location=None): + """ + Request to cancel a job on Azure Quantum if it hasn't completed. + """ + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + job = client.get(job_id) + + if _has_completed(job): + print(f"Job {job_id} has already completed with status: {job.status}.") + return + + # If the job hasn't succeeded or failed, attempt to cancel. + client.cancel(job_id) + + # Wait for the job status to complete or be reported as cancelled + return wait(cmd, job_id, info.resource_group, info.name, info.location) From 6ea6b0520b24c7f3fc7b8918110f71b24fa3bc8b Mon Sep 17 00:00:00 2001 From: t-bzhan <61817681+t-bzhan@users.noreply.github.com> Date: Tue, 13 Jul 2021 14:39:17 +0800 Subject: [PATCH 69/85] [FrontDoor] az network front-door routing-rule update: Fix unexpected configuration override when updating routing rule (#3613) Co-authored-by: Bo Zhang --- src/front-door/HISTORY.rst | 3 + src/front-door/azext_front_door/custom.py | 36 +- .../recordings/test_route_rule_basic.yaml | 1984 ++++++++++++++--- .../tests/latest/test_route_rule_scenarios.py | 88 +- src/front-door/setup.py | 2 +- 5 files changed, 1754 insertions(+), 359 deletions(-) diff --git a/src/front-door/HISTORY.rst b/src/front-door/HISTORY.rst index 733e44ce074..abf5e73dd9d 100644 --- a/src/front-door/HISTORY.rst +++ b/src/front-door/HISTORY.rst @@ -2,6 +2,9 @@ Release History =============== +1.0.16 +++++++ +* az network front-door routing-rule update: Fix unexpected configuration override when updating routing rule. 1.0.15 ++++++ diff --git a/src/front-door/azext_front_door/custom.py b/src/front-door/azext_front_door/custom.py index d8cb411e97b..cb74f1aa666 100644 --- a/src/front-door/azext_front_door/custom.py +++ b/src/front-door/azext_front_door/custom.py @@ -63,6 +63,18 @@ def _upsert_frontdoor_subresource(cmd, resource_group_name, front_door_name, col return item +def _update_cache_configuration(cache_configuration, + dynamic_compression, + query_parameter_strip_directive, + query_parameters, + cache_duration): + with UpdateContext(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) + + def list_frontdoor_resource_property(resource, prop): """ Factory method for creating list functions. """ @@ -690,16 +702,28 @@ def update_fd_routing_rule(parent, instance, item_name, frontend_endpoints=None, c.update_param('custom_forwarding_path', custom_forwarding_path, False) 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 caching is None: + # Allow caching configuration field be able to be updated individually + if hasattr(instance.route_configuration, 'cache_configuration'): + _update_cache_configuration( + instance.route_configuration.cache_configuration, + dynamic_compression, + query_parameter_strip_directive, + query_parameters, + cache_duration) + elif 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) + + _update_cache_configuration( + instance.route_configuration.cache_configuration, + dynamic_compression, + query_parameter_strip_directive, + query_parameters, + cache_duration) else: if hasattr(instance.route_configuration, 'cache_configuration'): instance.route_configuration.cache_configuration = None 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 db6984900ce..cb09584daec 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 @@ -35,15 +35,15 @@ interactions: ParameterSetName: - -g -n --backend-address User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Creating","resourceState":"Creating","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Creating","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Creating","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Creating","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Creating"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Creating","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Creating","resourceState":"Creating","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Creating","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Creating","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Creating","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Creating"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Creating","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/2e8e8f5f-5c21-41f0-b71e-4df046bd1716?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/548f4816-3d7b-40db-9144-662e60f10c4d?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -51,7 +51,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:35:59 GMT + - Fri, 09 Jul 2021 06:21:48 GMT expires: - '-1' odata-version: @@ -65,7 +65,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 201 message: Created @@ -83,9 +83,9 @@ interactions: ParameterSetName: - -g -n --backend-address User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/2e8e8f5f-5c21-41f0-b71e-4df046bd1716?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/548f4816-3d7b-40db-9144-662e60f10c4d?api-version=2020-05-01 response: body: string: '{"status":"InProgress","error":{"code":"None","message":null}}' @@ -97,7 +97,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:36:10 GMT + - Fri, 09 Jul 2021 06:21:59 GMT expires: - '-1' odata-version: @@ -131,9 +131,9 @@ interactions: ParameterSetName: - -g -n --backend-address User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/2e8e8f5f-5c21-41f0-b71e-4df046bd1716?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/548f4816-3d7b-40db-9144-662e60f10c4d?api-version=2020-05-01 response: body: string: '{"status":"Succeeded","error":{"code":"None","message":null}}' @@ -145,7 +145,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:36:40 GMT + - Fri, 09 Jul 2021 06:22:29 GMT expires: - '-1' odata-version: @@ -179,12 +179,12 @@ interactions: ParameterSetName: - -g -n --backend-address User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -193,7 +193,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:36:40 GMT + - Fri, 09 Jul 2021 06:22:29 GMT expires: - '-1' odata-version: @@ -227,12 +227,12 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -241,7 +241,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:36:41 GMT + - Fri, 09 Jul 2021 06:22:32 GMT expires: - '-1' odata-version: @@ -304,15 +304,15 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8d879472-59f3-49a0-8b04-f2b3c960d9a3?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4874befb-2a27-4078-a297-3890eff29212?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -320,11 +320,11 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:36:44 GMT + - Fri, 09 Jul 2021 06:22:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8d879472-59f3-49a0-8b04-f2b3c960d9a3/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4874befb-2a27-4078-a297-3890eff29212/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 odata-version: - '4.0' pragma: @@ -354,57 +354,9 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8d879472-59f3-49a0-8b04-f2b3c960d9a3?api-version=2020-05-01 - response: - body: - string: '{"status":"InProgress","error":{"code":"None","message":null}}' - headers: - cache-control: - - no-cache - content-length: - - '62' - content-type: - - application/json; odata.metadata=minimal; odata.streaming=true - date: - - Wed, 14 Apr 2021 05:36:54 GMT - expires: - - '-1' - odata-version: - - '4.0' - 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: - - network front-door routing-rule create - Connection: - - keep-alive - ParameterSetName: - - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns - User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/8d879472-59f3-49a0-8b04-f2b3c960d9a3?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4874befb-2a27-4078-a297-3890eff29212?api-version=2020-05-01 response: body: string: '{"status":"Succeeded","error":{"code":"None","message":null}}' @@ -416,7 +368,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:37:25 GMT + - Fri, 09 Jul 2021 06:22:45 GMT expires: - '-1' odata-version: @@ -450,12 +402,12 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --backend-pool --patterns User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -464,7 +416,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:37:25 GMT + - Fri, 09 Jul 2021 06:22:45 GMT expires: - '-1' odata-version: @@ -498,12 +450,12 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -512,7 +464,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:37:25 GMT + - Fri, 09 Jul 2021 06:22:46 GMT expires: - '-1' odata-version: @@ -577,15 +529,15 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/344e2244-9900-4242-b448-4a32fd1f23d9?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/58f9e18f-e412-41d1-b5ba-e826033c4042?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -593,11 +545,11 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:37:29 GMT + - Fri, 09 Jul 2021 06:22:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/344e2244-9900-4242-b448-4a32fd1f23d9/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/58f9e18f-e412-41d1-b5ba-e826033c4042/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 odata-version: - '4.0' pragma: @@ -627,57 +579,9 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/344e2244-9900-4242-b448-4a32fd1f23d9?api-version=2020-05-01 - response: - body: - string: '{"status":"InProgress","error":{"code":"None","message":null}}' - headers: - cache-control: - - no-cache - content-length: - - '62' - content-type: - - application/json; odata.metadata=minimal; odata.streaming=true - date: - - Wed, 14 Apr 2021 05:37:40 GMT - expires: - - '-1' - odata-version: - - '4.0' - 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: - - network front-door routing-rule update - Connection: - - keep-alive - ParameterSetName: - - -f -g -n --patterns --caching - User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/344e2244-9900-4242-b448-4a32fd1f23d9?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/58f9e18f-e412-41d1-b5ba-e826033c4042?api-version=2020-05-01 response: body: string: '{"status":"Succeeded","error":{"code":"None","message":null}}' @@ -689,7 +593,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:10 GMT + - Fri, 09 Jul 2021 06:23:02 GMT expires: - '-1' odata-version: @@ -723,12 +627,12 @@ interactions: ParameterSetName: - -f -g -n --patterns --caching User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -737,7 +641,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:10 GMT + - Fri, 09 Jul 2021 06:23:02 GMT expires: - '-1' odata-version: @@ -771,12 +675,12 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -785,7 +689,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:12 GMT + - Fri, 09 Jul 2021 06:23:03 GMT expires: - '-1' odata-version: @@ -854,15 +758,15 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/redirect1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/redirect1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d076c6eb-cc43-437a-81cd-e7a150714967?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/386fcc18-d309-476c-a2e4-2539e1bb7730?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -870,11 +774,11 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:14 GMT + - Fri, 09 Jul 2021 06:23:06 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d076c6eb-cc43-437a-81cd-e7a150714967/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/386fcc18-d309-476c-a2e4-2539e1bb7730/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 odata-version: - '4.0' pragma: @@ -886,7 +790,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 202 message: Accepted @@ -904,57 +808,9 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d076c6eb-cc43-437a-81cd-e7a150714967?api-version=2020-05-01 - response: - body: - string: '{"status":"InProgress","error":{"code":"None","message":null}}' - headers: - cache-control: - - no-cache - content-length: - - '62' - content-type: - - application/json; odata.metadata=minimal; odata.streaming=true - date: - - Wed, 14 Apr 2021 05:38:25 GMT - expires: - - '-1' - odata-version: - - '4.0' - 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: - - network front-door routing-rule create - Connection: - - keep-alive - ParameterSetName: - - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string - User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d076c6eb-cc43-437a-81cd-e7a150714967?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/386fcc18-d309-476c-a2e4-2539e1bb7730?api-version=2020-05-01 response: body: string: '{"status":"Succeeded","error":{"code":"None","message":null}}' @@ -966,7 +822,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:55 GMT + - Fri, 09 Jul 2021 06:23:17 GMT expires: - '-1' odata-version: @@ -1000,12 +856,12 @@ interactions: ParameterSetName: - -f -g -n --frontend-endpoints --route-type --custom-host --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/redirect1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/redirect1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -1014,7 +870,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:55 GMT + - Fri, 09 Jul 2021 06:23:17 GMT expires: - '-1' odata-version: @@ -1048,12 +904,12 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/redirect1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/redirect1"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -1062,7 +918,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:56 GMT + - Fri, 09 Jul 2021 06:23:19 GMT expires: - '-1' odata-version: @@ -1133,15 +989,15 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/9c8fd5a6-762c-4d24-b182-347e106f1256?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4e0205d4-d0d6-4f7d-bbda-92a69945532c?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -1149,11 +1005,11 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:38:59 GMT + - Fri, 09 Jul 2021 06:23:22 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/9c8fd5a6-762c-4d24-b182-347e106f1256/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4e0205d4-d0d6-4f7d-bbda-92a69945532c/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 odata-version: - '4.0' pragma: @@ -1165,7 +1021,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 202 message: Accepted @@ -1183,57 +1039,9 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/9c8fd5a6-762c-4d24-b182-347e106f1256?api-version=2020-05-01 - response: - body: - string: '{"status":"InProgress","error":{"code":"None","message":null}}' - headers: - cache-control: - - no-cache - content-length: - - '62' - content-type: - - application/json; odata.metadata=minimal; odata.streaming=true - date: - - Wed, 14 Apr 2021 05:39:09 GMT - expires: - - '-1' - odata-version: - - '4.0' - 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: - - network front-door routing-rule update - Connection: - - keep-alive - ParameterSetName: - - -f -g -n --patterns --custom-query-string - User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/9c8fd5a6-762c-4d24-b182-347e106f1256?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/4e0205d4-d0d6-4f7d-bbda-92a69945532c?api-version=2020-05-01 response: body: string: '{"status":"Succeeded","error":{"code":"None","message":null}}' @@ -1245,7 +1053,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:39:39 GMT + - Fri, 09 Jul 2021 06:23:32 GMT expires: - '-1' odata-version: @@ -1279,60 +1087,12 @@ interactions: ParameterSetName: - -f -g -n --patterns --custom-query-string User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 - response: - body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' - headers: - cache-control: - - no-cache - content-length: - - '7181' - content-type: - - application/json; odata.metadata=minimal; odata.streaming=true - date: - - Wed, 14 Apr 2021 05:39:40 GMT - expires: - - '-1' - odata-version: - - '4.0' - 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: - - network front-door routing-rule list - Connection: - - keep-alive - ParameterSetName: - - -f -g - User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -1341,7 +1101,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:39:41 GMT + - Fri, 09 Jul 2021 06:23:33 GMT expires: - '-1' odata-version: @@ -1369,18 +1129,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network front-door routing-rule delete + - network front-door routing-rule create Connection: - keep-alive ParameterSetName: - - -f -g -n + - -f -g -n --frontend-endpoints --route-type --patterns --backend-pool --caching + --query-parameter-strip-directive --query-parameters --cache-duration User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache @@ -1389,7 +1150,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:39:42 GMT + - Fri, 09 Jul 2021 06:23:34 GMT expires: - '-1' odata-version: @@ -1421,7 +1182,18 @@ interactions: "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward2"], "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", "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"}}}}], + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2", + "name": "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": + "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "redirecthost.com", + "customPath": "", "customQueryString": "querystring2"}}}, {"name": "rule3", + "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward4"], "enabledState": + "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "cacheConfiguration": {"queryParameterStripDirective": "StripAllExcept", "queryParameters": + "ak=1,sk=2", "cacheDuration": "P1DT1H1M1S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}], "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", @@ -1444,37 +1216,38 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network front-door routing-rule delete + - network front-door routing-rule create Connection: - keep-alive Content-Length: - - '4819' + - '6626' Content-Type: - application/json ParameterSetName: - - -f -g -n + - -f -g -n --frontend-endpoints --route-type --patterns --backend-pool --caching + --query-parameter-strip-directive --query-parameters --cache-duration User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/11a9c04e-3112-41dd-bf0e-581e84fe6065?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/63c18f2f-fa94-4224-9616-b9db935f6305?api-version=2020-05-01 cache-control: - no-cache content-length: - - '6156' + - '8529' content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:39:44 GMT + - Fri, 09 Jul 2021 06:23:36 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/11a9c04e-3112-41dd-bf0e-581e84fe6065/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/63c18f2f-fa94-4224-9616-b9db935f6305/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 odata-version: - '4.0' pragma: @@ -1486,7 +1259,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 202 message: Accepted @@ -1498,27 +1271,28 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network front-door routing-rule delete + - network front-door routing-rule create Connection: - keep-alive ParameterSetName: - - -f -g -n + - -f -g -n --frontend-endpoints --route-type --patterns --backend-pool --caching + --query-parameter-strip-directive --query-parameters --cache-duration User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/11a9c04e-3112-41dd-bf0e-581e84fe6065?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/63c18f2f-fa94-4224-9616-b9db935f6305?api-version=2020-05-01 response: body: - string: '{"status":"InProgress","error":{"code":"None","message":null}}' + string: '{"status":"Succeeded","error":{"code":"None","message":null}}' headers: cache-control: - no-cache content-length: - - '62' + - '61' content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:39:55 GMT + - Fri, 09 Jul 2021 06:23:47 GMT expires: - '-1' odata-version: @@ -1538,6 +1312,1291 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule create + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --frontend-endpoints --route-type --patterns --backend-pool --caching + --query-parameter-strip-directive --query-parameters --cache-duration + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '8529' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:23:48 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --patterns + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '8529' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:23:49 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1", + "name": "rule1", "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", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2", + "name": "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": + "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "redirecthost.com", + "customPath": "", "customQueryString": "querystring2"}}}, {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3", + "name": "rule3", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward5", "/forward4"], + "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripAllExcept", "queryParameters": "ak=1,sk=2", "dynamicCompression": "Enabled", + "cacheDuration": "P1DT1H1M1S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + Content-Length: + - '6941' + Content-Type: + - application/json + ParameterSetName: + - -f -g -n --patterns + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/eba2ba1c-8e6d-49b7-aae6-c0114cdf13e3?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '8541' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:23:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/eba2ba1c-8e6d-49b7-aae6-c0114cdf13e3/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Kestrel + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --patterns + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/eba2ba1c-8e6d-49b7-aae6-c0114cdf13e3?api-version=2020-05-01 + response: + body: + string: '{"status":"Succeeded","error":{"code":"None","message":null}}' + headers: + cache-control: + - no-cache + content-length: + - '61' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:02 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --patterns + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '8541' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:03 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door rules-engine rule create + Connection: + - keep-alive + ParameterSetName: + - -f -g --rules-engine-name --name --priority --action-type --header-action + --header-name --header-value --match-variable --operator --match-values --transforms + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/rule000003?api-version=2020-05-01 + response: + body: + string: '{"error":{"code":"NotFound","message":"The requested resource was not + found."}}' + headers: + cache-control: + - no-cache + content-length: + - '79' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 09 Jul 2021 06:24:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"rules": [{"name": "ruleengine1", "priority": 1, "action": + {"requestHeaderActions": [{"headerActionType": "Overwrite", "headerName": "Rewrite", + "value": "True"}], "responseHeaderActions": []}, "matchConditions": [{"rulesEngineMatchVariable": + "RequestFilenameExtension", "rulesEngineOperator": "Contains", "rulesEngineMatchValue": + ["jpg", "png"], "transforms": ["Lowercase"]}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door rules-engine rule create + Connection: + - keep-alive + Content-Length: + - '395' + Content-Type: + - application/json + ParameterSetName: + - -f -g --rules-engine-name --name --priority --action-type --header-action + --header-name --header-value --match-variable --operator --match-values --transforms + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002/rulesEngines/rule000003?api-version=2020-05-01 + response: + body: + string: '{"name":"rule000003","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003","type":"Microsoft.Network/frontdoors/rulesengines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}' + headers: + cache-control: + - no-cache + content-length: + - '962' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:06 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --rules-engine + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9503' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:07 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1", + "name": "rule1", "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", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2", + "name": "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": + "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "redirecthost.com", + "customPath": "", "customQueryString": "querystring2"}}}, {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3", + "name": "rule3", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward5", "/forward4"], + "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripAllExcept", "queryParameters": "ak=1,sk=2", "dynamicCompression": "Enabled", + "cacheDuration": "P1DT1H1M1S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, + "rulesEngine": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + Content-Length: + - '7204' + Content-Type: + - application/json + ParameterSetName: + - -f -g -n --rules-engine + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"},"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/93a0591d-6f03-4e60-a2df-eab2277c47b3?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '9744' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/93a0591d-6f03-4e60-a2df-eab2277c47b3/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --rules-engine + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/93a0591d-6f03-4e60-a2df-eab2277c47b3?api-version=2020-05-01 + response: + body: + string: '{"status":"Succeeded","error":{"code":"None","message":null}}' + headers: + cache-control: + - no-cache + content-length: + - '61' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:21 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --rules-engine + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"},"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9744' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:21 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --query-parameters + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=1,sk=2","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"},"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9744' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:23 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1", + "name": "rule1", "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", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2", + "name": "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": + "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "redirecthost.com", + "customPath": "", "customQueryString": "querystring2"}}}, {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3", + "name": "rule3", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward5", "/forward4"], + "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripAllExcept", "queryParameters": "ak=2,sk=3", "dynamicCompression": "Enabled", + "cacheDuration": "P1DT1H1M1S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}, + "rulesEngine": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + Content-Length: + - '7204' + Content-Type: + - application/json + ParameterSetName: + - -f -g -n --query-parameters + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=2,sk=3","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"},"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/101d4b90-773a-4757-90e4-d5daeca1b887?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '9744' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/101d4b90-773a-4757-90e4-d5daeca1b887/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Kestrel + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --query-parameters + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/101d4b90-773a-4757-90e4-d5daeca1b887?api-version=2020-05-01 + response: + body: + string: '{"status":"Succeeded","error":{"code":"None","message":null}}' + headers: + cache-control: + - no-cache + content-length: + - '61' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:37 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --query-parameters + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=2,sk=3","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"},"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9744' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:37 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --remove --dynamic-compression + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=2,sk=3","dynamicCompression":"Enabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/rulesengines/rule000003"},"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9744' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:39 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1", + "name": "rule1", "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", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2", + "name": "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": + "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "redirecthost.com", + "customPath": "", "customQueryString": "querystring2"}}}, {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3", + "name": "rule3", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/forward5", "/forward4"], + "enabledState": "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "forwardingProtocol": "MatchRequest", "cacheConfiguration": {"queryParameterStripDirective": + "StripAllExcept", "queryParameters": "ak=2,sk=3", "dynamicCompression": "Disabled", + "cacheDuration": "P1DT1H1M1S"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + Content-Length: + - '6942' + Content-Type: + - application/json + ParameterSetName: + - -f -g -n --remove --dynamic-compression + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=2,sk=3","dynamicCompression":"Disabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d3142a70-86fa-479e-affd-6b2f74b67616?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '9504' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d3142a70-86fa-479e-affd-6b2f74b67616/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --remove --dynamic-compression + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/d3142a70-86fa-479e-affd-6b2f74b67616?api-version=2020-05-01 + response: + body: + string: '{"status":"Succeeded","error":{"code":"None","message":null}}' + headers: + cache-control: + - no-cache + content-length: + - '61' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:53 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule update + Connection: + - keep-alive + ParameterSetName: + - -f -g -n --remove --dynamic-compression + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=2,sk=3","dynamicCompression":"Disabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9504' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:54 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule list + Connection: + - keep-alive + ParameterSetName: + - -f -g + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=2,sk=3","dynamicCompression":"Disabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9504' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:54 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule delete + Connection: + - keep-alive + ParameterSetName: + - -f -g -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule3","name":"rule3","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward5","/forward4"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripAllExcept","queryParameters":"ak=2,sk=3","dynamicCompression":"Disabled","cacheDuration":"P1DT1H1M1S"},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '9504' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:55 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1", + "name": "rule1", "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", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule2", + "name": "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": + "Enabled", "routeConfiguration": {"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", "redirectProtocol": "MatchRequest", "customHost": "redirecthost.com", + "customPath": "", "customQueryString": "querystring2"}}}], "loadBalancingSettings": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule delete + Connection: + - keep-alive + Content-Length: + - '5713' + Content-Type: + - application/json + ParameterSetName: + - -f -g -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/cec77dc2-d01a-4521-ba0e-09e49ce94527?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '8143' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:24:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/cec77dc2-d01a-4521-ba0e-09e49ce94527/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Kestrel + 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: @@ -1552,9 +2611,9 @@ interactions: ParameterSetName: - -f -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/11a9c04e-3112-41dd-bf0e-581e84fe6065?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/cec77dc2-d01a-4521-ba0e-09e49ce94527?api-version=2020-05-01 response: body: string: '{"status":"Succeeded","error":{"code":"None","message":null}}' @@ -1566,7 +2625,7 @@ interactions: content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:40:25 GMT + - Fri, 09 Jul 2021 06:25:09 GMT expires: - '-1' odata-version: @@ -1600,21 +2659,246 @@ interactions: ParameterSetName: - -f -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache content-length: - - '6156' + - '8143' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:25:10 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule delete + Connection: + - keep-alive + ParameterSetName: + - -f -g -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"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":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward3"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customFragment":null,"customHost":"redirecthost.com","customPath":"","redirectProtocol":"MatchRequest","customQueryString":"querystring2","redirectType":"Moved","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '8143' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:25:11 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: '{"location": "Global", "tags": {}, "properties": {"friendlyName": "clifrontdoor000002", + "routingRules": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule", + "name": "DefaultRoutingRule", "properties": {"frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}], + "acceptedProtocols": ["Http"], "patternsToMatch": ["/*"], "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"}}}}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1", + "name": "rule1", "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", "cacheConfiguration": {"queryParameterStripDirective": + "StripNone", "dynamicCompression": "Enabled"}, "backendPool": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}}}}], + "loadBalancingSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings", + "name": "DefaultLoadBalancingSettings", "properties": {"sampleSize": 4, "successfulSamplesRequired": + 2, "additionalLatencyMilliseconds": 0}}], "healthProbeSettings": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings", + "name": "DefaultProbeSettings", "properties": {"path": "/", "protocol": "Https", + "intervalInSeconds": 30, "healthProbeMethod": "Head", "enabledState": "Enabled"}}], + "backendPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool", + "name": "DefaultBackendPool", "properties": {"backends": [{"address": "202.120.2.3", + "httpPort": 80, "httpsPort": 443, "enabledState": "Enabled", "priority": 1, + "weight": 50, "backendHostHeader": "202.120.2.3"}], "loadBalancingSettings": + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}, + "healthProbeSettings": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"}}}], + "frontendEndpoints": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint", + "name": "DefaultFrontendEndpoint", "properties": {"hostName": "clifrontdoor000002.azurefd.net", + "sessionAffinityEnabledState": "Disabled", "sessionAffinityTtlSeconds": 0}}], + "backendPoolsSettings": {"enforceCertificateNameCheck": "Enabled", "sendRecvTimeoutSeconds": + 30}, "enabledState": "Enabled"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule delete + Connection: + - keep-alive + Content-Length: + - '4819' + Content-Type: + - application/json + ParameterSetName: + - -f -g -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/430c3268-1765-49e7-83e4-ac2639ae0688?api-version=2020-05-01 + cache-control: + - no-cache + content-length: + - '7118' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:25:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/430c3268-1765-49e7-83e4-ac2639ae0688/frontdoorresults/clifrontdoor000002?api-version=2020-05-01 + odata-version: + - '4.0' + pragma: + - no-cache + server: + - Kestrel + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network front-door routing-rule delete + Connection: + - keep-alive + ParameterSetName: + - -f -g -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdooroperationresults/430c3268-1765-49e7-83e4-ac2639ae0688?api-version=2020-05-01 + response: + body: + string: '{"status":"Succeeded","error":{"code":"None","message":null}}' + headers: + cache-control: + - no-cache + content-length: + - '61' + content-type: + - application/json; odata.metadata=minimal; odata.streaming=true + date: + - Fri, 09 Jul 2021 06:25:25 GMT + expires: + - '-1' + odata-version: + - '4.0' + 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: + - network front-door routing-rule delete + Connection: + - keep-alive + ParameterSetName: + - -f -g -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 + response: + body: + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + headers: + cache-control: + - no-cache + content-length: + - '7118' content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:40:25 GMT + - Fri, 09 Jul 2021 06:25:25 GMT expires: - '-1' odata-version: @@ -1648,21 +2932,21 @@ interactions: ParameterSetName: - -f -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache content-length: - - '6156' + - '7118' content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:40:27 GMT + - Fri, 09 Jul 2021 06:25:27 GMT expires: - '-1' odata-version: @@ -1696,21 +2980,21 @@ interactions: ParameterSetName: - -f -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.26.0 azsdk-python-mgmt-frontdoor/1.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontDoors/clifrontdoor000002?api-version=2020-05-01 response: body: - string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"78aba90b-7ec3-46c1-970e-db2933d0b2c6","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' + string: '{"name":"clifrontdoor000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002","type":"Microsoft.Network/frontdoors","location":"Global","tags":{},"properties":{"provisioningState":"Succeeded","resourceState":"Enabled","enabledState":"Enabled","cName":"clifrontdoor000002.azurefd.net","frontdoorId":"33dfcdce-70c8-4212-ab2b-cd214744a71a","friendlyName":"clifrontdoor000002","backendPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/BackendPools/DefaultBackendPool","name":"DefaultBackendPool","type":"Microsoft.Network/Frontdoors/BackendPools","properties":{"resourceState":"Enabled","backends":[{"address":"202.120.2.3","httpPort":80,"httpsPort":443,"priority":1,"weight":50,"backendHostHeader":"202.120.2.3","enabledState":"Enabled","privateLinkAlias":null,"privateLinkApprovalMessage":null,"privateLinkResourceId":null,"privateLinkLocation":null,"privateEndpointStatus":null}],"healthProbeSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/healthProbeSettings/DefaultProbeSettings"},"loadBalancingSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/loadBalancingSettings/DefaultLoadBalancingSettings"}}}],"healthProbeSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/HealthProbeSettings/DefaultProbeSettings","name":"DefaultProbeSettings","type":"Microsoft.Network/Frontdoors/HealthProbeSettings","properties":{"intervalInSeconds":30,"path":"/","protocol":"Https","resourceState":"Enabled","enabledState":"Enabled","healthProbeMethod":"Head"}}],"frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/FrontendEndpoints/DefaultFrontendEndpoint","name":"DefaultFrontendEndpoint","type":"Microsoft.Network/Frontdoors/FrontendEndpoints","properties":{"hostName":"clifrontdoor000002.azurefd.net","sessionAffinityEnabledState":"Disabled","sessionAffinityTtlSeconds":0,"customHttpsProvisioningState":null,"customHttpsProvisioningSubstate":null,"resourceState":"Enabled","webApplicationFirewallPolicyLink":null,"customHttpsConfiguration":null}}],"loadBalancingSettings":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/LoadBalancingSettings/DefaultLoadBalancingSettings","name":"DefaultLoadBalancingSettings","type":"Microsoft.Network/Frontdoors/LoadBalancingSettings","properties":{"additionalLatencyMilliseconds":0,"sampleSize":4,"successfulSamplesRequired":2,"resourceState":"Enabled"}}],"rulesEngines":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RulesEngines/rule000003","name":"rule000003","type":"Microsoft.Network/Frontdoors/RulesEngines","properties":{"name":"rule000003","resourceGroup":"clitest.rg000001","resourceState":"Enabled","rules":[{"priority":1,"name":"ruleengine1","matchProcessingBehavior":null,"action":{"name":null,"requestHeaderActions":[{"headerActionType":"Overwrite","headerName":"Rewrite","value":"True"}],"responseHeaderActions":[],"routeConfigurationOverride":null},"matchConditions":[{"rulesEngineMatchValue":["jpg","png"],"rulesEngineMatchVariable":"RequestFilenameExtension","rulesEngineOperator":"Contains","transforms":["Lowercase"],"negateCondition":false,"selector":null}]}]}}],"routingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/DefaultRoutingRule","name":"DefaultRoutingRule","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/*"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":null,"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/RoutingRules/rule1","name":"rule1","type":"Microsoft.Network/Frontdoors/RoutingRules","properties":{"acceptedProtocols":["Http"],"patternsToMatch":["/forward2"],"enabledState":"Enabled","resourceState":"Enabled","frontendEndpoints":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/frontendEndpoints/DefaultFrontendEndpoint"}],"routeConfiguration":{"customForwardingPath":null,"forwardingProtocol":"MatchRequest","@odata.type":"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","cacheConfiguration":{"queryParameterStripDirective":"StripNone","queryParameters":null,"dynamicCompression":"Enabled","cacheDuration":null},"backendPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/Frontdoors/clifrontdoor000002/backendPools/DefaultBackendPool"}},"rulesEngine":null,"webApplicationFirewallPolicyLink":null}}],"backendPoolsSettings":{"enforceCertificateNameCheck":"Enabled","sendRecvTimeoutSeconds":30}}}' headers: cache-control: - no-cache content-length: - - '6156' + - '7118' content-type: - application/json; odata.metadata=minimal; odata.streaming=true date: - - Wed, 14 Apr 2021 05:40:28 GMT + - Fri, 09 Jul 2021 06:25:28 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 aeceb57deff..962a9f14d28 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 @@ -12,7 +12,10 @@ def test_route_rule_basic(self, resource_group): self.kwargs.update({ 'front_door': self.create_random_name('clifrontdoor', 20), 'rule1': 'rule1', - 'rule2': 'rule2' + 'rule2': 'rule2', + 'rule3': 'rule3', + 'rules_engine': self.create_random_name('rule', 20), + 'ruleengine1': 'ruleengine1' }) self.cmd('network front-door create -g {rg} -n {front_door} --backend-address 202.120.2.3') self.cmd('network front-door routing-rule create -f {front_door} -g {rg} -n {rule1} ' @@ -35,10 +38,91 @@ def test_route_rule_basic(self, resource_group): self.check('patternsToMatch[0]', '/forward3'), self.check('routeConfiguration.customQueryString', 'querystring2') ]) + + # Check rule engine update + self.cmd('network front-door routing-rule create -f {front_door} -g {rg} -n {rule3} ' + '--frontend-endpoints DefaultFrontendEndpoint --route-type Forward ' + '--patterns /forward4 --backend-pool DefaultBackendPool ' + '--caching Enabled --query-parameter-strip-directive StripAllExcept --query-parameters ak=1,sk=2 ' + '--cache-duration P1DT1H1M1S') + + self.cmd('network front-door routing-rule update -f {front_door} -g {rg} -n {rule3} ' + '--patterns /forward5 /forward4', + checks=[ + self.check('patternsToMatch[0]', '/forward5'), + self.check('patternsToMatch[1]', '/forward4'), + self.check('routeConfiguration.cacheConfiguration.queryParameterStripDirective', 'StripAllExcept'), + self.check('routeConfiguration.cacheConfiguration.queryParameters', 'ak=1,sk=2'), + self.check('routeConfiguration.cacheConfiguration.dynamicCompression', 'Enabled') + ]) + + # Create a rule engine + rule_engine_id = self.cmd('network front-door rules-engine rule create -f {front_door} -g {rg} ' + '--rules-engine-name {rules_engine} --name {ruleengine1} --priority 1 ' + '--action-type RequestHeader --header-action Overwrite --header-name Rewrite ' + '--header-value True --match-variable RequestFilenameExtension --operator Contains ' + '--match-values jpg png --transforms Lowercase', + checks=[ + self.check('length(rules)', 1), + self.check('length(rules[0].action.requestHeaderActions)', 1), + self.check('rules[0].action.requestHeaderActions[0].headerActionType', 'Overwrite'), + self.check('rules[0].action.requestHeaderActions[0].headerName', 'Rewrite'), + self.check('rules[0].action.requestHeaderActions[0].value', 'True'), + self.check('length(rules[0].matchConditions)', 1), + self.check('rules[0].matchConditions[0].rulesEngineMatchVariable', 'RequestFilenameExtension'), + self.check('rules[0].matchConditions[0].rulesEngineOperator', 'Contains'), + self.check('rules[0].matchConditions[0].rulesEngineMatchValue', ['jpg', 'png']), + self.check('rules[0].matchConditions[0].negateCondition', False), + self.check('rules[0].matchConditions[0].selector', None), + self.check('rules[0].matchConditions[0].transforms', ['Lowercase']), + self.check('rules[0].matchProcessingBehavior', None), + self.check('rules[0].priority', 1) + ]).get_output_in_json()["id"] + + # Update rule enginer configuration for routing rule. + # Other properties should not be changed by accident. + self.cmd(f'network front-door routing-rule update -f {self.kwargs["front_door"]} -g {self.kwargs["rg"]} -n {self.kwargs["rule3"]} ' + f'--rules-engine {rule_engine_id}', + checks=[ + self.check('patternsToMatch[0]', '/forward5'), + self.check('patternsToMatch[1]', '/forward4'), + self.check('rulesEngine.id', rule_engine_id), + self.check('routeConfiguration.cacheConfiguration.queryParameterStripDirective', 'StripAllExcept'), + self.check('routeConfiguration.cacheConfiguration.queryParameters', 'ak=1,sk=2'), + self.check('routeConfiguration.cacheConfiguration.dynamicCompression', 'Enabled') + ]) + + # Caching configuration field should also be able to be updated individually + self.cmd('network front-door routing-rule update -f {front_door} -g {rg} -n {rule3} ' + '--query-parameters ak=2,sk=3', + checks=[ + self.check('patternsToMatch[0]', '/forward5'), + self.check('patternsToMatch[1]', '/forward4'), + self.check('rulesEngine.id', rule_engine_id), + self.check('routeConfiguration.cacheConfiguration.queryParameterStripDirective', 'StripAllExcept'), + self.check('routeConfiguration.cacheConfiguration.queryParameters', 'ak=2,sk=3'), + self.check('routeConfiguration.cacheConfiguration.dynamicCompression', 'Enabled') + ]) + + # Dissociate rule enginer with routing rule + self.cmd('network front-door routing-rule update -f {front_door} -g {rg} -n {rule3} ' + '--remove rulesEngine --dynamic-compression Disabled', + checks=[ + self.check('patternsToMatch[0]', '/forward5'), + self.check('patternsToMatch[1]', '/forward4'), + self.check('rulesEngine', None), + self.check('routeConfiguration.cacheConfiguration.queryParameterStripDirective', 'StripAllExcept'), + self.check('routeConfiguration.cacheConfiguration.queryParameters', 'ak=2,sk=3'), + self.check('routeConfiguration.cacheConfiguration.dynamicCompression', 'Disabled') + ]) + + # Default routing rule should also be counted self.cmd('network front-door routing-rule list -f {front_door} -g {rg} ', checks=[ - self.check('length(@)', 3), + self.check('length(@)', 4), ]) + + self.cmd('network front-door routing-rule delete -f {front_door} -g {rg} -n {rule3} ') self.cmd('network front-door routing-rule delete -f {front_door} -g {rg} -n {rule2} ') self.cmd('network front-door routing-rule list -f {front_door} -g {rg} ', checks=[ diff --git a/src/front-door/setup.py b/src/front-door/setup.py index e9da57dd3f2..336911f67af 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.15" +VERSION = "1.0.16" CLASSIFIERS = [ 'Development Status :: 4 - Beta', From 5f3c91560447a33d779084e22351a252381afdfb Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Tue, 13 Jul 2021 14:58:30 +0800 Subject: [PATCH 70/85] add missing help for top level command group (#3547) * add missing help * Update setup.py * Update src/dnc/azext_dnc/manual/_help.py * Update src/guestconfig/azext_guestconfig/manual/_help.py * Update src/healthcareapis/azext_healthcareapis/manual/_help.py * Update src/logic/azext_logic/manual/_help.py * Update src/portal/azext_portal/manual/_help.py * Update src/securityinsight/azext_sentinel/manual/_help.py * Update src/stack-hci/azext_stack_hci/manual/_help.py * fix linter issues --- src/account/azext_account/__init__.py | 4 ++++ src/automation/azext_automation/manual/_help.py | 5 +++++ src/automation/setup.py | 2 +- src/blockchain/azext_blockchain/__init__.py | 4 ++++ src/blockchain/azext_blockchain/manual/_help.py | 13 +++++++++++++ src/blockchain/setup.py | 2 +- .../azext_cosmosdb_preview/_help.py | 5 +++++ src/cosmosdb-preview/setup.py | 2 +- .../azext_custom_providers/_help.py | 4 ++++ src/custom-providers/setup.py | 2 +- src/databox/azext_databox/_help.py | 4 ++++ src/databox/setup.py | 2 +- src/datadog/azext_datadog/manual/_help.py | 12 ++++++++++++ src/datadog/setup.py | 2 +- .../azext_desktopvirtualization/__init__.py | 4 ++++ .../azext_desktopvirtualization/manual/_help.py | 12 ++++++++++++ src/desktopvirtualization/setup.py | 2 +- src/dnc/azext_dnc/manual/_help.py | 12 ++++++++++++ src/footprint/azext_footprint/manual/_help.py | 4 ++++ src/footprint/setup.py | 2 +- src/guestconfig/azext_guestconfig/__init__.py | 4 ++++ src/guestconfig/azext_guestconfig/manual/_help.py | 12 ++++++++++++ src/guestconfig/setup.py | 2 +- .../azext_hardware_security_modules/__init__.py | 4 ++++ .../azext_healthcareapis/manual/_help.py | 12 ++++++++++++ src/healthcareapis/setup.py | 2 +- src/import-export/azext_import_export/__init__.py | 4 ++++ src/logic/azext_logic/__init__.py | 4 ++++ src/logic/azext_logic/manual/_help.py | 12 ++++++++++++ src/logic/setup.py | 2 +- src/maintenance/azext_maintenance/manual/_help.py | 12 ++++++++++++ src/maintenance/setup.py | 2 +- src/peering/azext_peering/__init__.py | 4 ++++ src/portal/azext_portal/__init__.py | 6 +++++- src/portal/azext_portal/manual/__init__.py | 12 ++++++++++++ src/portal/azext_portal/manual/_help.py | 12 ++++++++++++ src/portal/setup.py | 2 +- src/providerhub/setup.py | 2 +- src/securityinsight/azext_sentinel/manual/_help.py | 12 ++++++++++++ src/securityinsight/setup.py | 2 +- src/stack-hci/azext_stack_hci/__init__.py | 4 ++++ src/stack-hci/azext_stack_hci/manual/_help.py | 12 ++++++++++++ src/stack-hci/setup.py | 2 +- 43 files changed, 224 insertions(+), 17 deletions(-) create mode 100644 src/blockchain/azext_blockchain/manual/_help.py create mode 100644 src/datadog/azext_datadog/manual/_help.py create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/manual/_help.py create mode 100644 src/dnc/azext_dnc/manual/_help.py create mode 100644 src/guestconfig/azext_guestconfig/manual/_help.py create mode 100644 src/healthcareapis/azext_healthcareapis/manual/_help.py create mode 100644 src/logic/azext_logic/manual/_help.py create mode 100644 src/maintenance/azext_maintenance/manual/_help.py create mode 100644 src/portal/azext_portal/manual/__init__.py create mode 100644 src/portal/azext_portal/manual/_help.py create mode 100644 src/securityinsight/azext_sentinel/manual/_help.py create mode 100644 src/stack-hci/azext_stack_hci/manual/_help.py diff --git a/src/account/azext_account/__init__.py b/src/account/azext_account/__init__.py index 6d41a06806a..1c735a02214 100644 --- a/src/account/azext_account/__init__.py +++ b/src/account/azext_account/__init__.py @@ -5,6 +5,10 @@ from azure.cli.core import AzCommandsLoader from azext_account.generated._help import helps # pylint: disable=unused-import +try: + from azext_account.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class SubscriptionClientCommandsLoader(AzCommandsLoader): diff --git a/src/automation/azext_automation/manual/_help.py b/src/automation/azext_automation/manual/_help.py index 249af3d3265..1d0a9ed9a00 100644 --- a/src/automation/azext_automation/manual/_help.py +++ b/src/automation/azext_automation/manual/_help.py @@ -7,6 +7,11 @@ from knack.help_files import helps +helps['automation'] = """ + type: group + short-summary: Manage Automation +""" + helps['automation account'] = """ type: group short-summary: Automation Account diff --git a/src/automation/setup.py b/src/automation/setup.py index 4b4bc12566f..7940b5d4b06 100644 --- a/src/automation/setup.py +++ b/src/automation/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' try: from azext_automation.manual.version import VERSION except ImportError: diff --git a/src/blockchain/azext_blockchain/__init__.py b/src/blockchain/azext_blockchain/__init__.py index 661492f2bbc..143b01da4dd 100644 --- a/src/blockchain/azext_blockchain/__init__.py +++ b/src/blockchain/azext_blockchain/__init__.py @@ -10,6 +10,10 @@ from azure.cli.core import AzCommandsLoader from azext_blockchain.generated._help import helps # pylint: disable=unused-import +try: + from azext_blockchain.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class BlockchainManagementClientCommandsLoader(AzCommandsLoader): diff --git a/src/blockchain/azext_blockchain/manual/_help.py b/src/blockchain/azext_blockchain/manual/_help.py new file mode 100644 index 00000000000..8e6021b993c --- /dev/null +++ b/src/blockchain/azext_blockchain/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['blockchain'] = """ + type: group + short-summary: Manage blockchain +""" diff --git a/src/blockchain/setup.py b/src/blockchain/setup.py index 25866d26486..98efd847178 100644 --- a/src/blockchain/setup.py +++ b/src/blockchain/setup.py @@ -11,7 +11,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py index 6827962b9e4..2ac390fb937 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py @@ -146,6 +146,11 @@ short-summary: List all the databases and its collections that can be restored in the given account at the given timesamp and region. """ +helps['managed-cassandra'] = """ +type: group +short-summary: Azure Managed Cassandra. +""" + helps['managed-cassandra cluster'] = """ type: group short-summary: Azure Managed Cassandra Cluster. diff --git a/src/cosmosdb-preview/setup.py b/src/cosmosdb-preview/setup.py index e7d4a6f1f4c..4703ddbd331 100644 --- a/src/cosmosdb-preview/setup.py +++ b/src/cosmosdb-preview/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.8.0' +VERSION = '0.8.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/custom-providers/azext_custom_providers/_help.py b/src/custom-providers/azext_custom_providers/_help.py index 5709cbf6eb2..888c6688f26 100644 --- a/src/custom-providers/azext_custom_providers/_help.py +++ b/src/custom-providers/azext_custom_providers/_help.py @@ -8,6 +8,10 @@ # pylint: disable=line-too-long from knack.help_files import helps # pylint: disable=unused-import +helps['custom-providers'] = """ +type: group +short-summary: Commands to manage custom providers. +""" helps['custom-providers resource-provider'] = """ type: group diff --git a/src/custom-providers/setup.py b/src/custom-providers/setup.py index 7f6654f3377..62002b23f54 100644 --- a/src/custom-providers/setup.py +++ b/src/custom-providers/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.0' +VERSION = '0.2.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/databox/azext_databox/_help.py b/src/databox/azext_databox/_help.py index 0c8d9cad8f8..ff8468658c7 100644 --- a/src/databox/azext_databox/_help.py +++ b/src/databox/azext_databox/_help.py @@ -8,6 +8,10 @@ # pylint: disable=line-too-long from knack.help_files import helps # pylint: disable=unused-import +helps['databox'] = """ + type: group + short-summary: Manage databox. +""" helps['databox job'] = """ type: group diff --git a/src/databox/setup.py b/src/databox/setup.py index 84deeb4b6e6..065d917f533 100644 --- a/src/databox/setup.py +++ b/src/databox/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.2' +VERSION = '0.1.3' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/datadog/azext_datadog/manual/_help.py b/src/datadog/azext_datadog/manual/_help.py new file mode 100644 index 00000000000..f1e238ac40c --- /dev/null +++ b/src/datadog/azext_datadog/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['datadog'] = """ + type: group + short-summary: Manage datadog +""" diff --git a/src/datadog/setup.py b/src/datadog/setup.py index d25f729fc1f..f97db8e8399 100644 --- a/src/datadog/setup.py +++ b/src/datadog/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' try: from azext_datadog.manual.version import VERSION except ImportError: diff --git a/src/desktopvirtualization/azext_desktopvirtualization/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/__init__.py index abb688f1d18..9ce6b976062 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/__init__.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/__init__.py @@ -10,6 +10,10 @@ from azure.cli.core import AzCommandsLoader from azext_desktopvirtualization.generated._help import helps # pylint: disable=unused-import +try: + from azext_desktopvirtualization.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class DesktopVirtualizationAPIClientCommandsLoader(AzCommandsLoader): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/manual/_help.py b/src/desktopvirtualization/azext_desktopvirtualization/manual/_help.py new file mode 100644 index 00000000000..bd331c2d7c3 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['desktopvirtualization'] = """ + type: group + short-summary: Manage desktop virtualization +""" diff --git a/src/desktopvirtualization/setup.py b/src/desktopvirtualization/setup.py index 2c2a532e47a..c5769d749c6 100644 --- a/src/desktopvirtualization/setup.py +++ b/src/desktopvirtualization/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' try: from .manual.version import VERSION except ImportError: diff --git a/src/dnc/azext_dnc/manual/_help.py b/src/dnc/azext_dnc/manual/_help.py new file mode 100644 index 00000000000..0716ba31f74 --- /dev/null +++ b/src/dnc/azext_dnc/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['dnc'] = """ + type: group + short-summary: Manage Delegated Network +""" diff --git a/src/footprint/azext_footprint/manual/_help.py b/src/footprint/azext_footprint/manual/_help.py index 140072303eb..bbe77dc5e7b 100644 --- a/src/footprint/azext_footprint/manual/_help.py +++ b/src/footprint/azext_footprint/manual/_help.py @@ -11,6 +11,10 @@ from knack.help_files import helps +helps['footprint'] = """ + type: group + short-summary: Manage Footprint. +""" helps['footprint profile'] = """ type: group diff --git a/src/footprint/setup.py b/src/footprint/setup.py index b6d1f6f2031..427accf3c32 100644 --- a/src/footprint/setup.py +++ b/src/footprint/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '1.0.0' try: from azext_footprint.manual.version import VERSION except ImportError: diff --git a/src/guestconfig/azext_guestconfig/__init__.py b/src/guestconfig/azext_guestconfig/__init__.py index 011b2bd1059..43c43ce567d 100644 --- a/src/guestconfig/azext_guestconfig/__init__.py +++ b/src/guestconfig/azext_guestconfig/__init__.py @@ -10,6 +10,10 @@ from azure.cli.core import AzCommandsLoader from azext_guestconfig.generated._help import helps # pylint: disable=unused-import +try: + from azext_guestconfig.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class GuestConfigurationClientCommandsLoader(AzCommandsLoader): diff --git a/src/guestconfig/azext_guestconfig/manual/_help.py b/src/guestconfig/azext_guestconfig/manual/_help.py new file mode 100644 index 00000000000..98f77bdf4ee --- /dev/null +++ b/src/guestconfig/azext_guestconfig/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['guestconfig'] = """ + type: group + short-summary: Manage Guest Configuration +""" diff --git a/src/guestconfig/setup.py b/src/guestconfig/setup.py index 8ee5f27a54f..a796c185b60 100644 --- a/src/guestconfig/setup.py +++ b/src/guestconfig/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' try: from .manual.version import VERSION except ImportError: diff --git a/src/hardware-security-modules/azext_hardware_security_modules/__init__.py b/src/hardware-security-modules/azext_hardware_security_modules/__init__.py index 0645a0a708d..f34f691701c 100644 --- a/src/hardware-security-modules/azext_hardware_security_modules/__init__.py +++ b/src/hardware-security-modules/azext_hardware_security_modules/__init__.py @@ -10,6 +10,10 @@ from azure.cli.core import AzCommandsLoader from azext_hardware_security_modules.generated._help import helps # pylint: disable=unused-import +try: + from azext_hardware_security_modules.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class AzureDedicatedHSMResourceProviderCommandsLoader(AzCommandsLoader): diff --git a/src/healthcareapis/azext_healthcareapis/manual/_help.py b/src/healthcareapis/azext_healthcareapis/manual/_help.py new file mode 100644 index 00000000000..af75a8987e5 --- /dev/null +++ b/src/healthcareapis/azext_healthcareapis/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['healthcareapis'] = """ + type: group + short-summary: Manage Healthcare Apis +""" diff --git a/src/healthcareapis/setup.py b/src/healthcareapis/setup.py index fe38d2bf532..23b376acafd 100644 --- a/src/healthcareapis/setup.py +++ b/src/healthcareapis/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.3.3' +VERSION = '0.3.4' try: from azext_healthcareapis.manual.version import VERSION except ImportError: diff --git a/src/import-export/azext_import_export/__init__.py b/src/import-export/azext_import_export/__init__.py index 3832f03c25c..4d13da22215 100644 --- a/src/import-export/azext_import_export/__init__.py +++ b/src/import-export/azext_import_export/__init__.py @@ -5,6 +5,10 @@ from azure.cli.core import AzCommandsLoader from .generated._help import helps # pylint: disable=unused-import +try: + from .manual._help import helps # pylint: disable=reimported +except ImportError: + pass class ImportExportCommandsLoader(AzCommandsLoader): diff --git a/src/logic/azext_logic/__init__.py b/src/logic/azext_logic/__init__.py index b41bafda354..8796c8add9b 100644 --- a/src/logic/azext_logic/__init__.py +++ b/src/logic/azext_logic/__init__.py @@ -5,6 +5,10 @@ from azure.cli.core import AzCommandsLoader from azext_logic.generated._help import helps # pylint: disable=unused-import +try: + from azext_logic.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class LogicManagementClientCommandsLoader(AzCommandsLoader): diff --git a/src/logic/azext_logic/manual/_help.py b/src/logic/azext_logic/manual/_help.py new file mode 100644 index 00000000000..06b7af80a21 --- /dev/null +++ b/src/logic/azext_logic/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['logic'] = """ + type: group + short-summary: Manage Logic +""" diff --git a/src/logic/setup.py b/src/logic/setup.py index e28fe182837..9531649e402 100644 --- a/src/logic/setup.py +++ b/src/logic/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.3' +VERSION = '0.1.4' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/maintenance/azext_maintenance/manual/_help.py b/src/maintenance/azext_maintenance/manual/_help.py new file mode 100644 index 00000000000..19c976844e4 --- /dev/null +++ b/src/maintenance/azext_maintenance/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['maintenance'] = """ + type: group + short-summary: Manage Maintenance +""" diff --git a/src/maintenance/setup.py b/src/maintenance/setup.py index 2c1fc7e337a..0b0e67403d9 100644 --- a/src/maintenance/setup.py +++ b/src/maintenance/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '1.2.0' +VERSION = '1.2.1' try: from azext_maintenance.manual.version import VERSION except ImportError: diff --git a/src/peering/azext_peering/__init__.py b/src/peering/azext_peering/__init__.py index 854e946b3f9..d7e214191fe 100644 --- a/src/peering/azext_peering/__init__.py +++ b/src/peering/azext_peering/__init__.py @@ -10,6 +10,10 @@ from azure.cli.core import AzCommandsLoader from azext_peering.generated._help import helps # pylint: disable=unused-import +try: + from azext_peering.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class PeeringManagementClientCommandsLoader(AzCommandsLoader): diff --git a/src/portal/azext_portal/__init__.py b/src/portal/azext_portal/__init__.py index aa06a723e75..92e4a5821f2 100644 --- a/src/portal/azext_portal/__init__.py +++ b/src/portal/azext_portal/__init__.py @@ -4,7 +4,11 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader -from .generated._help import helps # pylint: disable=unused-import +from azext_portal.generated._help import helps # pylint: disable=unused-import +try: + from azext_portal.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class PortalCommandsLoader(AzCommandsLoader): diff --git a/src/portal/azext_portal/manual/__init__.py b/src/portal/azext_portal/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/portal/azext_portal/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/portal/azext_portal/manual/_help.py b/src/portal/azext_portal/manual/_help.py new file mode 100644 index 00000000000..0c8be6fd4d3 --- /dev/null +++ b/src/portal/azext_portal/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['portal'] = """ + type: group + short-summary: Manage Portal +""" diff --git a/src/portal/setup.py b/src/portal/setup.py index 3e4dc5dd0fe..1d0801fbece 100644 --- a/src/portal/setup.py +++ b/src/portal/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.1' +VERSION = '0.1.2' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/providerhub/setup.py b/src/providerhub/setup.py index 1b478c7517c..40c44f931dd 100644 --- a/src/providerhub/setup.py +++ b/src/providerhub/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.2.0' try: from azext_providerhub.manual.version import VERSION except ImportError: diff --git a/src/securityinsight/azext_sentinel/manual/_help.py b/src/securityinsight/azext_sentinel/manual/_help.py new file mode 100644 index 00000000000..f72dfc067dd --- /dev/null +++ b/src/securityinsight/azext_sentinel/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['sentinel'] = """ + type: group + short-summary: Manage Security Insight +""" diff --git a/src/securityinsight/setup.py b/src/securityinsight/setup.py index ee9e18c7003..90474e79782 100644 --- a/src/securityinsight/setup.py +++ b/src/securityinsight/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' try: from azext_sentinel.manual.version import VERSION except ImportError: diff --git a/src/stack-hci/azext_stack_hci/__init__.py b/src/stack-hci/azext_stack_hci/__init__.py index 5c84badb797..d5d11780868 100644 --- a/src/stack-hci/azext_stack_hci/__init__.py +++ b/src/stack-hci/azext_stack_hci/__init__.py @@ -10,6 +10,10 @@ from azure.cli.core import AzCommandsLoader from azext_stack_hci.generated._help import helps # pylint: disable=unused-import +try: + from azext_stack_hci.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class AzureStackHCIClientCommandsLoader(AzCommandsLoader): diff --git a/src/stack-hci/azext_stack_hci/manual/_help.py b/src/stack-hci/azext_stack_hci/manual/_help.py new file mode 100644 index 00000000000..faad4c836fd --- /dev/null +++ b/src/stack-hci/azext_stack_hci/manual/_help.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=too-many-lines + +from knack.help_files import helps + +helps['stack-hci'] = """ + type: group + short-summary: Manage Azure Stack HCI +""" diff --git a/src/stack-hci/setup.py b/src/stack-hci/setup.py index 897d975eff4..cd9cf70785b 100644 --- a/src/stack-hci/setup.py +++ b/src/stack-hci/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.3' +VERSION = '0.1.4' try: from .manual.version import VERSION except ImportError: From c12661e2db8ee5fb7b2e5ac8180f3b4b8fbb932b Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 13 Jul 2021 15:00:10 +0800 Subject: [PATCH 71/85] [Release] Update index.json for extension [ front-door ] (#3637) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=995829 Last commit: https://github.com/Azure/azure-cli-extensions/commit/6ea6b0520b24c7f3fc7b8918110f71b24fa3bc8b --- src/index.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/index.json b/src/index.json index e38c879c785..0e4b57adbfc 100644 --- a/src/index.json +++ b/src/index.json @@ -11014,6 +11014,48 @@ "version": "1.0.15" }, "sha256Digest": "8673a26f16f0d5b96f217d69f1f2c7588105c56c7e5e53c9a1f6f36b7d9edcff" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-1.0.16-py3-none-any.whl", + "filename": "front_door-1.0.16-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.16" + }, + "sha256Digest": "49727e1a4e61e74763c3905e4b9b5cfee8baa3ef4be628ccb6cf7e6a8d08ce1b" } ], "fzf": [ From ce8db20965192520692393f7e01528df2786d9bb Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 13 Jul 2021 16:31:56 +0800 Subject: [PATCH 72/85] [Release] Update index.json for extension [ datadog ] [ databox ] [ portal ] [ blockchain ] [ stack-hci ] [ custom-providers ] [ cosmosdb-preview ] [ automation ] [ securityinsight ] [ healthcareapis ] [ guestconfig ] [ logic ] [ desktopvirtualization ] [ maintenance ] [ providerhub ] (#3638) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=995853 Last commit: https://github.com/Azure/azure-cli-extensions/commit/5f3c91560447a33d779084e22351a252381afdfb --- src/index.json | 666 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 654 insertions(+), 12 deletions(-) diff --git a/src/index.json b/src/index.json index 0e4b57adbfc..7ab4b99f6d1 100644 --- a/src/index.json +++ b/src/index.json @@ -4194,6 +4194,49 @@ "version": "0.1.0" }, "sha256Digest": "779f996ffab9fd76438d8938216fcbeb6f9aecad3a23bd2097731182607e4d7a" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-0.1.1-py3-none-any.whl", + "filename": "automation-0.1.1-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.13.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/tree/master/src/automation" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "automation", + "summary": "Microsoft Azure Command-Line Tools AutomationClient Extension", + "version": "0.1.1" + }, + "sha256Digest": "99640d86e3596a806ea2eca6b8f67f02fea74951ffa0606bff60fbfc88da7d6e" } ], "azure-batch-cli-extensions": [ @@ -5685,6 +5728,49 @@ "version": "0.1.0" }, "sha256Digest": "ba0001dffaf39d133604c4281ed9c943f178a16a91d31f5889bf1587d9871049" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/blockchain-0.1.1-py3-none-any.whl", + "filename": "blockchain-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/tree/master/src/blockchain" + } + } + }, + "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.1" + }, + "sha256Digest": "95a4788ab10052f6c1b4122db6ab140705db528e5cb3db3358580d703a2a7204" } ], "blueprint": [ @@ -7821,6 +7907,49 @@ "version": "0.8.0" }, "sha256Digest": "513b9683ef78ddb6316ed2d8b41f64f6e6278ae169aa3d5735c061108b40ec78" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.8.1-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.8.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.17.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": "kakhandr@microsoft.com", + "name": "Kalyan khandrika", + "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": "cosmosdb-preview", + "summary": "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension", + "version": "0.8.1" + }, + "sha256Digest": "12dcc1e32460d12bf62cf3f5aa67f519dc0f48a4a7d70e36c52b24d50f7cd251" } ], "costmanagement": [ @@ -8043,6 +8172,49 @@ "version": "0.2.0" }, "sha256Digest": "8c0f062d96523bd6a95d53f09e48f9d47bf7aa75a9b735e93e6ee09647638b52" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/custom_providers-0.2.1-py2.py3-none-any.whl", + "filename": "custom_providers-0.2.1-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/tree/master/src/custom-providers" + } + } + }, + "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.2.1" + }, + "sha256Digest": "a9938f09c86fa4575e3c887206908cac15920af528c537c0b998362a1c43daf7" } ], "customlocation": [ @@ -8309,6 +8481,50 @@ "version": "0.1.2" }, "sha256Digest": "e247449406a189a8e9bbe320b1b4702846cf58da42b5a9b07ffa3e1db01ce6b0" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/databox-0.1.3-py2.py3-none-any.whl", + "filename": "databox-0.1.3-py2.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.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/tree/master/src/databox" + } + } + }, + "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.3" + }, + "sha256Digest": "320e4ae8e3d17c9ca8b6c92ad47b04f20d7530340897d2fcc6e4a4ade0dfa7c2" } ], "databricks": [ @@ -8740,6 +8956,49 @@ "version": "0.1.0" }, "sha256Digest": "9a5e9535e797f59059d07fcfb4dd456541d0813f97dae344180f76e279265086" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/datadog-0.1.1-py3-none-any.whl", + "filename": "datadog-0.1.1-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.17.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/tree/master/src/datadog" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datadog", + "summary": "Microsoft Azure Command-Line Tools MicrosoftDatadogClient Extension", + "version": "0.1.1" + }, + "sha256Digest": "9a38fd5d6d01646f299ee7b5f68e82ad708889c7d0bd72e0b6b6b13e5455e937" } ], "datafactory": [ @@ -9564,6 +9823,49 @@ "version": "0.1.0" }, "sha256Digest": "d73c88fe0df98871a221495e000c39fbb22975fdc5066668c9ea0f578ff9a1a9" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/desktopvirtualization-0.1.1-py3-none-any.whl", + "filename": "desktopvirtualization-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/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.1" + }, + "sha256Digest": "8f35a96234e9c456b81f3dd086c6d7f20a9c49104cb3b277357aa9d697a02b0e" } ], "dev-spaces": [ @@ -11148,6 +11450,49 @@ "version": "0.1.0" }, "sha256Digest": "0cf21ef88d49458157dae77e5bb25dfdfff8c12e76d15a19d468b408f4ab61c5" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/guestconfig-0.1.1-py3-none-any.whl", + "filename": "guestconfig-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/tree/master/src/guestconfig" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "guestconfig", + "summary": "Microsoft Azure Command-Line Tools GuestConfigurationClient Extension", + "version": "0.1.1" + }, + "sha256Digest": "94836a5d21ee1071cd40b163d2c80c32a6a81b9dc85d91371f7e4fb35141e273" } ], "hardware-security-modules": [ @@ -11357,8 +11702,50 @@ "sha256Digest": "6dcb79765e87026db4f6e09f4a85e9d6a523fb9928a5586c3cb5e16cc1e1f3be" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.1-py3-none-any.whl", - "filename": "healthcareapis-0.3.1-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.1-py3-none-any.whl", + "filename": "healthcareapis-0.3.1-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.11.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/tree/master/src/healthcareapis" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "healthcareapis", + "summary": "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension", + "version": "0.3.1" + }, + "sha256Digest": "c1804f41528fdfb2ccc355a3a7e28c961fb1a783c767d855b886db0483897e33" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.2-py3-none-any.whl", + "filename": "healthcareapis-0.3.2-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.11.0", "classifiers": [ @@ -11394,13 +11781,13 @@ "metadata_version": "2.0", "name": "healthcareapis", "summary": "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension", - "version": "0.3.1" + "version": "0.3.2" }, - "sha256Digest": "c1804f41528fdfb2ccc355a3a7e28c961fb1a783c767d855b886db0483897e33" + "sha256Digest": "950fcd15946023adb8e2d7f7eb7d8a856ccf497f0ec2265225ece0df3663c285" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.2-py3-none-any.whl", - "filename": "healthcareapis-0.3.2-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.3-py3-none-any.whl", + "filename": "healthcareapis-0.3.3-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.11.0", "classifiers": [ @@ -11436,13 +11823,13 @@ "metadata_version": "2.0", "name": "healthcareapis", "summary": "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension", - "version": "0.3.2" + "version": "0.3.3" }, - "sha256Digest": "950fcd15946023adb8e2d7f7eb7d8a856ccf497f0ec2265225ece0df3663c285" + "sha256Digest": "0a19a8d24aa9676a6ed141c7199696af6d784662f68d576c423707a82d4ff2d2" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.3-py3-none-any.whl", - "filename": "healthcareapis-0.3.3-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.4-py3-none-any.whl", + "filename": "healthcareapis-0.3.4-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.11.0", "classifiers": [ @@ -11478,9 +11865,9 @@ "metadata_version": "2.0", "name": "healthcareapis", "summary": "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension", - "version": "0.3.3" + "version": "0.3.4" }, - "sha256Digest": "0a19a8d24aa9676a6ed141c7199696af6d784662f68d576c423707a82d4ff2d2" + "sha256Digest": "d19fd5392f54db314a0be4db52dc2092d0cd802c7353e6c40cccfd31958fa320" } ], "hpc-cache": [ @@ -13807,6 +14194,49 @@ "version": "0.1.3" }, "sha256Digest": "38a1e8285fa8ad34632094b749aa1bea703440c946f01fc546306b8e934f389a" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/logic-0.1.4-py3-none-any.whl", + "filename": "logic-0.1.4-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.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/tree/master/src/logic" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "logic", + "summary": "Microsoft Azure Command-Line Tools LogicManagementClient Extension", + "version": "0.1.4" + }, + "sha256Digest": "e350fb81e4f2f6758a77814afebf8a71b4cdcac951142d703da15ca92ab7ca87" } ], "maintenance": [ @@ -13938,6 +14368,48 @@ "version": "1.2.0" }, "sha256Digest": "a0108efeddb6228788b878801f3c08c2b68d2df4ff8cc9d5043f1a0a9c2923b1" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/maintenance-1.2.1-py3-none-any.whl", + "filename": "maintenance-1.2.1-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.15.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/tree/master/src/maintenance" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "maintenance", + "summary": "Microsoft Azure Command-Line Tools MaintenanceClient Extension", + "version": "1.2.1" + }, + "sha256Digest": "b93b0fa34c06fd4df9cef92446d8c61cc5a142ee1fae6e697aa77894959c1044" } ], "managementpartner": [ @@ -15114,6 +15586,49 @@ "version": "0.1.1" }, "sha256Digest": "a3fc71fd6f0390850a60947cc1bff31d6346fc3f79e3ac8947add577c10c31a3" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/portal-0.1.2-py3-none-any.whl", + "filename": "portal-0.1.2-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/portal" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "portal", + "summary": "Microsoft Azure Command-Line Tools Portal Extension", + "version": "0.1.2" + }, + "sha256Digest": "0e09b913c7b691496f46a131e608dcc1d37fc887c900d16ac87ec6a4c1e0b646" } ], "powerbidedicated": [ @@ -15299,6 +15814,49 @@ "version": "0.1.0" }, "sha256Digest": "9385d61fe18f10c379e7a7c57a1ded34dd0f5b15bcf021777e4d51d288b703fe" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/providerhub-0.2.0-py3-none-any.whl", + "filename": "providerhub-0.2.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.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/tree/master/src/providerhub" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "providerhub", + "summary": "Microsoft Azure Command-Line Tools ProviderHub Extension", + "version": "0.2.0" + }, + "sha256Digest": "9cda8fed546254987e5c5f872b4119105796c89de8d65d385638dac155bdf01e" } ], "quantum": [ @@ -16402,6 +16960,48 @@ "version": "0.1.0" }, "sha256Digest": "0c0de10af8cc7c91704dc29afa2bc178f18bf4e28612d6d0c5d7c594bd05d4c9" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/sentinel-0.1.1-py3-none-any.whl", + "filename": "sentinel-0.1.1-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.11.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/tree/master/src/sentinel" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "sentinel", + "summary": "Microsoft Azure Command-Line Tools SecurityInsights Extension", + "version": "0.1.1" + }, + "sha256Digest": "407f23c06a7bd6e1200f108abcd0127904334d9813ccae8df8fc3e63b3eaa97f" } ], "spring-cloud": [ @@ -18102,6 +18702,48 @@ "version": "0.1.3" }, "sha256Digest": "c47cafffa1b541dd9e42100339ed4d22184a22974c804641a7e5adba4a756ba1" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci-0.1.4-py3-none-any.whl", + "filename": "stack_hci-0.1.4-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/tree/master/src/stack-hci" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "stack-hci", + "summary": "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension", + "version": "0.1.4" + }, + "sha256Digest": "2da335cae454c13cd02d8bf54ba2131f42998a35f619f7ba3937e9f93d592c29" } ], "storage-blob-preview": [ From 68d7feb85bafe2d3c08f956bdb85706c16b7671e Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Tue, 13 Jul 2021 17:00:47 +0800 Subject: [PATCH 73/85] {storage-preview} Fix issue 3618: Fix jwt issue (#3621) --- src/storage-preview/azext_storage_preview/azcopy/util.py | 2 +- src/storage-preview/azext_storage_preview/azext_metadata.json | 2 +- src/storage-preview/setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/storage-preview/azext_storage_preview/azcopy/util.py b/src/storage-preview/azext_storage_preview/azcopy/util.py index 4ab49534fad..961657a568b 100644 --- a/src/storage-preview/azext_storage_preview/azcopy/util.py +++ b/src/storage-preview/azext_storage_preview/azcopy/util.py @@ -102,7 +102,7 @@ def _unserialize_non_msi_token_payload(token_info): import jwt # pylint: disable=import-error parsed_authority = urlparse(token_info['_authority']) - decode = jwt.decode(token_info['accessToken'], verify=False, algorithms=['RS256']) + decode = jwt.decode(token_info['accessToken'], algorithms=['RS256'], options={"verify_signature": False}) return { 'access_token': token_info['accessToken'], 'refresh_token': token_info['refreshToken'], diff --git a/src/storage-preview/azext_storage_preview/azext_metadata.json b/src/storage-preview/azext_storage_preview/azext_metadata.json index e310afc836c..58e216f2f17 100644 --- a/src/storage-preview/azext_storage_preview/azext_metadata.json +++ b/src/storage-preview/azext_storage_preview/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.minCliCoreVersion": "2.21.0", + "azext.minCliCoreVersion": "2.25.0", "azext.isPreview": true } \ No newline at end of file diff --git a/src/storage-preview/setup.py b/src/storage-preview/setup.py index 264d07437d8..45849051d00 100644 --- a/src/storage-preview/setup.py +++ b/src/storage-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.7.3" +VERSION = "0.7.4" CLASSIFIERS = [ 'Development Status :: 4 - Beta', From 89cf49d01373b058d5a128bd344ba5bdb32055bd Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 14 Jul 2021 09:51:27 +0800 Subject: [PATCH 74/85] [Release] Update index.json for extension [ storage-preview ] (#3640) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=996023 Last commit: https://github.com/Azure/azure-cli-extensions/commit/68d7feb85bafe2d3c08f956bdb85706c16b7671e --- src/index.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/index.json b/src/index.json index 7ab4b99f6d1..0e29ae7dd2f 100644 --- a/src/index.json +++ b/src/index.json @@ -19644,6 +19644,59 @@ "version": "0.7.3" }, "sha256Digest": "ec0e700f8ba51eca45198d5907d056780946e0b5ffa593d264598679e949dcb1" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_preview-0.7.4-py2.py3-none-any.whl", + "filename": "storage_preview-0.7.4-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.25.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", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "storage-preview", + "run_requires": [ + { + "requires": [ + "azure-core" + ] + } + ], + "summary": "Provides a preview for upcoming storage features.", + "version": "0.7.4" + }, + "sha256Digest": "eede880e897e6fbfb7e631b91ee23b35229c1dbcefb5785279809d53a4568a87" } ], "storagesync": [ From 42c228afb7f87aa8443d1e402802e22942ba85a0 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Wed, 14 Jul 2021 11:08:01 +0800 Subject: [PATCH 75/85] {AKS} Fix AKS live test pipeline (#3625) * fix test_aks_nodepool_get_upgrades * add re-recording mode * fix options * fix options * fix recording coverage * update storage config * fix filter & add mock for generate ssh * * remove unnecessary @live_only tags * complete missing --generate-ssh-keys options in create cmds * revert storage migration --- .../azcli_aks_live_test/scripts/setup_venv.sh | 4 +- .../scripts/test_cli_live.sh | 49 +- .../scripts/test_ext_live.sh | 49 +- .../scripts/transcribe_env.sh | 3 + ...ate_aadv1_and_update_with_managed_aad.yaml | 1991 ++++------------- ...ks_create_and_update_with_managed_aad.yaml | 766 ++++--- ...te_nonaad_and_update_with_managed_aad.yaml | 1944 ++++------------ .../recordings/test_aks_enable_utlra_ssd.yaml | 606 +++++ .../recordings/test_aks_stop_and_start.yaml | 1727 +++----------- .../test_aks_update_to_msi_cluster.yaml | 702 +++--- .../tests/latest/test_aks_commands.py | 43 +- 11 files changed, 2688 insertions(+), 5196 deletions(-) create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml diff --git a/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh index 0a48cdc951c..632a020afc5 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh @@ -67,8 +67,8 @@ installAZAKSTOOLFromLocal(){ installAZAKSTOOL(){ wheel_file="az_aks_tool-latest-py3-none-any.whl" wheel_url="https://akspreview.blob.core.windows.net/azakstool/${wheel_file}" - curl -sLO ${wheel_url} - installAZAKSTOOLFromLocal ${wheel_file} + curl -sLO "${wheel_url}" + installAZAKSTOOLFromLocal "${wheel_file}" } # need to be executed in a venv with kusto related modules installed diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh index 466e981f873..b0575dd0daf 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh @@ -24,34 +24,40 @@ source azEnv/bin/activate source ./scripts/setup_venv.sh removeAKSPreview -# prepare run flags -run_flags="-c --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" +# prepare running options +# base options +base_options="-c --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" # parallel if [[ ${PARALLELISM} -ge 2 ]]; then - run_flags+=" -j ${PARALLELISM}" + base_options+=" -j ${PARALLELISM}" else - run_flags+=" -s" + base_options+=" -s" fi + +# filter options +filter_options="" # cli matrix if [[ -n ${CLI_TEST_MATRIX} ]]; then - run_flags+=" -cm ./configs/${CLI_TEST_MATRIX}" + filter_options+=" -cm ./configs/${CLI_TEST_MATRIX}" fi # cli extra filter if [[ -n ${CLI_TEST_FILTER} ]]; then - run_flags+=" -cf ${CLI_TEST_FILTER}" + filter_options+=" -cf ${CLI_TEST_FILTER}" fi # cli extra coverage if [[ -n ${CLI_TEST_COVERAGE} ]]; then - run_flags+=" -cc ${CLI_TEST_COVERAGE}" + filter_options+=" -cc ${CLI_TEST_COVERAGE}" fi # recording test if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then - echo "Test in record mode!" - run_flags+=" --json-report-file=cli_report.json" - run_flags+=" --xml-file=cli_result.xml" - echo "run flags: ${run_flags}" - azaks ${run_flags} + echo "Test in recording mode!" + coverage_options=" -cc test_aks_commands.AzureKubernetesServiceScenarioTest" + recording_options="${base_options}${coverage_options}" + recording_options+=" --json-report-file=cli_recording_report.json" + recording_options+=" --xml-file=cli_recording_result.xml" + echo "recording options: ${recording_options}" + azaks ${recording_options} fi # live test @@ -60,8 +66,19 @@ if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then az login --service-principal -u "${AZCLI_ALT_CLIENT_ID}" -p "${AZCLI_ALT_CLIENT_SECRET}" -t "${TENANT_ID}" az account set -s "${AZCLI_ALT_SUBSCRIPTION_ID}" az account show - run_flags+=" -l --json-report-file=cli_live_report.json" - run_flags+=" --xml-file=cli_live_result.xml" - echo "run flags: ${run_flags}" - azaks ${run_flags} + live_options="${base_options}${filter_options}" + live_options+=" -l --json-report-file=cli_live_report.json" + live_options+=" --xml-file=cli_live_result.xml" + echo "live options: ${live_options}" + azaks ${live_options} +fi + +# re-recording test +if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then + echo "Test in re-recording mode(after live test)!" + re_recording_options="${base_options}${filter_options}" + re_recording_options+=" --json-report-file=cli_re_recording_report.json" + re_recording_options+=" --xml-file=cli_re_recording_result.xml" + echo "re-recording options: ${re_recording_options}" + azaks ${re_recording_options} fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh index ebf07068e65..ad6f51f30ef 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh @@ -23,34 +23,40 @@ source azEnv/bin/activate # setup aks-preview ./scripts/setup_venv.sh setup-akspreview -# prepare run flags -run_flags="-e --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" +# prepare running options +# base options +base_options="-e --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" # parallel if [[ ${PARALLELISM} -ge 2 ]]; then - run_flags+=" -j ${PARALLELISM}" + base_options+=" -j ${PARALLELISM}" else - run_flags+=" -s" + base_options+=" -s" fi + +# filter options +filter_options="" # ext matrix if [[ -n ${EXT_TEST_MATRIX} ]]; then - run_flags+=" -em ./configs/${EXT_TEST_MATRIX}" + filter_options+=" -em ./configs/${EXT_TEST_MATRIX}" fi # ext extra filter if [[ -n ${EXT_TEST_FILTER} ]]; then - run_flags+=" -ef ${EXT_TEST_FILTER}" + filter_options+=" -ef ${EXT_TEST_FILTER}" fi # ext extra coverage if [[ -n ${EXT_TEST_COVERAGE} ]]; then - run_flags+=" -ec ${EXT_TEST_COVERAGE}" + filter_options+=" -ec ${EXT_TEST_COVERAGE}" fi # recording test if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then - echo "Test in record mode!" - run_flags+=" --json-report-file=ext_report.json" - run_flags+=" --xml-file=ext_result.xml" - echo "run flags: ${run_flags}" - azaks ${run_flags} + echo "Test in recording mode!" + coverage_options=" -ec test_aks_commands.AzureKubernetesServiceScenarioTest" + recording_options="${base_options}${coverage_options}" + recording_options+=" --json-report-file=ext_recording_report.json" + recording_options+=" --xml-file=ext_recording_result.xml" + echo "recording options: ${recording_options}" + azaks ${recording_options} fi # live test @@ -59,8 +65,19 @@ if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then az login --service-principal -u "${AZCLI_ALT_CLIENT_ID}" -p "${AZCLI_ALT_CLIENT_SECRET}" -t "${TENANT_ID}" az account set -s "${AZCLI_ALT_SUBSCRIPTION_ID}" az account show - run_flags+=" -l --json-report-file=ext_live_report.json" - run_flags+=" --xml-file=ext_live_result.xml" - echo "run flags: ${run_flags}" - azaks ${run_flags} + live_options="${base_options}${filter_options}" + live_options+=" -l --json-report-file=ext_live_report.json" + live_options+=" --xml-file=ext_live_result.xml" + echo "live options: ${live_options}" + azaks ${live_options} +fi + +# re-recording test +if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then + echo "Test in re-recording mode(after live test)!" + re_recording_options="${base_options}${filter_options}" + re_recording_options+=" --json-report-file=ext_re_recording_report.json" + re_recording_options+=" --xml-file=ext_re_recording_result.xml" + echo "re-recording options: ${re_recording_options}" + azaks ${re_recording_options} fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh b/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh index 8e18c380cfd..caa9a4e618f 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh @@ -8,12 +8,15 @@ set -o xtrace # check var # from variable group +# client id, secret and tenant id of sp 'azcli-aks-live-test' [[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) [[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) [[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) +# basic ubuntu image with python3 pre-installed, hosted on some container registry [[ -z "${IMAGE_PREFIX}" ]] && (echo "IMAGE_PREFIX is empty"; exit 1) [[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) [[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) +# specify the version of python3 [[ -z "${PYTHON_VERSION}" ]] && (echo "PYTHON_VERSION is empty"; exit 1) # from azure devops diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml index ecfffd78b9e..8150abacf6d 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml @@ -14,24 +14,21 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-resource/10.1.0 Azure-SDK-For-Python AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"canadacentral","tags":{"product":"azurecli","cause":"automation","date":"2020-07-29T08:33:29Z"},"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":"2021-07-12T10:56:45Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '319' + - '313' content-type: - application/json; charset=utf-8 date: - - Wed, 29 Jul 2020 08:33:29 GMT + - Mon, 12 Jul 2021 10:56:47 GMT expires: - '-1' pragma: @@ -46,19 +43,21 @@ interactions: code: 200 message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitestf75gdxugb-79a739", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ"}]}}, + "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": "standard"}, "aadProfile": {"clientAppID": "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}, + "disableLocalAccounts": false}, "location": "westus2"}' headers: Accept: - application/json @@ -69,1039 +68,64 @@ interactions: Connection: - keep-alive Content-Length: - - '1435' + - '1534' Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:31 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:37 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: - - '1198' - status: - code: 400 - message: Bad Request -- request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:42 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:47 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:52 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: - - '1198' - status: - code: 400 - message: Bad Request -- request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:58 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:03 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:08 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:14 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:20 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:25 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:31 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:35 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:41 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:48 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' - headers: - Accept: - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" - headers: + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestf75gdxugb-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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 \"aadProfile\": + {\n \"adminGroupObjectIDs\": null,\n \"clientAppID\": \"00000000-0000-0000-0000-000000000002\",\n + \ \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n \"tenantID\": + \"d5b55040-0c14-48cc-a028-91457fc190d9\"\n },\n \"maxAgentPools\": 100,\n + \ \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 cache-control: - no-cache content-length: - - '221' + - '2923' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:54 GMT + - Mon, 12 Jul 2021 10:56:57 GMT expires: - '-1' pragma: @@ -1113,62 +137,42 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: - code: 400 - message: Bad Request + code: 201 + message: Created - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:58 GMT + - Mon, 12 Jul 2021 10:57:26 GMT expires: - '-1' pragma: @@ -1177,65 +181,47 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:04 GMT + - Mon, 12 Jul 2021 10:57:57 GMT expires: - '-1' pragma: @@ -1244,65 +230,47 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:08 GMT + - Mon, 12 Jul 2021 10:58:27 GMT expires: - '-1' pragma: @@ -1311,65 +279,47 @@ interactions: - 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: - - '1198' status: - code: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:13 GMT + - Mon, 12 Jul 2021 10:58:56 GMT expires: - '-1' pragma: @@ -1378,65 +328,47 @@ interactions: - 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: - - '1198' status: - code: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:18 GMT + - Mon, 12 Jul 2021 10:59:27 GMT expires: - '-1' pragma: @@ -1445,65 +377,47 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:23 GMT + - Mon, 12 Jul 2021 10:59:57 GMT expires: - '-1' pragma: @@ -1512,65 +426,47 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:29 GMT + - Mon, 12 Jul 2021 11:00:27 GMT expires: - '-1' pragma: @@ -1579,65 +475,48 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/270beb9b-f6ad-422c-9392-d776f74f7cac?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"9beb0b27-adf6-2c42-9392-d776f74f7cac\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:56:56.7166666Z\",\n \"endTime\": + \"2021-07-12T11:00:29.2336103Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '170' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:35 GMT + - Mon, 12 Jul 2021 11:00:58 GMT expires: - '-1' pragma: @@ -1646,65 +525,83 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestf75gdxugb-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b514c445-694d-4bdc-bbfc-e788a697a006\"\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 \"adminGroupObjectIDs\": null,\n \"clientAppID\": \"00000000-0000-0000-0000-000000000002\",\n + \ \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n \"tenantID\": + \"d5b55040-0c14-48cc-a028-91457fc190d9\"\n },\n \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '221' + - '3586' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:41 GMT + - Mon, 12 Jul 2021 11:00:58 GMT expires: - '-1' pragma: @@ -1713,65 +610,83 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestf75gdxugb-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b514c445-694d-4bdc-bbfc-e788a697a006\"\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 \"adminGroupObjectIDs\": null,\n \"clientAppID\": \"00000000-0000-0000-0000-000000000002\",\n + \ \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n \"tenantID\": + \"d5b55040-0c14-48cc-a028-91457fc190d9\"\n },\n \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '221' + - '3586' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:46 GMT + - Mon, 12 Jul 2021 11:00:59 GMT expires: - '-1' pragma: @@ -1780,65 +695,109 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "1.19.11", "dnsPrefix": "cliakstest-clitestf75gdxugb-79a739", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": + "Managed", "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": + "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ"}]}}, + "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "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/b514c445-694d-4bdc-bbfc-e788a697a006"}]}}, + "aadProfile": {"managed": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000003"], + "tenantID": "00000000-0000-0000-0000-000000000004"}, "autoUpgradeProfile": {}, + "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "location": "westus2", "sku": {"name": "Basic", + "tier": "Free"}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive Content-Length: - - '1435' + - '2369' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" - headers: + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestf75gdxugb-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b514c445-694d-4bdc-bbfc-e788a697a006\"\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-000000000003\"\n + \ ],\n \"tenantID\": \"00000000-0000-0000-0000-000000000004\"\n },\n + \ \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/1805ffa4-e2bb-4017-add4-d5bb4dfc7c30?api-version=2016-03-30 cache-control: - no-cache content-length: - - '221' + - '3534' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:51 GMT + - Mon, 12 Jul 2021 11:01:03 GMT expires: - '-1' pragma: @@ -1847,65 +806,49 @@ interactions: - 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' + - '1194' status: - code: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1805ffa4-e2bb-4017-add4-d5bb4dfc7c30?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"a4ff0518-bbe2-1740-add4-d5bb4dfc7c30\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:01:02.9866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:35:56 GMT + - Mon, 12 Jul 2021 11:01:33 GMT expires: - '-1' pragma: @@ -1914,65 +857,48 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1805ffa4-e2bb-4017-add4-d5bb4dfc7c30?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"a4ff0518-bbe2-1740-add4-d5bb4dfc7c30\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T11:01:02.9866666Z\",\n \"endTime\": + \"2021-07-12T11:02:00.4647103Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '170' content-type: - application/json date: - - Wed, 29 Jul 2020 08:36:02 GMT + - Mon, 12 Jul 2021 11:02:03 GMT expires: - '-1' pragma: @@ -1981,65 +907,82 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestocnpq25kb-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}, "aadProfile": {"clientAppID": - "00000000-0000-0000-0000-000000000002", "serverAppID": "00000000-0000-0000-0000-000000000001", - "serverAppSecret": "fake-secret", "tenantID": "d5b55040-0c14-48cc-a028-91457fc190d9"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1435' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret - --aad-client-app-id --aad-tenant-id -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestf75gdxugb-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestf75gdxugb-79a739-009fd58d.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b514c445-694d-4bdc-bbfc-e788a697a006\"\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-000000000003\"\n + \ ],\n \"tenantID\": \"00000000-0000-0000-0000-000000000004\"\n },\n + \ \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '221' + - '3536' content-type: - application/json date: - - Wed, 29 Jul 2020 08:36:08 GMT + - Mon, 12 Jul 2021 11:02:04 GMT expires: - '-1' pragma: @@ -2048,11 +991,13 @@ interactions: - 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: 400 - message: Bad Request + 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 6aa91358d4d..dc1552f61c8 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 @@ -14,15 +14,12 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-resource/10.1.0 Azure-SDK-For-Python AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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-07-29T08:25:58Z"},"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":"2021-07-12T11:00:19Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -31,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 29 Jul 2020 08:25:59 GMT + - Mon, 12 Jul 2021 11:00:21 GMT expires: - '-1' pragma: @@ -46,19 +43,20 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestcjeztre2p-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001", - "secret": "fake-secret"}, "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": - "standard"}, "aadProfile": {"managed": true, "enableAzureRBAC": false, "adminGroupObjectIDs": - ["00000000-0000-0000-0000-000000000001"]}}}' + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitest7dxxxdjxh-79a739", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ"}]}}, + "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": "standard"}, "aadProfile": {"managed": true, + "enableAzureRBAC": false, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000001"]}, + "disableLocalAccounts": false}, "location": "westus2"}' headers: Accept: - application/json @@ -69,63 +67,63 @@ interactions: Connection: - keep-alive Content-Length: - - '1390' + - '1446' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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.16.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestcjeztre2p-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestcjeztre2p-8ecadf-87cec490.hcp.westus2.azmk8s.io\",\n\ - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Creating\",\n \"orchestratorVersion\"\ - : \"1.16.10\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1604-2020.06.30\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"8e832d89-8323-4226-b626-518dfecdc688\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\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 \"aadProfile\": {\n \"managed\": true,\n \"\ - adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n\ - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\ - \n },\n \"maxAgentPools\": 100\n },\n \"sku\": {\n \"name\": \"Basic\"\ - ,\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7dxxxdjxh-79a739\",\n + \ \"fqdn\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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 \"aadProfile\": + {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n + \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false\n },\n + \ \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2449' + - '2903' content-type: - application/json date: - - Wed, 29 Jul 2020 08:26:07 GMT + - Mon, 12 Jul 2021 11:00:27 GMT expires: - '-1' pragma: @@ -137,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -145,7 +143,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -156,15 +154,14 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache @@ -173,7 +170,7 @@ interactions: content-type: - application/json date: - - Wed, 29 Jul 2020 08:26:38 GMT + - Mon, 12 Jul 2021 11:00:56 GMT expires: - '-1' pragma: @@ -195,7 +192,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -206,15 +203,14 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache @@ -223,7 +219,7 @@ interactions: content-type: - application/json date: - - Wed, 29 Jul 2020 08:27:08 GMT + - Mon, 12 Jul 2021 11:01:27 GMT expires: - '-1' pragma: @@ -245,7 +241,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -256,15 +252,14 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache @@ -273,7 +268,7 @@ interactions: content-type: - application/json date: - - Wed, 29 Jul 2020 08:27:39 GMT + - Mon, 12 Jul 2021 11:01:57 GMT expires: - '-1' pragma: @@ -295,7 +290,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -306,15 +301,14 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache @@ -323,7 +317,7 @@ interactions: content-type: - application/json date: - - Wed, 29 Jul 2020 08:28:09 GMT + - Mon, 12 Jul 2021 11:02:27 GMT expires: - '-1' pragma: @@ -345,7 +339,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -356,15 +350,14 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache @@ -373,7 +366,7 @@ interactions: content-type: - application/json date: - - Wed, 29 Jul 2020 08:28:41 GMT + - Mon, 12 Jul 2021 11:02:57 GMT expires: - '-1' pragma: @@ -395,7 +388,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -406,15 +399,14 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache @@ -423,7 +415,7 @@ interactions: content-type: - application/json date: - - Wed, 29 Jul 2020 08:29:11 GMT + - Mon, 12 Jul 2021 11:03:27 GMT expires: - '-1' pragma: @@ -445,7 +437,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -456,15 +448,14 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache @@ -473,7 +464,7 @@ interactions: content-type: - application/json date: - - Wed, 29 Jul 2020 08:29:42 GMT + - Mon, 12 Jul 2021 11:03:57 GMT expires: - '-1' pragma: @@ -495,7 +486,56 @@ interactions: body: null headers: Accept: + - '*/*' + 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 + -o + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Mon, 12 Jul 2021 11:04:27 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: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -506,25 +546,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4cfffd1e-18ff-433c-897e-b457fa70884d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1efdff4c-ff18-3c43-897e-b457fa70884d\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-07-29T08:26:05.6083887Z\",\n \"\ - endTime\": \"2020-07-29T08:29:47.302376Z\"\n }" + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:30:13 GMT + - Mon, 12 Jul 2021 11:04:58 GMT expires: - '-1' pragma: @@ -546,7 +584,57 @@ interactions: body: null headers: Accept: + - '*/*' + 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 + -o + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccc1701-5c5c-463b-b354-1cd295790109?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0117ccec-5c5c-3b46-b354-1cd295790109\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T11:00:27.0166666Z\",\n \"endTime\": + \"2021-07-12T11:05:09.1246951Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: - application/json + date: + - Mon, 12 Jul 2021 11:05: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: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -557,54 +645,58 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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.16.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestcjeztre2p-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestcjeztre2p-8ecadf-87cec490.hcp.westus2.azmk8s.io\",\n\ - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"orchestratorVersion\"\ - : \"1.16.10\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1604-2020.06.30\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"8e832d89-8323-4226-b626-518dfecdc688\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\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/db5f2948-a17f-4819-9923-40ce6de2b3a2\"\ - \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 \"enableAzureRBAC\"\ - : false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n\ - \ \"maxAgentPools\": 100\n },\n \"sku\": {\n \"name\": \"Basic\",\n\ - \ \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7dxxxdjxh-79a739\",\n + \ \"fqdn\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/a3371b7e-c078-4f40-ac94-4c687f300c1e\"\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 \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '2717' + - '3566' content-type: - application/json date: - - Wed, 29 Jul 2020 08:30:14 GMT + - Mon, 12 Jul 2021 11:05:28 GMT expires: - '-1' pragma: @@ -636,56 +728,58 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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.16.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestcjeztre2p-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestcjeztre2p-8ecadf-87cec490.hcp.westus2.azmk8s.io\",\n\ - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"orchestratorVersion\"\ - : \"1.16.10\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1604-2020.06.30\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"8e832d89-8323-4226-b626-518dfecdc688\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\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/db5f2948-a17f-4819-9923-40ce6de2b3a2\"\ - \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 \"enableAzureRBAC\"\ - : false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n\ - \ \"maxAgentPools\": 100\n },\n \"sku\": {\n \"name\": \"Basic\",\n\ - \ \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7dxxxdjxh-79a739\",\n + \ \"fqdn\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/a3371b7e-c078-4f40-ac94-4c687f300c1e\"\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 \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '2717' + - '3566' content-type: - application/json date: - - Wed, 29 Jul 2020 08:30:21 GMT + - Mon, 12 Jul 2021 11:05:29 GMT expires: - '-1' pragma: @@ -704,24 +798,29 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.16.10", - "dnsPrefix": "cliakstest-clitestcjeztre2p-8ecadf", "agentPoolProfiles": [{"count": - 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "maxPods": 110, "osType": - "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.16.10", "nodeImageVersion": "AKSUbuntu-1604-2020.06.30", "enableNodePublicIP": - false, "nodeLabels": {}, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": true}}, "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/db5f2948-a17f-4819-9923-40ce6de2b3a2"}]}}, + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "1.19.11", "dnsPrefix": "cliakstest-clitest7dxxxdjxh-79a739", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": + "Managed", "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": + "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ"}]}}, + "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "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/a3371b7e-c078-4f40-ac94-4c687f300c1e"}]}}, "aadProfile": {"managed": true, "enableAzureRBAC": false, "adminGroupObjectIDs": - ["00000000-0000-0000-0000-000000000002"], "tenantID": "00000000-0000-0000-0000-000000000003"}}, - "sku": {"name": "Basic", "tier": "Free"}}' + ["00000000-0000-0000-0000-000000000002"], "tenantID": "00000000-0000-0000-0000-000000000003"}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "location": "westus2", "sku": {"name": "Basic", + "tier": "Free"}}' headers: Accept: - application/json @@ -732,64 +831,66 @@ interactions: Connection: - keep-alive Content-Length: - - '1925' + - '2395' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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.16.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestcjeztre2p-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestcjeztre2p-8ecadf-87cec490.hcp.westus2.azmk8s.io\",\n\ - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Updating\",\n \"orchestratorVersion\"\ - : \"1.16.10\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1604-2020.06.30\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"8e832d89-8323-4226-b626-518dfecdc688\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\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/db5f2948-a17f-4819-9923-40ce6de2b3a2\"\ - \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-000000000002\"\n ],\n \"enableAzureRBAC\"\ - : false,\n \"tenantID\": \"00000000-0000-0000-0000-000000000003\"\n },\n\ - \ \"maxAgentPools\": 100\n },\n \"sku\": {\n \"name\": \"Basic\",\n\ - \ \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7dxxxdjxh-79a739\",\n + \ \"fqdn\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/a3371b7e-c078-4f40-ac94-4c687f300c1e\"\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-000000000002\"\n + \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"00000000-0000-0000-0000-000000000003\"\n + \ },\n \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/8fa8d490-bfc4-4b50-ad0c-7bffa121aec6?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8db6c8d-0080-4db2-92c4-fc5c6346dc5e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2715' + - '3564' content-type: - application/json date: - - Wed, 29 Jul 2020 08:30:28 GMT + - Mon, 12 Jul 2021 11:05:33 GMT expires: - '-1' pragma: @@ -805,7 +906,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 200 message: OK @@ -813,7 +914,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -823,24 +924,23 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8fa8d490-bfc4-4b50-ad0c-7bffa121aec6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8db6c8d-0080-4db2-92c4-fc5c6346dc5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"90d4a88f-c4bf-504b-ad0c-7bffa121aec6\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:30:26.0709423Z\"\n }" + string: "{\n \"name\": \"8d6cdbb8-8000-b24d-92c4-fc5c6346dc5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:05:33.74Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 29 Jul 2020 08:31:02 GMT + - Mon, 12 Jul 2021 11:06:04 GMT expires: - '-1' pragma: @@ -862,7 +962,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -872,24 +972,23 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8fa8d490-bfc4-4b50-ad0c-7bffa121aec6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8db6c8d-0080-4db2-92c4-fc5c6346dc5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"90d4a88f-c4bf-504b-ad0c-7bffa121aec6\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-07-29T08:30:26.0709423Z\"\n }" + string: "{\n \"name\": \"8d6cdbb8-8000-b24d-92c4-fc5c6346dc5e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:05:33.74Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Wed, 29 Jul 2020 08:31:32 GMT + - Mon, 12 Jul 2021 11:06:34 GMT expires: - '-1' pragma: @@ -911,7 +1010,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -921,25 +1020,24 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8fa8d490-bfc4-4b50-ad0c-7bffa121aec6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8db6c8d-0080-4db2-92c4-fc5c6346dc5e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"90d4a88f-c4bf-504b-ad0c-7bffa121aec6\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-07-29T08:30:26.0709423Z\",\n \"\ - endTime\": \"2020-07-29T08:31:53.5790488Z\"\n }" + string: "{\n \"name\": \"8d6cdbb8-8000-b24d-92c4-fc5c6346dc5e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T11:05:33.74Z\",\n \"endTime\": + \"2021-07-12T11:06:37.4202239Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Wed, 29 Jul 2020 08:32:02 GMT + - Mon, 12 Jul 2021 11:07:04 GMT expires: - '-1' pragma: @@ -961,7 +1059,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -971,54 +1069,58 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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.16.10\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitestcjeztre2p-8ecadf\",\n \"fqdn\"\ - : \"cliakstest-clitestcjeztre2p-8ecadf-87cec490.hcp.westus2.azmk8s.io\",\n\ - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"orchestratorVersion\"\ - : \"1.16.10\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1604-2020.06.30\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"8e832d89-8323-4226-b626-518dfecdc688\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\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/db5f2948-a17f-4819-9923-40ce6de2b3a2\"\ - \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-000000000002\"\n ],\n \"enableAzureRBAC\"\ - : false,\n \"tenantID\": \"00000000-0000-0000-0000-000000000003\"\n },\n\ - \ \"maxAgentPools\": 100\n },\n \"sku\": {\n \"name\": \"Basic\",\n\ - \ \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest7dxxxdjxh-79a739\",\n + \ \"fqdn\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7dxxxdjxh-79a739-aa9789a4.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/a3371b7e-c078-4f40-ac94-4c687f300c1e\"\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-000000000002\"\n + \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"00000000-0000-0000-0000-000000000003\"\n + \ },\n \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '2717' + - '3566' content-type: - application/json date: - - Wed, 29 Jul 2020 08:32:04 GMT + - Mon, 12 Jul 2021 11:07:05 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml index 19d2a969109..6e676935002 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml @@ -11,26 +11,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-resource/10.1.0 Azure-SDK-For-Python AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"canadacentral","tags":{"product":"azurecli","cause":"automation","date":"2020-07-29T08:32:06Z"},"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":"2021-07-12T10:46:19Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '319' + - '313' content-type: - application/json; charset=utf-8 date: - - Wed, 29 Jul 2020 08:32:06 GMT + - Mon, 12 Jul 2021 10:46:21 GMT expires: - '-1' pragma: @@ -45,17 +42,19 @@ interactions: code: 200 message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitestcv3ulz25h-79a739", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "location": "westus2"}' headers: Accept: - application/json @@ -66,993 +65,60 @@ interactions: Connection: - keep-alive Content-Length: - - '1223' + - '1685' Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:08 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:13 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:18 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:24 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32: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: - - '1199' - status: - code: 400 - message: Bad Request -- request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:34 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:40 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:45 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32: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: 400 - message: Bad Request -- request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:32:55 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:01 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:06 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:12 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: - - '1198' - status: - code: 400 - message: Bad Request -- request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:17 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: - - '1198' - status: - code: 400 - message: Bad Request -- request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:33:21 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" - headers: + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestcv3ulz25h-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 cache-control: - no-cache content-length: - - '221' + - '3055' content-type: - application/json date: - - Wed, 29 Jul 2020 08:33:27 GMT + - Mon, 12 Jul 2021 10:46:30 GMT expires: - '-1' pragma: @@ -1066,57 +132,39 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: - '1199' status: - code: 400 - message: Bad Request + code: 201 + message: Created - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"95047773-58ca-5e4f-8462-5ba47575bfba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:46:30.6466666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:33:32 GMT + - Mon, 12 Jul 2021 10:47:01 GMT expires: - '-1' pragma: @@ -1125,62 +173,46 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"95047773-58ca-5e4f-8462-5ba47575bfba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:46:30.6466666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:33:37 GMT + - Mon, 12 Jul 2021 10:47:31 GMT expires: - '-1' pragma: @@ -1189,62 +221,46 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"95047773-58ca-5e4f-8462-5ba47575bfba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:46:30.6466666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:33:44 GMT + - Mon, 12 Jul 2021 10:48:00 GMT expires: - '-1' pragma: @@ -1253,62 +269,46 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"95047773-58ca-5e4f-8462-5ba47575bfba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:46:30.6466666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:33:50 GMT + - Mon, 12 Jul 2021 10:48:31 GMT expires: - '-1' pragma: @@ -1317,62 +317,46 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"95047773-58ca-5e4f-8462-5ba47575bfba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:46:30.6466666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:33:55 GMT + - Mon, 12 Jul 2021 10:49:01 GMT expires: - '-1' pragma: @@ -1381,62 +365,46 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"95047773-58ca-5e4f-8462-5ba47575bfba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:46:30.6466666Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:00 GMT + - Mon, 12 Jul 2021 10:49:31 GMT expires: - '-1' pragma: @@ -1445,62 +413,47 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73770495-ca58-4f5e-8462-5ba47575bfba?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"95047773-58ca-5e4f-8462-5ba47575bfba\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:46:30.6466666Z\",\n \"endTime\": + \"2021-07-12T10:49:56.0776679Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '170' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:05 GMT + - Mon, 12 Jul 2021 10:50:01 GMT expires: - '-1' pragma: @@ -1509,62 +462,80 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestcv3ulz25h-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b4ffb958-5385-44f4-bbaf-75671e25a0f8\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '221' + - '3718' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:10 GMT + - Mon, 12 Jul 2021 10:50:01 GMT expires: - '-1' pragma: @@ -1573,62 +544,81 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestcv3ulz25h-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b4ffb958-5385-44f4-bbaf-75671e25a0f8\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '221' + - '3718' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:15 GMT + - Mon, 12 Jul 2021 10:50:02 GMT expires: - '-1' pragma: @@ -1637,126 +627,110 @@ interactions: - 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: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "1.19.11", "dnsPrefix": "cliakstest-clitestcv3ulz25h-79a739", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": + "Managed", "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": + "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "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/b4ffb958-5385-44f4-bbaf-75671e25a0f8"}]}}, + "aadProfile": {"managed": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000001"], + "tenantID": "00000000-0000-0000-0000-000000000002"}, "autoUpgradeProfile": {}, + "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "location": "westus2", "sku": {"name": "Basic", + "tier": "Free"}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive Content-Length: - - '1223' + - '2732' Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 - response: - body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx 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: - - '221' - content-type: - - application/json - date: - - Wed, 29 Jul 2020 08:34:21 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": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' - headers: - Accept: - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" - headers: + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestcv3ulz25h-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b4ffb958-5385-44f4-bbaf-75671e25a0f8\"\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-000000000002\"\n },\n + \ \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/28886799-a243-4ce2-a9f7-b959de13eddc?api-version=2016-03-30 cache-control: - no-cache content-length: - - '221' + - '3897' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:26 GMT + - Mon, 12 Jul 2021 10:50:06 GMT expires: - '-1' pragma: @@ -1765,62 +739,49 @@ interactions: - 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' + - '1197' status: - code: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/28886799-a243-4ce2-a9f7-b959de13eddc?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"99678828-43a2-e24c-a9f7-b959de13eddc\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:50:05.8533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '126' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:30 GMT + - Mon, 12 Jul 2021 10:50:37 GMT expires: - '-1' pragma: @@ -1829,62 +790,48 @@ interactions: - 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: - - '1198' status: - code: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/28886799-a243-4ce2-a9f7-b959de13eddc?api-version=2016-03-30 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + string: "{\n \"name\": \"99678828-43a2-e24c-a9f7-b959de13eddc\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:50:05.8533333Z\",\n \"endTime\": + \"2021-07-12T10:51:06.8753723Z\"\n }" headers: cache-control: - no-cache content-length: - - '221' + - '170' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:38 GMT + - Mon, 12 Jul 2021 10:51:06 GMT expires: - '-1' pragma: @@ -1893,62 +840,83 @@ interactions: - 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: - - '1198' status: - code: 400 - message: Bad Request + code: 200 + message: OK - request: - body: '{"location": "canadacentral", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest5x5zvoxcj-8ecadf", "agentPoolProfiles": [{"count": 1, "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001": - {}, "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"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '1223' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --vm-set-type --node-count -o + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.4 Azure-SDK-For-Python - AZURECLI/2.9.1 - 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-10-01 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ - \ principal clientID: xxxx not found in Active Directory tenant 72f988bf-86f1-41af-91ab-2d7cd011db47,\ - \ Please see https://aka.ms/aks-sp-help for more details.\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestcv3ulz25h-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcv3ulz25h-79a739-c2a8287e.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/b4ffb958-5385-44f4-bbaf-75671e25a0f8\"\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-000000000002\"\n },\n + \ \"maxAgentPools\": 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '221' + - '3899' content-type: - application/json date: - - Wed, 29 Jul 2020 08:34:43 GMT + - Mon, 12 Jul 2021 10:51:07 GMT expires: - '-1' pragma: @@ -1957,11 +925,13 @@ interactions: - 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: - - '1198' status: - code: 400 - message: Bad Request + code: 200 + message: OK version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml new file mode 100644 index 00000000000..f64390c6dd2 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml @@ -0,0 +1,606 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-07-12T10:42:15Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jul 2021 10:42:17 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: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitestj4ht6qtol-79a739", "agentPoolProfiles": + [{"count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux", "type": "VirtualMachineScaleSets", + "mode": "System", "availabilityZones": ["1", "2", "3"], "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": true, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ"}]}}, + "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": "standard"}, "disableLocalAccounts": false}, + "location": "westus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1359' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestj4ht6qtol-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestj4ht6qtol-79a739-d8e30155.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestj4ht6qtol-79a739-d8e30155.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"availabilityZones\": [\n + \ \"1\",\n \"2\",\n \"3\"\n ],\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n + \ \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n + \ \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": true,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": + 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2759' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:42:27 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8e031c7a-b3f8-b046-bacf-8c93a4fba974\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:42:27.1166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:42: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8e031c7a-b3f8-b046-bacf-8c93a4fba974\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:42:27.1166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:43: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8e031c7a-b3f8-b046-bacf-8c93a4fba974\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:42:27.1166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:43: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8e031c7a-b3f8-b046-bacf-8c93a4fba974\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:42:27.1166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:44:27 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8e031c7a-b3f8-b046-bacf-8c93a4fba974\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:42:27.1166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:44:58 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8e031c7a-b3f8-b046-bacf-8c93a4fba974\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:42:27.1166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:45:27 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7a1c038e-f8b3-46b0-bacf-8c93a4fba974?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8e031c7a-b3f8-b046-bacf-8c93a4fba974\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:42:27.1166666Z\",\n \"endTime\": + \"2021-07-12T10:45:57.628435Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '169' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:45: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestj4ht6qtol-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestj4ht6qtol-79a739-d8e30155.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestj4ht6qtol-79a739-d8e30155.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"availabilityZones\": [\n + \ \"1\",\n \"2\",\n \"3\"\n ],\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n + \ \"orchestratorVersion\": \"1.19.11\",\n \"enableNodePublicIP\": false,\n + \ \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": true,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/44858b57-834b-490b-8722-06a3dc598bd9\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: + - '3422' + content-type: + - application/json + date: + - Mon, 12 Jul 2021 10:45: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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9fd6e36e-32fd-42ea-a625-27cbcd34adba?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 12 Jul 2021 10:46:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/9fd6e36e-32fd-42ea-a625-27cbcd34adba?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + 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/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml index 9987adc19ff..988d0e01b7c 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml @@ -11,1038 +11,29 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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-09-15T14:33:14Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 15 Sep 2020 14:33:17 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-clitesthmkudym5s-c10894", "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 AAAAB3NzaC1yc2EAAAADAQABAAACAQCcoU5oksM+tNzYAsUx39cCjAjYEBqDWssZTN0IVNardJFH3hRvk1/4K82eob1a71Nr30hmfybhU1+dKKDbEv/iQVCFhCf+Sc6DoQ6hpkj0L3NonhzKLJkWBGsObiYfTj0dgSHIjcJrbEmggh2697OLpIDgdkHDRUlIx4ANeZnWVeBvF8WbS7Q6dr7T0zlE8quMvmvyEv706VXU7FIcC4G3Lw5nNtXCqyAyrhoMTRQPLn9c7BwxUV6Rgtol6Qn6YF7/QQ1wpic1zY1rZm97swUygAlxe4gK7XqIkP9W8ZkOO9VU7y+QlGyEUHiSUnYVazlRYjNNszwuGayx5wM2LLOM1UvTZMxMSmFWI8LLIaixbn0cNC5aG6cA4yPtVJcjnqtQ/HtPP73g/G+DcPK/S33EBVmJW1d0EnlaI0LM9KQJcQbcp8iAVjO3thvQLB0JCzHfmSCdeAGN9Rbe9j/bgUBRdPAW9UA7ZkViK7tkrc/qSR+6oSScTMEmsCJnJeKVKOxH6XkeoG7fwo+C5iMVt1FI3K421izziz9o6m3ispnrJQ15Eoj/4ibgyzV7U6L2MynVECoc9NnSQf1wTZC4mkuJbLv5mTqGpLoAEm2T3URsklMSrQpjeap6TtrM/fWoEv76kKVPEGS3JU//V9T/A+01DDoi+bSqvgYHxjOyFLmJ9Q== - nick@pop-os\n"}]}}, "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001", - "secret": "fake-secret"}, "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": - "standard"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1624' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - 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-09-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.16.13\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitesthmkudym5s-c10894\",\n \"fqdn\"\ - : \"cliakstest-clitesthmkudym5s-c10894-3cfd8932.hcp.westus2.azmk8s.io\",\n\ - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ - count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\"\ - ,\n \"orchestratorVersion\": \"1.16.13\",\n \"enableNodePublicIP\"\ - : false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\"\ - : \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1604-2020.08.19\"\n \ - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ - ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCcoU5oksM+tNzYAsUx39cCjAjYEBqDWssZTN0IVNardJFH3hRvk1/4K82eob1a71Nr30hmfybhU1+dKKDbEv/iQVCFhCf+Sc6DoQ6hpkj0L3NonhzKLJkWBGsObiYfTj0dgSHIjcJrbEmggh2697OLpIDgdkHDRUlIx4ANeZnWVeBvF8WbS7Q6dr7T0zlE8quMvmvyEv706VXU7FIcC4G3Lw5nNtXCqyAyrhoMTRQPLn9c7BwxUV6Rgtol6Qn6YF7/QQ1wpic1zY1rZm97swUygAlxe4gK7XqIkP9W8ZkOO9VU7y+QlGyEUHiSUnYVazlRYjNNszwuGayx5wM2LLOM1UvTZMxMSmFWI8LLIaixbn0cNC5aG6cA4yPtVJcjnqtQ/HtPP73g/G+DcPK/S33EBVmJW1d0EnlaI0LM9KQJcQbcp8iAVjO3thvQLB0JCzHfmSCdeAGN9Rbe9j/bgUBRdPAW9UA7ZkViK7tkrc/qSR+6oSScTMEmsCJnJeKVKOxH6XkeoG7fwo+C5iMVt1FI3K421izziz9o6m3ispnrJQ15Eoj/4ibgyzV7U6L2MynVECoc9NnSQf1wTZC4mkuJbLv5mTqGpLoAEm2T3URsklMSrQpjeap6TtrM/fWoEv76kKVPEGS3JU//V9T/A+01DDoi+bSqvgYHxjOyFLmJ9Q==\ - \ nick@pop-os\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\": \"7fa23922-2061-4a82-9b5b-cb7006f23ab2\"\n },\n \ - \ \"addonProfiles\": {\n \"kubedashboard\": {\n \"enabled\": true,\n\ - \ \"config\": null\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 \"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/d15b283b-65eb-4643-b0cf-d19093c97822?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '2625' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:33:24 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 - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d15b283b-65eb-4643-b0cf-d19093c97822?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3b285bd1-eb65-4346-b0cf-d19093c97822\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:33:24.1151101Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:33:54 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 - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d15b283b-65eb-4643-b0cf-d19093c97822?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3b285bd1-eb65-4346-b0cf-d19093c97822\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:33:24.1151101Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:34: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: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d15b283b-65eb-4643-b0cf-d19093c97822?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3b285bd1-eb65-4346-b0cf-d19093c97822\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:33:24.1151101Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:34:56 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 - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d15b283b-65eb-4643-b0cf-d19093c97822?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3b285bd1-eb65-4346-b0cf-d19093c97822\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:33:24.1151101Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:35: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: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d15b283b-65eb-4643-b0cf-d19093c97822?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3b285bd1-eb65-4346-b0cf-d19093c97822\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:33:24.1151101Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:35: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: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d15b283b-65eb-4643-b0cf-d19093c97822?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3b285bd1-eb65-4346-b0cf-d19093c97822\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-09-15T14:33:24.1151101Z\",\n \"\ - endTime\": \"2020-09-15T14:36:02.4580276Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:36: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: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-09-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.16.13\"\ - ,\n \"dnsPrefix\": \"cliakstest-clitesthmkudym5s-c10894\",\n \"fqdn\"\ - : \"cliakstest-clitesthmkudym5s-c10894-3cfd8932.hcp.westus2.azmk8s.io\",\n\ - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"\ - count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"orchestratorVersion\": \"1.16.13\",\n \"enableNodePublicIP\"\ - : false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"osType\"\ - : \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1604-2020.08.19\"\n \ - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ - ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCcoU5oksM+tNzYAsUx39cCjAjYEBqDWssZTN0IVNardJFH3hRvk1/4K82eob1a71Nr30hmfybhU1+dKKDbEv/iQVCFhCf+Sc6DoQ6hpkj0L3NonhzKLJkWBGsObiYfTj0dgSHIjcJrbEmggh2697OLpIDgdkHDRUlIx4ANeZnWVeBvF8WbS7Q6dr7T0zlE8quMvmvyEv706VXU7FIcC4G3Lw5nNtXCqyAyrhoMTRQPLn9c7BwxUV6Rgtol6Qn6YF7/QQ1wpic1zY1rZm97swUygAlxe4gK7XqIkP9W8ZkOO9VU7y+QlGyEUHiSUnYVazlRYjNNszwuGayx5wM2LLOM1UvTZMxMSmFWI8LLIaixbn0cNC5aG6cA4yPtVJcjnqtQ/HtPP73g/G+DcPK/S33EBVmJW1d0EnlaI0LM9KQJcQbcp8iAVjO3thvQLB0JCzHfmSCdeAGN9Rbe9j/bgUBRdPAW9UA7ZkViK7tkrc/qSR+6oSScTMEmsCJnJeKVKOxH6XkeoG7fwo+C5iMVt1FI3K421izziz9o6m3ispnrJQ15Eoj/4ibgyzV7U6L2MynVECoc9NnSQf1wTZC4mkuJbLv5mTqGpLoAEm2T3URsklMSrQpjeap6TtrM/fWoEv76kKVPEGS3JU//V9T/A+01DDoi+bSqvgYHxjOyFLmJ9Q==\ - \ nick@pop-os\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\": \"7fa23922-2061-4a82-9b5b-cb7006f23ab2\"\n },\n \ - \ \"addonProfiles\": {\n \"kubedashboard\": {\n \"enabled\": true,\n\ - \ \"config\": null\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/583c515f-714a-4c51-8262-2f59a57c9f4e\"\ - \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 \"sku\": {\n \"name\": \"Basic\",\n \"tier\"\ - : \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '2893' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:36: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 stop - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - accept-language: - - en-US - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/stop?api-version=2020-09-01 - response: - body: - string: '' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '0' - date: - - Tue, 15 Sep 2020 14:36:30 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - 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: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:37: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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:37:32 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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:38: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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:38: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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:39:04 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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:39: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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:40: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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:40:36 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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:41:06 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 stop - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-07-12T10:51:09Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '126' + - '313' content-type: - - application/json + - application/json; charset=utf-8 date: - - Tue, 15 Sep 2020 14:41:37 GMT + - Mon, 12 Jul 2021 10:51:11 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: @@ -1051,37 +42,83 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitest4rszdd3zh-79a739", "agentPoolProfiles": + [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "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": "standard"}, + "disableLocalAccounts": false}, "location": "westus2"}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive + Content-Length: + - '1685' + Content-Type: + - application/json ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest4rszdd3zh-79a739\",\n + \ \"fqdn\": \"cliakstest-clitest4rszdd3zh-79a739-5ebe7f3c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest4rszdd3zh-79a739-5ebe7f3c.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": 100,\n \"disableLocalAccounts\": + false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '126' + - '3055' content-type: - application/json date: - - Tue, 15 Sep 2020 14:42:08 GMT + - Mon, 12 Jul 2021 10:51:20 GMT expires: - '-1' pragma: @@ -1090,47 +127,44 @@ interactions: - 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 + code: 201 + message: Created - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"e54f2f4d-3822-3942-bbcb-85cc5fca16f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:51:20.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 15 Sep 2020 14:42:38 GMT + - Mon, 12 Jul 2021 10:51:50 GMT expires: - '-1' pragma: @@ -1152,34 +186,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"e54f2f4d-3822-3942-bbcb-85cc5fca16f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:51:20.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 15 Sep 2020 14:43:10 GMT + - Mon, 12 Jul 2021 10:52:21 GMT expires: - '-1' pragma: @@ -1201,34 +234,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"e54f2f4d-3822-3942-bbcb-85cc5fca16f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:51:20.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 15 Sep 2020 14:43:40 GMT + - Mon, 12 Jul 2021 10:52:50 GMT expires: - '-1' pragma: @@ -1250,34 +282,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"e54f2f4d-3822-3942-bbcb-85cc5fca16f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:51:20.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 15 Sep 2020 14:44:11 GMT + - Mon, 12 Jul 2021 10:53:21 GMT expires: - '-1' pragma: @@ -1299,34 +330,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"e54f2f4d-3822-3942-bbcb-85cc5fca16f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:51:20.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 15 Sep 2020 14:44:42 GMT + - Mon, 12 Jul 2021 10:53:50 GMT expires: - '-1' pragma: @@ -1348,34 +378,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"e54f2f4d-3822-3942-bbcb-85cc5fca16f5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:51:20.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 15 Sep 2020 14:45:12 GMT + - Mon, 12 Jul 2021 10:54:21 GMT expires: - '-1' pragma: @@ -1397,34 +426,34 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d2f4fe5-2238-4239-bbcb-85cc5fca16f5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"e54f2f4d-3822-3942-bbcb-85cc5fca16f5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:51:20.05Z\",\n \"endTime\": + \"2021-07-12T10:54:41.2430632Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '165' content-type: - application/json date: - - Tue, 15 Sep 2020 14:45:43 GMT + - Mon, 12 Jul 2021 10:54:51 GMT expires: - '-1' pragma: @@ -1446,34 +475,67 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks stop + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --ssh-key-value User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitest4rszdd3zh-79a739\",\n + \ \"fqdn\": \"cliakstest-clitest4rszdd3zh-79a739-5ebe7f3c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest4rszdd3zh-79a739-5ebe7f3c.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/a40f7995-0fc1-4f53-a7af-87a20cfab403\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '126' + - '3718' content-type: - application/json date: - - Tue, 15 Sep 2020 14:46:14 GMT + - Mon, 12 Jul 2021 10:54:52 GMT expires: - '-1' pragma: @@ -1502,49 +564,49 @@ interactions: - aks stop Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/stop?api-version=2021-05-01 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: '' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 cache-control: - no-cache content-length: - - '126' - content-type: - - application/json + - '0' date: - - Tue, 15 Sep 2020 14:46:45 GMT + - Mon, 12 Jul 2021 10:54:52 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1554,15 +616,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"4cf4e783-8ed3-0a43-a172-d4b35f236f8a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:54:53.0033333Z\"\n }" headers: cache-control: - no-cache @@ -1571,7 +632,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:47:15 GMT + - Mon, 12 Jul 2021 10:55:22 GMT expires: - '-1' pragma: @@ -1593,7 +654,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1603,15 +664,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"4cf4e783-8ed3-0a43-a172-d4b35f236f8a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:54:53.0033333Z\"\n }" headers: cache-control: - no-cache @@ -1620,7 +680,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:47:46 GMT + - Mon, 12 Jul 2021 10:55:53 GMT expires: - '-1' pragma: @@ -1642,7 +702,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1652,15 +712,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"4cf4e783-8ed3-0a43-a172-d4b35f236f8a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:54:53.0033333Z\"\n }" headers: cache-control: - no-cache @@ -1669,7 +728,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:48:16 GMT + - Mon, 12 Jul 2021 10:56:22 GMT expires: - '-1' pragma: @@ -1691,7 +750,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1701,24 +760,24 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\"\n }" + string: "{\n \"name\": \"4cf4e783-8ed3-0a43-a172-d4b35f236f8a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:54:53.0033333Z\",\n \"endTime\": + \"2021-07-12T10:56:46.8129039Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '170' content-type: - application/json date: - - Tue, 15 Sep 2020 14:48:47 GMT + - Mon, 12 Jul 2021 10:56:53 GMT expires: - '-1' pragma: @@ -1740,7 +799,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1750,42 +809,35 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac552b27-d9d4-42b8-98b0-7b9ac21cc3bf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"272b55ac-d4d9-b842-98b0-7b9ac21cc3bf\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-09-15T14:36:31.1680056Z\",\n \"\ - endTime\": \"2020-09-15T14:49:05.4426047Z\"\n }" + string: '' headers: cache-control: - no-cache - content-length: - - '170' content-type: - application/json date: - - Tue, 15 Sep 2020 14:49:18 GMT + - Mon, 12 Jul 2021 10:56:53 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/83e7f44c-d38e-430a-a172-d4b35f236f8a?api-version=2016-03-30 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 + code: 204 + message: No Content - request: body: null headers: @@ -1802,29 +854,26 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/start?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/start?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 15 Sep 2020 14:49:20 GMT + - Mon, 12 Jul 2021 10:56:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 pragma: - no-cache server: @@ -1842,154 +891,7 @@ interactions: body: null headers: Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks start - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:49: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 start - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:50:21 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 start - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 15 Sep 2020 14:50:52 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: @@ -1999,15 +901,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" + string: "{\n \"name\": \"3e4a25e5-e888-044c-a058-54e77e219211\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:54.5133333Z\"\n }" headers: cache-control: - no-cache @@ -2016,7 +917,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:51:23 GMT + - Mon, 12 Jul 2021 10:57:24 GMT expires: - '-1' pragma: @@ -2038,7 +939,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2048,15 +949,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" + string: "{\n \"name\": \"3e4a25e5-e888-044c-a058-54e77e219211\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:54.5133333Z\"\n }" headers: cache-control: - no-cache @@ -2065,7 +965,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:51:53 GMT + - Mon, 12 Jul 2021 10:57:54 GMT expires: - '-1' pragma: @@ -2087,7 +987,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2097,15 +997,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" + string: "{\n \"name\": \"3e4a25e5-e888-044c-a058-54e77e219211\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:54.5133333Z\"\n }" headers: cache-control: - no-cache @@ -2114,7 +1013,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:52:24 GMT + - Mon, 12 Jul 2021 10:58:24 GMT expires: - '-1' pragma: @@ -2136,7 +1035,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2146,15 +1045,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" + string: "{\n \"name\": \"3e4a25e5-e888-044c-a058-54e77e219211\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:54.5133333Z\"\n }" headers: cache-control: - no-cache @@ -2163,7 +1061,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:52:54 GMT + - Mon, 12 Jul 2021 10:58:54 GMT expires: - '-1' pragma: @@ -2185,7 +1083,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2195,15 +1093,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" + string: "{\n \"name\": \"3e4a25e5-e888-044c-a058-54e77e219211\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:54.5133333Z\"\n }" headers: cache-control: - no-cache @@ -2212,7 +1109,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:53:26 GMT + - Mon, 12 Jul 2021 10:59:24 GMT expires: - '-1' pragma: @@ -2234,7 +1131,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2244,15 +1141,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" + string: "{\n \"name\": \"3e4a25e5-e888-044c-a058-54e77e219211\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:56:54.5133333Z\"\n }" headers: cache-control: - no-cache @@ -2261,7 +1157,7 @@ interactions: content-type: - application/json date: - - Tue, 15 Sep 2020 14:53:56 GMT + - Mon, 12 Jul 2021 10:59:55 GMT expires: - '-1' pragma: @@ -2283,7 +1179,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2293,24 +1189,24 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\"\n }" + string: "{\n \"name\": \"3e4a25e5-e888-044c-a058-54e77e219211\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:56:54.5133333Z\",\n \"endTime\": + \"2021-07-12T10:59:58.230455Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '169' content-type: - application/json date: - - Tue, 15 Sep 2020 14:54:26 GMT + - Mon, 12 Jul 2021 11:00:24 GMT expires: - '-1' pragma: @@ -2332,7 +1228,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2342,40 +1238,33 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.2 (Linux-5.4.0-7642-generic-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.11.1 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2b02eb3-82e8-4354-accf-6a849077a99c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b32eb0b2-e882-5443-accf-6a849077a99c\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-09-15T14:49:20.5367718Z\",\n \"\ - endTime\": \"2020-09-15T14:54:41.2061695Z\"\n }" + string: '' headers: cache-control: - no-cache - content-length: - - '170' content-type: - application/json date: - - Tue, 15 Sep 2020 14:54:58 GMT + - Mon, 12 Jul 2021 11:00:24 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/e5254a3e-88e8-4c04-a058-54e77e219211?api-version=2016-03-30 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 + code: 204 + message: No Content version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml index 5b7530ae4d4..5ccba5c5994 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml @@ -13,24 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.14.2 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2020-11-10T10:56:14Z"},"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":"2021-07-12T10:58:33Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '316' + - '313' content-type: - application/json; charset=utf-8 date: - - Tue, 10 Nov 2020 10:56:15 GMT + - Mon, 12 Jul 2021 10:58:35 GMT expires: - '-1' pragma: @@ -45,18 +42,19 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westeurope", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestaiij3t3zl-8ecadf", "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001", - "secret": "fake-secret"}, "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": - "standard"}}}' + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitestr6ut3bb26-79a739", "agentPoolProfiles": + [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ"}]}}, + "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": "standard"}, "disableLocalAccounts": false}, + "location": "westus2"}' headers: Accept: - application/json @@ -67,60 +65,60 @@ interactions: Connection: - keep-alive Content-Length: - - '1269' + - '1322' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ - ,\n \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"\ - type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"\ - dnsPrefix\": \"cliakstest-clitestaiij3t3zl-8ecadf\",\n \"fqdn\": \"cliakstest-clitestaiij3t3zl-8ecadf-41ea7141.hcp.westeurope.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"2906d251-a2c2-44cc-ad82-c2575bd21a47\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\n\ - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_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\": 100\n },\n \"sku\": {\n \"\ - name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestr6ut3bb26-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": + 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2377' + - '2692' content-type: - application/json date: - - Tue, 10 Nov 2020 10:56:23 GMT + - Mon, 12 Jul 2021 10:58:41 GMT expires: - '-1' pragma: @@ -132,7 +130,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -140,7 +138,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -150,24 +148,23 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"112de8d5-b80c-a549-9bfb-994af459040d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T10:56:22.418245Z\"\n }" + string: "{\n \"name\": \"619196de-b8e0-8240-aaf9-74e135f69578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:58:41.7566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '125' + - '126' content-type: - application/json date: - - Tue, 10 Nov 2020 10:56:55 GMT + - Mon, 12 Jul 2021 10:59:12 GMT expires: - '-1' pragma: @@ -189,7 +186,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -199,24 +196,23 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"112de8d5-b80c-a549-9bfb-994af459040d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T10:56:22.418245Z\"\n }" + string: "{\n \"name\": \"619196de-b8e0-8240-aaf9-74e135f69578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:58:41.7566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '125' + - '126' content-type: - application/json date: - - Tue, 10 Nov 2020 10:57:25 GMT + - Mon, 12 Jul 2021 10:59:42 GMT expires: - '-1' pragma: @@ -238,7 +234,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -248,24 +244,23 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"112de8d5-b80c-a549-9bfb-994af459040d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T10:56:22.418245Z\"\n }" + string: "{\n \"name\": \"619196de-b8e0-8240-aaf9-74e135f69578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:58:41.7566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '125' + - '126' content-type: - application/json date: - - Tue, 10 Nov 2020 10:57:56 GMT + - Mon, 12 Jul 2021 11:00:11 GMT expires: - '-1' pragma: @@ -287,7 +282,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -297,24 +292,23 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"112de8d5-b80c-a549-9bfb-994af459040d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T10:56:22.418245Z\"\n }" + string: "{\n \"name\": \"619196de-b8e0-8240-aaf9-74e135f69578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:58:41.7566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '125' + - '126' content-type: - application/json date: - - Tue, 10 Nov 2020 10:58:26 GMT + - Mon, 12 Jul 2021 11:00:42 GMT expires: - '-1' pragma: @@ -336,7 +330,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -346,24 +340,23 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"112de8d5-b80c-a549-9bfb-994af459040d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T10:56:22.418245Z\"\n }" + string: "{\n \"name\": \"619196de-b8e0-8240-aaf9-74e135f69578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:58:41.7566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '125' + - '126' content-type: - application/json date: - - Tue, 10 Nov 2020 10:58:57 GMT + - Mon, 12 Jul 2021 11:01:13 GMT expires: - '-1' pragma: @@ -385,7 +378,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -395,24 +388,23 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"112de8d5-b80c-a549-9bfb-994af459040d\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T10:56:22.418245Z\"\n }" + string: "{\n \"name\": \"619196de-b8e0-8240-aaf9-74e135f69578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T10:58:41.7566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '125' + - '126' content-type: - application/json date: - - Tue, 10 Nov 2020 10:59:27 GMT + - Mon, 12 Jul 2021 11:01:42 GMT expires: - '-1' pragma: @@ -434,7 +426,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -444,25 +436,24 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/d5e82d11-0cb8-49a5-9bfb-994af459040d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de969161-e0b8-4082-aaf9-74e135f69578?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"112de8d5-b80c-a549-9bfb-994af459040d\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-10T10:56:22.418245Z\",\n \"\ - endTime\": \"2020-11-10T10:59:47.9351319Z\"\n }" + string: "{\n \"name\": \"619196de-b8e0-8240-aaf9-74e135f69578\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T10:58:41.7566666Z\",\n \"endTime\": + \"2021-07-12T11:02:06.0695673Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Tue, 10 Nov 2020 10:59:58 GMT + - Mon, 12 Jul 2021 11:02:13 GMT expires: - '-1' pragma: @@ -484,7 +475,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -494,52 +485,56 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ - ,\n \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"\ - type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"\ - dnsPrefix\": \"cliakstest-clitestaiij3t3zl-8ecadf\",\n \"fqdn\": \"cliakstest-clitestaiij3t3zl-8ecadf-41ea7141.hcp.westeurope.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"2906d251-a2c2-44cc-ad82-c2575bd21a47\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\n\ - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_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_clitest000001_cliakstest000002_westeurope/providers/Microsoft.Network/publicIPAddresses/84e2a8f1-8580-4b62-8df1-93e923283b7c\"\ - \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\": 100\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\"\ - : \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestr6ut3bb26-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/2e249ce7-a2ea-4421-a0c6-94f182b72660\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '2648' + - '3355' content-type: - application/json date: - - Tue, 10 Nov 2020 10:59:58 GMT + - Mon, 12 Jul 2021 11:02:13 GMT expires: - '-1' pragma: @@ -571,54 +566,56 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ - ,\n \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"\ - type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"\ - dnsPrefix\": \"cliakstest-clitestaiij3t3zl-8ecadf\",\n \"fqdn\": \"cliakstest-clitestaiij3t3zl-8ecadf-41ea7141.hcp.westeurope.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"2906d251-a2c2-44cc-ad82-c2575bd21a47\"\n },\n \"addonProfiles\"\ - : {\n \"KubeDashboard\": {\n \"enabled\": true,\n \"config\": null\n\ - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_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_clitest000001_cliakstest000002_westeurope/providers/Microsoft.Network/publicIPAddresses/84e2a8f1-8580-4b62-8df1-93e923283b7c\"\ - \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\": 100\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\"\ - : \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestr6ut3bb26-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/2e249ce7-a2ea-4421-a0c6-94f182b72660\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '2648' + - '3355' content-type: - application/json date: - - Tue, 10 Nov 2020 11:00:00 GMT + - Mon, 12 Jul 2021 11:02:14 GMT expires: - '-1' pragma: @@ -637,22 +634,27 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westeurope", "properties": {"kubernetesVersion": "1.17.13", - "dnsPrefix": "cliakstest-clitestaiij3t3zl-8ecadf", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "orchestratorVersion": "1.17.13", "enableNodePublicIP": false, "nodeLabels": - {}, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": - {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7"}]}}, - "servicePrincipalProfile": {"clientId": "00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": true}}, "nodeResourceGroup": - "MC_clitest000001_cliakstest000002_westeurope", "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_westeurope/providers/Microsoft.Network/publicIPAddresses/84e2a8f1-8580-4b62-8df1-93e923283b7c"}]}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' + body: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "1.19.11", "dnsPrefix": "cliakstest-clitestr6ut3bb26-79a739", "agentPoolProfiles": + [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": + "Managed", "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "osSKU": + "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.19.11", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ"}]}}, + "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "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/2e249ce7-a2ea-4421-a0c6-94f182b72660"}]}}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}, "location": "westus2", "sku": {"name": "Basic", + "tier": "Free"}}' headers: Accept: - application/json @@ -663,64 +665,64 @@ interactions: Connection: - keep-alive Content-Length: - - '1774' + - '2219' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ - ,\n \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"\ - type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"\ - dnsPrefix\": \"cliakstest-clitestaiij3t3zl-8ecadf\",\n \"fqdn\": \"cliakstest-clitestaiij3t3zl-8ecadf-41ea7141.hcp.westeurope.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null\n }\n },\n \"nodeResourceGroup\"\ - : \"MC_clitest000001_cliakstest000002_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_clitest000001_cliakstest000002_westeurope/providers/Microsoft.Network/publicIPAddresses/84e2a8f1-8580-4b62-8df1-93e923283b7c\"\ - \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\": 100\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ - ,\n \"principalId\": \"c274d261-0bd3-422e-b4eb-1d63e3c86107\",\n \"tenantId\"\ - : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ - : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestr6ut3bb26-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/2e249ce7-a2ea-4421-a0c6-94f182b72660\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/westeurope/operations/2e9d179f-8954-4995-b28e-e5c44a1532bb?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/601f53d8-a0b8-4f9d-b197-96767d1acdd9?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2775' + - '3353' content-type: - application/json date: - - Tue, 10 Nov 2020 11:00:07 GMT + - Mon, 12 Jul 2021 11:02:18 GMT expires: - '-1' pragma: @@ -736,56 +738,7 @@ 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: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/2e9d179f-8954-4995-b28e-e5c44a1532bb?api-version=2017-08-31 - response: - body: - string: "{\n \"name\": \"9f179d2e-5489-9549-b28e-e5c44a1532bb\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T11:00:05.4813941Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 10 Nov 2020 11:00: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 + - '1194' status: code: 200 message: OK @@ -793,7 +746,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -803,15 +756,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/2e9d179f-8954-4995-b28e-e5c44a1532bb?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/601f53d8-a0b8-4f9d-b197-96767d1acdd9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9f179d2e-5489-9549-b28e-e5c44a1532bb\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2020-11-10T11:00:05.4813941Z\"\n }" + string: "{\n \"name\": \"d8531f60-b8a0-9d4f-b197-96767d1acdd9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-12T11:02:17.6966666Z\"\n }" headers: cache-control: - no-cache @@ -820,7 +772,7 @@ interactions: content-type: - application/json date: - - Tue, 10 Nov 2020 11:01:08 GMT + - Mon, 12 Jul 2021 11:02:47 GMT expires: - '-1' pragma: @@ -842,7 +794,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -852,16 +804,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/2e9d179f-8954-4995-b28e-e5c44a1532bb?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/601f53d8-a0b8-4f9d-b197-96767d1acdd9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9f179d2e-5489-9549-b28e-e5c44a1532bb\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2020-11-10T11:00:05.4813941Z\",\n \"\ - endTime\": \"2020-11-10T11:01:20.8832719Z\"\n }" + string: "{\n \"name\": \"d8531f60-b8a0-9d4f-b197-96767d1acdd9\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-12T11:02:17.6966666Z\",\n \"endTime\": + \"2021-07-12T11:03:14.3982698Z\"\n }" headers: cache-control: - no-cache @@ -870,7 +821,7 @@ interactions: content-type: - application/json date: - - Tue, 10 Nov 2020 11:01:39 GMT + - Mon, 12 Jul 2021 11:03:18 GMT expires: - '-1' pragma: @@ -892,7 +843,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -902,60 +853,56 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.5 Azure-SDK-For-Python - AZURECLI/2.14.2 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ - ,\n \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"\ - type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.17.13\",\n \"\ - dnsPrefix\": \"cliakstest-clitestaiij3t3zl-8ecadf\",\n \"fqdn\": \"cliakstest-clitestaiij3t3zl-8ecadf-41ea7141.hcp.westeurope.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ - \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"maxPods\": 110,\n \"\ - type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.17.13\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\":\ - \ {},\n \"mode\": \"System\",\n \"osType\": \"Linux\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804-2021.01.06\"\n }\n ],\n \"linuxProfile\": {\n \ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSlNNOwMw6aHvdkhUaMmfkjt19xPFa162alrqWaTFan0f864FGHVcSvXUvRBLeRj+x2RMlqr1TR6y73x07vqbaVApfssn52ROE3eKoX2cmez+EMaM19n2BzQLhr1lR/LkixeCM03/hYb3j16uaYeZ+zY060RdnVmPWVhslRRXmst+8cD3EXUkxdzmUa+J03nLyO8nqfCTKUltePz0FQ4IymD8ewa+sWgUlRKBwgoUBh35BFRAGq//OXuHFw6sowEIxwb5KSar4c2SHcewbSbuVFpWR7uhpYLXPJoISeASejQ4nfg+DlIbIf6mNwnLcqrHy6bwmwYeS36TUMHoxbCa7\"\ - \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ - clientId\": \"msi\"\n },\n \"addonProfiles\": {\n \"KubeDashboard\"\ - : {\n \"enabled\": true,\n \"config\": null,\n \"identity\": {\n\ - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/providers/Microsoft.ManagedIdentity/userAssignedIdentities/kubedashboard-cliakstest000002\"\ - ,\n \"clientId\": \"80017832-5094-48d0-a825-4e02ce8764ae\",\n \"\ - objectId\": \"e52f575f-4802-4561-ada0-c1b57484947b\"\n }\n }\n },\n\ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_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_clitest000001_cliakstest000002_westeurope/providers/Microsoft.Network/publicIPAddresses/84e2a8f1-8580-4b62-8df1-93e923283b7c\"\ - \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\": 100,\n \"identityProfile\": {\n \"kubeletidentity\"\ - : {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\"\ - ,\n \"clientId\": \"39abaa79-76c3-4140-a87d-b7041422fbe4\",\n \"objectId\"\ - : \"fe0c31f2-80eb-4b45-881d-43283d28dc47\"\n }\n }\n },\n \"identity\"\ - : {\n \"type\": \"SystemAssigned\",\n \"principalId\": \"c274d261-0bd3-422e-b4eb-1d63e3c86107\"\ - ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ - : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + 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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestr6ut3bb26-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestr6ut3bb26-79a739-4b0c14a8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDyWScGBDe6/JQs1LbwYGkJ6NZ6Fd24ypFkP+3u2gnj23vmyHqjDsdR7DxdIulecf2+kjqJcTzzR9bCRkkwsOzOPQRKYXIql0Ifz2xnIyhJJNWOZ7/XO818nDw+E2oTlT2epYDohkTNOrZVv7CVX41X7YGzuOnxamwg3k6D1te7ruJOqDFfItmyv2sSpyL11brrLBGKmrDcqtBPUAkoWhTOgEiIrts/wFMSJkb175oQvwptDIHCzR8QeBnIgp/nLXhHaxM6i3ws9GFv3Bwou1IMYIARyQUFwMPEXNsi+JfzETAOhO1P85qoFiR3UQnDP4+yDmkmyaoInarEye6rShjJ\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/2e249ce7-a2ea-4421-a0c6-94f182b72660\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: - - '3546' + - '3355' content-type: - application/json date: - - Tue, 10 Nov 2020 11:01:40 GMT + - Mon, 12 Jul 2021 11:03:18 GMT expires: - '-1' pragma: @@ -989,29 +936,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.6.9 (Linux-5.0.0-1035-azure-x86_64-with-Ubuntu-18.04-bionic) msrest/0.6.11 - msrest_azure/0.6.3 azure-mgmt-containerservice/9.4.0 Azure-SDK-For-Python - AZURECLI/2.14.2 - accept-language: - - en-US + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.8.10 + (Linux-5.4.0-1051-azure-x86_64-with-glibc2.27) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/e2a6e8d9-3916-4a26-a757-8b1440aff3b1?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f4188b67-c285-4b9f-b39c-6c4024f33f70?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 10 Nov 2020 11:01:41 GMT + - Mon, 12 Jul 2021 11:03:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operationresults/e2a6e8d9-3916-4a26-a757-8b1440aff3b1?api-version=2017-08-31 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/f4188b67-c285-4b9f-b39c-6c4024f33f70?api-version=2016-03-30 pragma: - no-cache server: @@ -1021,7 +965,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14997' status: code: 202 message: Accepted 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 7f664347361..a927e58f887 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 @@ -5,6 +5,7 @@ import unittest import os +import tempfile from azure.cli.testsdk import ( ResourceGroupPreparer, RoleBasedServicePrincipalPreparer, ScenarioTest, live_only) @@ -44,8 +45,6 @@ def test_get_os_options(self): 'type', 'Microsoft.ContainerService/locations/osOptions') ]) - # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. - @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_group_location): @@ -57,7 +56,8 @@ 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 VirtualMachineScaleSets -c 1 ' \ - '--enable-aad --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000001 -o json' + '--enable-aad --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000001 ' \ + '--generate-ssh-keys -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), @@ -77,8 +77,6 @@ def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_g '00000000-0000-0000-0000-000000000003') ]) - # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. - @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='canadacentral') def test_aks_create_aadv1_and_update_with_managed_aad(self, resource_group, resource_group_location): @@ -94,7 +92,7 @@ def test_aks_create_aadv1_and_update_with_managed_aad(self, resource_group, reso '--aad-server-app-secret fake-secret ' \ '--aad-client-app-id 00000000-0000-0000-0000-000000000002 ' \ '--aad-tenant-id d5b55040-0c14-48cc-a028-91457fc190d9 ' \ - '-o json' + '--generate-ssh-keys -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', None), @@ -119,8 +117,6 @@ def test_aks_create_aadv1_and_update_with_managed_aad(self, resource_group, reso '00000000-0000-0000-0000-000000000004') ]) - # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. - @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='canadacentral') def test_aks_create_nonaad_and_update_with_managed_aad(self, resource_group, resource_group_location): @@ -132,7 +128,7 @@ def test_aks_create_nonaad_and_update_with_managed_aad(self, resource_group, res create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ '--vm-set-type VirtualMachineScaleSets --node-count=1 ' \ - '-o json' + '--generate-ssh-keys -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('aadProfile', None) @@ -151,8 +147,6 @@ def test_aks_create_nonaad_and_update_with_managed_aad(self, resource_group, res '00000000-0000-0000-0000-000000000002') ]) - # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. - @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_and_update_with_managed_aad_enable_azure_rbac(self, resource_group, resource_group_location): @@ -164,7 +158,8 @@ def test_aks_create_and_update_with_managed_aad_enable_azure_rbac(self, resource create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ '--vm-set-type VirtualMachineScaleSets -c 1 ' \ - '--enable-aad --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000001 -o json' + '--enable-aad --aad-admin-group-object-ids 00000000-0000-0000-0000-000000000001 ' \ + '--generate-ssh-keys -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('aadProfile.managed', True), @@ -686,7 +681,6 @@ def test_aks_create_with_virtual_node_addon(self, resource_group, resource_group self.is_empty(), ]) - @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_stop_and_start(self, resource_group, resource_group_location): @@ -696,7 +690,7 @@ def test_aks_stop_and_start(self, resource_group, resource_group_location): 'name': aks_name }) - create_cmd = 'aks create --resource-group={resource_group} --name={name}' + create_cmd = 'aks create --resource-group={resource_group} --name={name} --generate-ssh-keys' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), ]) @@ -776,6 +770,7 @@ def test_aks_nodepool_add_with_ossku(self, resource_group, resource_group_locati }) create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ + '--generate-ssh-keys ' \ '--nodepool-name {node_pool_name} ' \ '-c 1' self.cmd(create_cmd, checks=[ @@ -809,6 +804,7 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location }) create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ + '--generate-ssh-keys ' \ '--nodepool-name {node_pool_name} ' \ '-c 1' self.cmd(create_cmd, checks=[ @@ -1033,7 +1029,6 @@ def test_aks_create_with_ahub(self, resource_group, resource_group_location): self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westeurope') def test_aks_update_to_msi_cluster(self, resource_group, resource_group_location): @@ -1043,7 +1038,7 @@ def test_aks_update_to_msi_cluster(self, resource_group, resource_group_location 'name': aks_name }) - create_cmd = 'aks create --resource-group={resource_group} --name={name} --generate-ssh-keys ' + create_cmd = 'aks create --resource-group={resource_group} --name={name} --generate-ssh-keys' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), ]) @@ -1068,7 +1063,8 @@ def test_aks_create_with_gitops_addon(self, resource_group, resource_group_locat 'name': aks_name, }) - create_cmd = 'aks create --resource-group={resource_group} --name={name} -a gitops -o json' + create_cmd = 'aks create --resource-group={resource_group} --name={name} -a gitops ' \ + '--generate-ssh-keys -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('addonProfiles.gitops.enabled', True), @@ -1084,7 +1080,8 @@ def test_aks_enable_addon_with_gitops(self, resource_group, resource_group_locat 'name': aks_name, }) - create_cmd = 'aks create --resource-group={resource_group} --name={name} -o json' + create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ + '--generate-ssh-keys -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('addonProfiles.gitops', None), @@ -1106,7 +1103,8 @@ def test_aks_disable_addon_gitops(self, resource_group, resource_group_location) 'name': aks_name, }) - create_cmd = 'aks create --resource-group={resource_group} --name={name} -a gitops -o json' + create_cmd = 'aks create --resource-group={resource_group} --name={name} -a gitops ' \ + '--generate-ssh-keys -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('addonProfiles.gitops.enabled', True), @@ -1887,7 +1885,8 @@ def test_aks_disable_local_accounts(self, resource_group, resource_group_locatio 'name': aks_name }) - create_cmd = 'aks create --resource-group={resource_group} --name={name} --enable-managed-identity --disable-local-accounts' + create_cmd = 'aks create --resource-group={resource_group} --name={name} --generate-ssh-keys ' \ + '--enable-managed-identity --disable-local-accounts' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('disableLocalAccounts', True) @@ -1903,7 +1902,6 @@ def test_aks_disable_local_accounts(self, resource_group, resource_group_locatio self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_enable_utlra_ssd(self, resource_group, resource_group_location): @@ -1913,7 +1911,8 @@ def test_aks_enable_utlra_ssd(self, resource_group, resource_group_location): 'name': aks_name }) - create_cmd = 'aks create --resource-group={resource_group} --name={name} --node-vm-size Standard_D2s_v3 --zones 1 2 3 --enable-ultra-ssd' + create_cmd = 'aks create --resource-group={resource_group} --name={name} --generate-ssh-keys ' \ + '--node-vm-size Standard_D2s_v3 --zones 1 2 3 --enable-ultra-ssd' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded') ]) From 31153906558264de8a82b4b0b96120a57b23f3c3 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Wed, 14 Jul 2021 12:42:15 +0800 Subject: [PATCH 76/85] [AKS] `az aks maintenance_configurations`: Fix issue that `add` subcommand cannot work (#3635) * fix aks maintenance_configurations command * add test for maintenanceconfiguration * remove useless vendored 2020_12_01 SDK & update version --- .../maintenanceconfiguration.py | 26 +- .../tests/latest/data/maintenanceconfig.json | 28 + .../test_aks_maintenanceconfiguration.yaml | 919 +++++ .../tests/latest/test_aks_commands.py | 54 + .../v2020_12_01/__init__.py | 16 - .../v2020_12_01/_configuration.py | 70 - .../v2020_12_01/_container_service_client.py | 119 - .../v2020_12_01/aio/__init__.py | 10 - .../v2020_12_01/aio/_configuration.py | 66 - .../aio/_container_service_client.py | 112 - .../v2020_12_01/aio/operations/__init__.py | 25 - .../aio/operations/_agent_pools_operations.py | 689 ---- .../_maintenance_configurations_operations.py | 317 -- .../_managed_clusters_operations.py | 1496 ------- .../v2020_12_01/aio/operations/_operations.py | 104 - ...private_endpoint_connections_operations.py | 357 -- .../_private_link_resources_operations.py | 102 - ...olve_private_link_service_id_operations.py | 110 - .../v2020_12_01/models/__init__.py | 277 -- .../models/_container_service_client_enums.py | 412 -- .../v2020_12_01/models/_models.py | 3251 --------------- .../v2020_12_01/models/_models_py3.py | 3637 ----------------- .../v2020_12_01/operations/__init__.py | 25 - .../operations/_agent_pools_operations.py | 703 ---- .../_maintenance_configurations_operations.py | 325 -- .../_managed_clusters_operations.py | 1524 ------- .../v2020_12_01/operations/_operations.py | 109 - ...private_endpoint_connections_operations.py | 366 -- .../_private_link_resources_operations.py | 107 - ...olve_private_link_service_id_operations.py | 115 - src/aks-preview/setup.py | 2 +- 31 files changed, 1018 insertions(+), 14455 deletions(-) create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/__init__.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_configuration.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/__init__.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py diff --git a/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py b/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py index e842a19f9ba..261c566c3c7 100644 --- a/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py +++ b/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py @@ -4,21 +4,22 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from .vendored_sdks.azure_mgmt_preview_aks.v2020_12_01.models import (MaintenanceConfiguration, - TimeInWeek, - TimeSpan) from knack.util import CLIError from knack.log import get_logger from azure.cli.core.util import get_file_json +from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW logger = get_logger(__name__) -def getMaintenanceConfiguration(config_file, weekday, start_hour): +def getMaintenanceConfiguration(cmd, config_file, weekday, start_hour): if config_file is not None and weekday is not None: raise CLIError('either config-file or weekday can be supplied.') if weekday is None and start_hour is not None: raise CLIError('if maintenance-start-hour is supplied, maintenance-weekday must be supplied too.') + # get models + MaintenanceConfiguration = cmd.get_models('MaintenanceConfiguration', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') + TimeInWeek = cmd.get_models('TimeInWeek', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') if weekday is not None: dict = {} @@ -26,12 +27,12 @@ def getMaintenanceConfiguration(config_file, weekday, start_hour): if start_hour is not None: dict["hour_slots"] = [start_hour] timeInWeek = TimeInWeek(**dict) - result = MaintenanceConfiguration + result = MaintenanceConfiguration() result.time_in_week = [timeInWeek] result.not_allowed_time = [] return result - return _get_maintenance_config(config_file) + return _get_maintenance_config(cmd, config_file) def aks_maintenanceconfiguration_update_internal( @@ -46,11 +47,16 @@ def aks_maintenanceconfiguration_update_internal( ): logger.info('resource_group_name: %s, cluster_name: %s, config_name: %s, config_file: %s, weekday: %s, start_hour: %s ', resource_group_name, cluster_name, config_name, config_file, weekday, start_hour) - config = getMaintenanceConfiguration(config_file, weekday, start_hour) - return client.create_or_update(resource_group_name=resource_group_name, resource_name=cluster_name, config_name=config_name, time_in_week=config.time_in_week, not_allowed_time=config.not_allowed_time) + config = getMaintenanceConfiguration(cmd, config_file, weekday, start_hour) + return client.create_or_update(resource_group_name=resource_group_name, resource_name=cluster_name, config_name=config_name, parameters=config) -def _get_maintenance_config(file_path): +def _get_maintenance_config(cmd, file_path): + # get models + MaintenanceConfiguration = cmd.get_models('MaintenanceConfiguration', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') + TimeInWeek = cmd.get_models('TimeInWeek', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') + TimeSpan = cmd.get_models('TimeSpan', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') + maintenance_config = get_file_json(file_path) logger.info(maintenance_config) if not isinstance(maintenance_config, dict): @@ -69,7 +75,7 @@ def _get_maintenance_config(file_path): t = TimeSpan(**item) logger.info('start: %s, end: %s ', t.start, t.end) not_allowed.append(t) - result = MaintenanceConfiguration + result = MaintenanceConfiguration() result.time_in_week = week_schedule result.not_allowed_time = not_allowed return result diff --git a/src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json b/src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json new file mode 100644 index 00000000000..7a2d251bc4d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json @@ -0,0 +1,28 @@ +{ + "timeInWeek": [ + { + "day": "Tuesday", + "hour_slots": [ + 1, + 2 + ] + }, + { + "day": "Wednesday", + "hour_slots": [ + 1, + 6 + ] + } + ], + "notAllowedTime": [ + { + "start": "2021-11-26T03:00:00Z", + "end": "2021-11-30T12:00:00Z" + }, + { + "start": "2021-12-26T03:00:00Z", + "end": "2021-12-26T12:00:00Z" + } + ] +} \ No newline at end of file diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml new file mode 100644 index 00000000000..b810c6c0154 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml @@ -0,0 +1,919 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-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":"2021-07-13T05:53:19Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 13 Jul 2021 05:53:23 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: '{"identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitestw6eeg55xc-79a739", "agentPoolProfiles": + [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6z3ZMu10ekljkhG+iyPQykGNsbEQdiqVlK6iALKJ/52VqR0nTshoOw80L6HT0M6PolTpub4+gjdtDIBcMOI6stUNKxUE97zyXjTFj79fAocC7OPiZO5+YK1fxL0HIwJmn+zSSFm53toov1QZhsjOs3QbpjMMCA6MLv3+F4qSKMDuUzfFBvEke/IJUXgn4mN7Dly3kzFY0LlhUwxN6Lg077ZX4rbLLf1d++YC8krLremfla2jn2xWunt91YUubh9p9cCtuRyii1DFRRBeRVmybV14g8m3jUDGVEh6yF6HdSUSdLjch3yPBGL+Hvhrgb8BC4yWvoLdlWNvxttnUlj1r"}]}}, + "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": "standard"}, "disableLocalAccounts": false}, + "location": "westus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1322' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestw6eeg55xc-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestw6eeg55xc-79a739-192f4444.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestw6eeg55xc-79a739-192f4444.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQC6z3ZMu10ekljkhG+iyPQykGNsbEQdiqVlK6iALKJ/52VqR0nTshoOw80L6HT0M6PolTpub4+gjdtDIBcMOI6stUNKxUE97zyXjTFj79fAocC7OPiZO5+YK1fxL0HIwJmn+zSSFm53toov1QZhsjOs3QbpjMMCA6MLv3+F4qSKMDuUzfFBvEke/IJUXgn4mN7Dly3kzFY0LlhUwxN6Lg077ZX4rbLLf1d++YC8krLremfla2jn2xWunt91YUubh9p9cCtuRyii1DFRRBeRVmybV14g8m3jUDGVEh6yF6HdSUSdLjch3yPBGL+Hvhrgb8BC4yWvoLdlWNvxttnUlj1r\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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\": + 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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/5411ad07-0787-4b35-9cdc-22c3b88dbe34?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2692' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:53:35 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5411ad07-0787-4b35-9cdc-22c3b88dbe34?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"07ad1154-8707-354b-9cdc-22c3b88dbe34\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-13T05:53:34.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:54: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5411ad07-0787-4b35-9cdc-22c3b88dbe34?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"07ad1154-8707-354b-9cdc-22c3b88dbe34\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-13T05:53:34.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:54: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5411ad07-0787-4b35-9cdc-22c3b88dbe34?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"07ad1154-8707-354b-9cdc-22c3b88dbe34\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-13T05:53:34.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:55: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5411ad07-0787-4b35-9cdc-22c3b88dbe34?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"07ad1154-8707-354b-9cdc-22c3b88dbe34\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-13T05:53:34.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:55:36 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5411ad07-0787-4b35-9cdc-22c3b88dbe34?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"07ad1154-8707-354b-9cdc-22c3b88dbe34\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-07-13T05:53:34.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5411ad07-0787-4b35-9cdc-22c3b88dbe34?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"07ad1154-8707-354b-9cdc-22c3b88dbe34\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-07-13T05:53:34.2Z\",\n \"endTime\": + \"2021-07-13T05:56:31.338001Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '163' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-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 \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.11\",\n \"dnsPrefix\": \"cliakstest-clitestw6eeg55xc-79a739\",\n + \ \"fqdn\": \"cliakstest-clitestw6eeg55xc-79a739-192f4444.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestw6eeg55xc-79a739-192f4444.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.11\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.06.09\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQC6z3ZMu10ekljkhG+iyPQykGNsbEQdiqVlK6iALKJ/52VqR0nTshoOw80L6HT0M6PolTpub4+gjdtDIBcMOI6stUNKxUE97zyXjTFj79fAocC7OPiZO5+YK1fxL0HIwJmn+zSSFm53toov1QZhsjOs3QbpjMMCA6MLv3+F4qSKMDuUzfFBvEke/IJUXgn4mN7Dly3kzFY0LlhUwxN6Lg077ZX4rbLLf1d++YC8krLremfla2jn2xWunt91YUubh9p9cCtuRyii1DFRRBeRVmybV14g8m3jUDGVEh6yF6HdSUSdLjch3yPBGL+Hvhrgb8BC4yWvoLdlWNvxttnUlj1r\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\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/24f3e4c5-b74c-4051-8beb-b0b04f4eb334\"\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\": + 100,\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\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\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: + - '3355' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56: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 maintenanceconfiguration add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n --weekday --start-hour + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2021-05-01 + response: + body: + string: "{\n \"value\": []\n }" + headers: + cache-control: + - no-cache + content-length: + - '18' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56:40 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: '{"properties": {"timeInWeek": [{"day": "Monday", "hourSlots": [1]}], "notAllowedTime": + []}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks maintenanceconfiguration add + Connection: + - keep-alive + Content-Length: + - '91' + Content-Type: + - application/json + ParameterSetName: + - -g --cluster-name -n --weekday --start-hour + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-05-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n + \ \"name\": \"default\",\n \"properties\": {\n \"timeInWeek\": [\n {\n + \ \"day\": \"Monday\",\n \"hourSlots\": [\n 1\n ]\n }\n + \ ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '340' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56:41 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 + Accept-Encoding: + - gzip, deflate + CommandName: + - aks maintenanceconfiguration update + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n --config-file + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2021-05-01 + response: + body: + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n + \ \"name\": \"default\",\n \"properties\": {\n \"timeInWeek\": [\n + \ {\n \"day\": \"Monday\",\n \"hourSlots\": [\n 1\n + \ ]\n }\n ]\n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '391' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56:42 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: '{"properties": {"timeInWeek": [{"day": "Tuesday", "hourSlots": [1, 2]}, + {"day": "Wednesday", "hourSlots": [1, 6]}], "notAllowedTime": [{"start": "2021-11-26T03:00:00.000Z", + "end": "2021-11-30T12:00:00.000Z"}, {"start": "2021-12-26T03:00:00.000Z", "end": + "2021-12-26T12:00:00.000Z"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks maintenanceconfiguration update + Connection: + - keep-alive + Content-Length: + - '284' + Content-Type: + - application/json + ParameterSetName: + - -g --cluster-name -n --config-file + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-05-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n + \ \"name\": \"default\",\n \"properties\": {\n \"timeInWeek\": [\n {\n + \ \"day\": \"Tuesday\",\n \"hourSlots\": [\n 1,\n 2\n ]\n + \ },\n {\n \"day\": \"Wednesday\",\n \"hourSlots\": [\n 1,\n + \ 6\n ]\n }\n ],\n \"notAllowedTime\": [\n {\n \"start\": + \"2021-11-26T03:00:00Z\",\n \"end\": \"2021-11-30T12:00:00Z\"\n },\n + \ {\n \"start\": \"2021-12-26T03:00:00Z\",\n \"end\": \"2021-12-26T12:00:00Z\"\n + \ }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '632' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56:43 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: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks maintenanceconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-05-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n + \ \"name\": \"default\",\n \"properties\": {\n \"timeInWeek\": [\n {\n + \ \"day\": \"Tuesday\",\n \"hourSlots\": [\n 1,\n 2\n ]\n + \ },\n {\n \"day\": \"Wednesday\",\n \"hourSlots\": [\n 1,\n + \ 6\n ]\n }\n ],\n \"notAllowedTime\": [\n {\n \"start\": + \"2021-11-26T03:00:00Z\",\n \"end\": \"2021-11-30T12:00:00Z\"\n },\n + \ {\n \"start\": \"2021-12-26T03:00:00Z\",\n \"end\": \"2021-12-26T12:00:00Z\"\n + \ }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '632' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56:45 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 maintenanceconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 13 Jul 2021 05:56:46 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-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks maintenanceconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2021-05-01 + response: + body: + string: "{\n \"value\": []\n }" + headers: + cache-control: + - no-cache + content-length: + - '18' + content-type: + - application/json + date: + - Tue, 13 Jul 2021 05:56:49 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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-containerservice/16.0.0 Python/3.6.9 + (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b943ed48-4efc-430a-a146-f4b5d70433b7?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 13 Jul 2021 05:56:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b943ed48-4efc-430a-a146-f4b5d70433b7?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + 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/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 a927e58f887..10735f072cc 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 @@ -1920,3 +1920,57 @@ def test_aks_enable_utlra_ssd(self, resource_group, resource_group_location): # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_maintenanceconfiguration(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'mc_path': _get_test_data_file('maintenanceconfig.json') + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} --generate-ssh-keys' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded') + ]) + + # maintenanceconfiguration add + maintenance_configuration_add_cmd = 'aks maintenanceconfiguration add -g {resource_group} --cluster-name {name} -n default --weekday Monday --start-hour 1' + self.cmd( + maintenance_configuration_add_cmd, checks=[ + self.check('timeInWeek[0].day', 'Monday'), + self.check('timeInWeek[0].day', 'Monday'), + self.check('timeInWeek[0].hourSlots | contains(@, `1`)', True)] + ) + + # maintenanceconfiguration update (from config file) + maintenance_configuration_update_cmd = 'aks maintenanceconfiguration update -g {resource_group} --cluster-name {name} -n default --config-file {mc_path}' + self.cmd( + maintenance_configuration_update_cmd, checks=[ + self.check("timeInWeek[*].day | contains(@, 'Tuesday') && contains(@, 'Wednesday')", True), + self.check("timeInWeek[*].hourSlots[*] | contains([0], `2`) && contains([1], `6`)", True), + self.check("notAllowedTime | length(@) == `2`", True)] + ) + + # maintenanceconfiguration show + maintenance_configuration_show_cmd = 'aks maintenanceconfiguration show -g {resource_group} --cluster-name {name} -n default' + self.cmd( + maintenance_configuration_show_cmd, checks=[ + self.check("name == 'default'", True)] + ) + + # maintenanceconfiguration delete + maintenance_configuration_delete_cmd = 'aks maintenanceconfiguration delete -g {resource_group} --cluster-name {name} -n default' + self.cmd( + maintenance_configuration_delete_cmd, checks=[self.is_empty()]) + + # maintenanceconfiguration list + maintenance_configuration_list_cmd = 'aks maintenanceconfiguration list -g {resource_group} --cluster-name {name}' + self.cmd( + maintenance_configuration_list_cmd, checks=[self.is_empty()]) + + # delete + self.cmd( + 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py deleted file mode 100755 index eb3d7ba7a26..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from ._container_service_client import ContainerServiceClient -__all__ = ['ContainerServiceClient'] - -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.py deleted file mode 100755 index df9ec3d69a1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_configuration.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 typing import TYPE_CHECKING - -from azure.core.configuration import Configuration -from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any - - from azure.core.credentials import TokenCredential - -VERSION = "unknown" - -class ContainerServiceClientConfiguration(Configuration): - """Configuration for ContainerServiceClient. - - 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) - - self.credential = credential - self.subscription_id = subscription_id - self.api_version = "2020-12-01" - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py deleted file mode 100755 index 99757c3b160..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/_container_service_client.py +++ /dev/null @@ -1,119 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import ContainerServiceClientConfiguration -from .operations import Operations -from .operations import ManagedClustersOperations -from .operations import MaintenanceConfigurationsOperations -from .operations import AgentPoolsOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ResolvePrivateLinkServiceIdOperations -from . import models - - -class ContainerServiceClient(object): - """The Container Service Client. - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.v2020_12_01.operations.Operations - :ivar managed_clusters: ManagedClustersOperations operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_12_01.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations - :vartype maintenance_configurations: azure.mgmt.containerservice.v2020_12_01.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPoolsOperations operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_12_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2020_12_01.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.containerservice.v2020_12_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2020_12_01.operations.ResolvePrivateLinkServiceIdOperations - :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 - :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False - 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.maintenance_configurations = MaintenanceConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.agent_pools = AgentPoolsOperations( - 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse - """Runs the network request through the client's chained policies. - - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. - :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse - """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response - - def close(self): - # type: () -> None - self._client.close() - - def __enter__(self): - # type: () -> ContainerServiceClient - self._client.__enter__() - return self - - def __exit__(self, *exc_details): - # type: (Any) -> None - self._client.__exit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/__init__.py deleted file mode 100755 index 4ad2bb20096..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/__init__.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. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from ._container_service_client import ContainerServiceClient -__all__ = ['ContainerServiceClient'] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_configuration.py deleted file mode 100755 index f1409a83c25..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_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 typing import Any, TYPE_CHECKING - -from azure.core.configuration import Configuration -from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials_async import AsyncTokenCredential - -VERSION = "unknown" - -class ContainerServiceClientConfiguration(Configuration): - """Configuration for ContainerServiceClient. - - 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) - - self.credential = credential - self.subscription_id = subscription_id - self.api_version = "2020-12-01" - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.py deleted file mode 100755 index 886a31c0e7b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/_container_service_client.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. -# -------------------------------------------------------------------------- - -from typing import Any, Optional, TYPE_CHECKING - -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -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 import ContainerServiceClientConfiguration -from .operations import Operations -from .operations import ManagedClustersOperations -from .operations import MaintenanceConfigurationsOperations -from .operations import AgentPoolsOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ResolvePrivateLinkServiceIdOperations -from .. import models - - -class ContainerServiceClient(object): - """The Container Service Client. - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.v2020_12_01.aio.operations.Operations - :ivar managed_clusters: ManagedClustersOperations operations - :vartype managed_clusters: azure.mgmt.containerservice.v2020_12_01.aio.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations - :vartype maintenance_configurations: azure.mgmt.containerservice.v2020_12_01.aio.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPoolsOperations operations - :vartype agent_pools: azure.mgmt.containerservice.v2020_12_01.aio.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2020_12_01.aio.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.containerservice.v2020_12_01.aio.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2020_12_01.aio.operations.ResolvePrivateLinkServiceIdOperations - :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 - :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 = ContainerServiceClientConfiguration(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._serialize.client_side_validation = False - 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.maintenance_configurations = MaintenanceConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.agent_pools = AgentPoolsOperations( - 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.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: - """Runs the network request through the client's chained policies. - - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. - :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse - """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "ContainerServiceClient": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/__init__.py deleted file mode 100755 index 3942e0ca6a0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ._maintenance_configurations_operations import MaintenanceConfigurationsOperations -from ._agent_pools_operations import AgentPoolsOperations -from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations -from ._private_link_resources_operations import PrivateLinkResourcesOperations -from ._resolve_private_link_service_id_operations import ResolvePrivateLinkServiceIdOperations - -__all__ = [ - 'Operations', - 'ManagedClustersOperations', - 'MaintenanceConfigurationsOperations', - 'AgentPoolsOperations', - 'PrivateEndpointConnectionsOperations', - 'PrivateLinkResourcesOperations', - 'ResolvePrivateLinkServiceIdOperations', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py deleted file mode 100755 index 44c927942f0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_agent_pools_operations.py +++ /dev/null @@ -1,689 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class AgentPoolsOperations: - """AgentPoolsOperations 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.containerservice.v2020_12_01.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, - resource_name: str, - **kwargs: Any - ) -> AsyncIterable["_models.AgentPoolListResult"]: - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('AgentPoolListResult', 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.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore - - async def get( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> "_models.AgentPool": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPool, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPool - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - async def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: "_models.AgentPool", - **kwargs: Any - ) -> "_models.AgentPool": - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'AgentPool') - 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) - - if response.status_code == 200: - deserialized = self._deserialize('AgentPool', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - parameters: "_models.AgentPool", - **kwargs: Any - ) -> AsyncLROPoller["_models.AgentPool"]: - """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_12_01.models.AgentPool - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either AgentPool or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - async def _delete_initial( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - async def begin_delete( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - async def get_upgrade_profile( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> "_models.AgentPoolUpgradeProfile": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPoolUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('AgentPoolUpgradeProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore - - async def get_available_agent_pool_versions( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.AgentPoolAvailableVersions": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPoolAvailableVersions, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolAvailableVersions - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('AgentPoolAvailableVersions', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore - - async def _upgrade_node_image_version_initial( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> Optional["_models.AgentPool"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._upgrade_node_image_version_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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 == 202: - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore - - async def begin_upgrade_node_image_version( - self, - resource_group_name: str, - resource_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> AsyncLROPoller["_models.AgentPool"]: - """Upgrade node image version of an agent pool to the latest. - - Upgrade node image version of an agent pool to the latest. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._upgrade_node_image_version_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_operations.py deleted file mode 100755 index 2093362e5e0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_maintenance_configurations_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. -# -------------------------------------------------------------------------- -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 ClientAuthenticationError, 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 as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class MaintenanceConfigurationsOperations: - """MaintenanceConfigurationsOperations 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.containerservice.v2020_12_01.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_managed_cluster( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncIterable["_models.MaintenanceConfigurationListResult"]: - """Gets a list of maintenance configurations in the specified managed cluster. - - Gets a list of maintenance configurations in the specified managed cluster. The operation - returns properties of each maintenance configuration. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfigurationListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # Construct URL - url = self.list_by_managed_cluster.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('MaintenanceConfigurationListResult', 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_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore - - async def get( - self, - resource_group_name: str, - resource_name: str, - config_name: str, - **kwargs: Any - ) -> "_models.MaintenanceConfiguration": - """Gets the maintenance configuration. - - Gets the details of maintenance configurations 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 config_name: The name of the maintenance configuration. - :type config_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: MaintenanceConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('MaintenanceConfiguration', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - resource_name: str, - config_name: str, - parameters: "_models.MaintenanceConfiguration", - **kwargs: Any - ) -> "_models.MaintenanceConfiguration": - """Creates or updates a maintenance configurations. - - Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. - :type config_name: str - :param parameters: Parameters supplied to the Create or Update a default maintenance - configuration. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration - :keyword callable cls: A custom type or function that will be passed the direct response - :return: MaintenanceConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "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'), - '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'MaintenanceConfiguration') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - resource_name: str, - config_name: str, - **kwargs: Any - ) -> None: - """Deletes a maintenance configuration. - - Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. - :type config_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 = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py deleted file mode 100755 index 5632558d944..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1496 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class ManagedClustersOperations: - """ManagedClustersOperations 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.containerservice.v2020_12_01.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: Any - ) -> AsyncIterable["_models.ManagedClusterListResult"]: - """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. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name: str, - **kwargs: Any - ) -> AsyncIterable["_models.ManagedClusterListResult"]: - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore - - async def get_upgrade_profile( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.ManagedClusterUpgradeProfile": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedClusterUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterUpgradeProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('ManagedClusterUpgradeProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore - - async def get_access_profile( - self, - resource_group_name: str, - resource_name: str, - role_name: str, - **kwargs: Any - ) -> "_models.ManagedClusterAccessProfile": - """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 - `_ or - `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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedClusterAccessProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAccessProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_access_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('ManagedClusterAccessProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore - - async def list_cluster_admin_credentials( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.CredentialResults": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('CredentialResults', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore - - async def list_cluster_user_credentials( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.CredentialResults": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_user_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('CredentialResults', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore - - async def list_cluster_monitoring_user_credentials( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.CredentialResults": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_monitoring_user_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('CredentialResults', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore - - async def get( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.ManagedCluster": - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedCluster, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - async def _create_or_update_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.ManagedCluster", - **kwargs: Any - ) -> "_models.ManagedCluster": - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedCluster') - 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) - - if response.status_code == 200: - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - async def begin_create_or_update( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.ManagedCluster", - **kwargs: Any - ) -> AsyncLROPoller["_models.ManagedCluster"]: - """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_12_01.models.ManagedCluster - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - async def _update_tags_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.TagsObject", - **kwargs: Any - ) -> "_models.ManagedCluster": - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_tags_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') - 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('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - async def begin_update_tags( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.TagsObject", - **kwargs: Any - ) -> AsyncLROPoller["_models.ManagedCluster"]: - """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 parameters: Parameters supplied to the Update Managed Cluster Tags operation. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.TagsObject - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._update_tags_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - async def _delete_initial( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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.ContainerService/managedClusters/{resourceName}'} # type: ignore - - async def begin_delete( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - async def _reset_service_principal_profile_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.ManagedClusterServicePrincipalProfile", - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') - 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, {}) - - _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore - - async def begin_reset_service_principal_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.ManagedClusterServicePrincipalProfile", - **kwargs: Any - ) -> AsyncLROPoller[None]: - """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 parameters: Parameters supplied to the Reset Service Principal Profile operation for a - Managed Cluster. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterServicePrincipalProfile - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._reset_service_principal_profile_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore - - async def _reset_aad_profile_initial( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.ManagedClusterAADProfile", - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._reset_aad_profile_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedClusterAADProfile') - 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, {}) - - _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore - - async def begin_reset_aad_profile( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.ManagedClusterAADProfile", - **kwargs: Any - ) -> AsyncLROPoller[None]: - """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_12_01.models.ManagedClusterAADProfile - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._reset_aad_profile_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore - - async def _rotate_cluster_certificates_initial( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._rotate_cluster_certificates_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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, 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, {}) - - _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore - - async def begin_rotate_cluster_certificates( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._rotate_cluster_certificates_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore - - async def _stop_initial( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._stop_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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, 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, {}) - - _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore - - async def begin_stop( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: - """Stop Managed Cluster. - - Stops a Running 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._stop_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore - - async def _start_initial( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._start_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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, 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, {}) - - _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore - - async def begin_start( - self, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: - """Start Managed Cluster. - - Starts a Stopped 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._start_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_operations.py deleted file mode 100755 index b667836960f..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_operations.py +++ /dev/null @@ -1,104 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class Operations: - """Operations 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.containerservice.v2020_12_01.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: Any - ) -> AsyncIterable["_models.OperationListResult"]: - """Gets a list of compute operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.OperationListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # 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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - 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 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.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py deleted file mode 100755 index 3571ebaa53b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,357 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling - -from ... import models as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class PrivateEndpointConnectionsOperations: - """PrivateEndpointConnectionsOperations 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.containerservice.v2020_12_01.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, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.PrivateEndpointConnectionListResult": - """Gets a list of private endpoint connections in the specified managed cluster. - - Gets a list of private endpoint connections in the specified managed cluster. The operation - returns properties of each private endpoint connection. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnectionListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('PrivateEndpointConnectionListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore - - async def get( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - **kwargs: Any - ) -> "_models.PrivateEndpointConnection": - """Gets the private endpoint connection. - - Gets the details of the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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]$'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - async def update( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - parameters: "_models.PrivateEndpointConnection", - **kwargs: Any - ) -> "_models.PrivateEndpointConnection": - """Updates a private endpoint connection. - - Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :param parameters: Parameters supplied to the Update a private endpoint connection operation. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "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'), - '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]$'), - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - async def _delete_initial( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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]$'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - async def begin_delete( - self, - resource_group_name: str, - resource_name: str, - private_endpoint_connection_name: str, - **kwargs: Any - ) -> AsyncLROPoller[None]: - """Deletes a private endpoint connection. - - Deletes the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), - } - - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_operations.py deleted file mode 100755 index c61ba658b05..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_private_link_resources_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. -# -------------------------------------------------------------------------- -from typing import Any, Callable, Dict, Generic, Optional, TypeVar -import warnings - -from azure.core.exceptions import ClientAuthenticationError, 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 as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class PrivateLinkResourcesOperations: - """PrivateLinkResourcesOperations 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.containerservice.v2020_12_01.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, - resource_group_name: str, - resource_name: str, - **kwargs: Any - ) -> "_models.PrivateLinkResourcesListResult": - """Gets a list of private link resources in the specified managed cluster. - - Gets a list of private link resources in the specified managed cluster. The operation returns - properties of each private link resource. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkResourcesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResourcesListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('PrivateLinkResourcesListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_operations.py deleted file mode 100755 index bbaa926aee3..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/aio/operations/_resolve_private_link_service_id_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. -# -------------------------------------------------------------------------- -from typing import Any, Callable, Dict, Generic, Optional, TypeVar -import warnings - -from azure.core.exceptions import ClientAuthenticationError, 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 as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class ResolvePrivateLinkServiceIdOperations: - """ResolvePrivateLinkServiceIdOperations 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.containerservice.v2020_12_01.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 post( - self, - resource_group_name: str, - resource_name: str, - parameters: "_models.PrivateLinkResource", - **kwargs: Any - ) -> "_models.PrivateLinkResource": - """Gets the private link service ID for the specified managed cluster. - - Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to resolve a private link - service ID. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkResource, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.post.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateLinkResource') - 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('PrivateLinkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.py deleted file mode 100755 index c0c6aed90fb..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/__init__.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. -# -------------------------------------------------------------------------- - -try: - from ._models_py3 import AgentPool - from ._models_py3 import AgentPoolAvailableVersions - from ._models_py3 import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem - from ._models_py3 import AgentPoolListResult - from ._models_py3 import AgentPoolUpgradeProfile - from ._models_py3 import AgentPoolUpgradeProfilePropertiesUpgradesItem - from ._models_py3 import AgentPoolUpgradeSettings - from ._models_py3 import CloudError - from ._models_py3 import CloudErrorBody - from ._models_py3 import Components1Q1Og48SchemasManagedclusterAllof1 - from ._models_py3 import Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties - from ._models_py3 import ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties - 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 KubeletConfig - from ._models_py3 import LinuxOSConfig - from ._models_py3 import MaintenanceConfiguration - from ._models_py3 import MaintenanceConfigurationListResult - from ._models_py3 import ManagedCluster - from ._models_py3 import ManagedClusterAADProfile - from ._models_py3 import ManagedClusterAPIServerAccessProfile - 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 ManagedClusterAutoUpgradeProfile - from ._models_py3 import ManagedClusterIdentity - from ._models_py3 import ManagedClusterListResult - from ._models_py3 import ManagedClusterLoadBalancerProfile - from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models_py3 import ManagedClusterPodIdentity - from ._models_py3 import ManagedClusterPodIdentityException - from ._models_py3 import ManagedClusterPodIdentityProfile - from ._models_py3 import ManagedClusterPodIdentityProvisioningInfo - from ._models_py3 import ManagedClusterPoolUpgradeProfile - from ._models_py3 import ManagedClusterPoolUpgradeProfileUpgradesItem - from ._models_py3 import ManagedClusterPropertiesAutoScalerProfile - from ._models_py3 import ManagedClusterSKU - from ._models_py3 import ManagedClusterServicePrincipalProfile - from ._models_py3 import ManagedClusterUpgradeProfile - from ._models_py3 import ManagedClusterWindowsProfile - from ._models_py3 import OperationListResult - from ._models_py3 import OperationValue - from ._models_py3 import PowerState - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourcesListResult - from ._models_py3 import PrivateLinkServiceConnectionState - from ._models_py3 import Resource - from ._models_py3 import ResourceReference - from ._models_py3 import SubResource - from ._models_py3 import SysctlConfig - from ._models_py3 import SystemData - from ._models_py3 import TagsObject - from ._models_py3 import TimeInWeek - from ._models_py3 import TimeSpan - from ._models_py3 import UserAssignedIdentity -except (SyntaxError, ImportError): - from ._models import AgentPool # type: ignore - from ._models import AgentPoolAvailableVersions # type: ignore - from ._models import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem # type: ignore - from ._models import AgentPoolListResult # type: ignore - from ._models import AgentPoolUpgradeProfile # type: ignore - from ._models import AgentPoolUpgradeProfilePropertiesUpgradesItem # type: ignore - from ._models import AgentPoolUpgradeSettings # type: ignore - from ._models import CloudError # type: ignore - from ._models import CloudErrorBody # type: ignore - from ._models import Components1Q1Og48SchemasManagedclusterAllof1 # type: ignore - from ._models import Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties # type: ignore - from ._models import ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties # type: ignore - from ._models import ContainerServiceDiagnosticsProfile # type: ignore - from ._models import ContainerServiceLinuxProfile # type: ignore - from ._models import ContainerServiceMasterProfile # type: ignore - from ._models import ContainerServiceNetworkProfile # type: ignore - from ._models import ContainerServiceSshConfiguration # type: ignore - from ._models import ContainerServiceSshPublicKey # type: ignore - from ._models import ContainerServiceVMDiagnostics # type: ignore - from ._models import CredentialResult # type: ignore - from ._models import CredentialResults # type: ignore - from ._models import KubeletConfig # type: ignore - from ._models import LinuxOSConfig # type: ignore - from ._models import MaintenanceConfiguration # type: ignore - from ._models import MaintenanceConfigurationListResult # type: ignore - from ._models import ManagedCluster # type: ignore - from ._models import ManagedClusterAADProfile # type: ignore - from ._models import ManagedClusterAPIServerAccessProfile # type: ignore - from ._models import ManagedClusterAccessProfile # type: ignore - from ._models import ManagedClusterAddonProfile # type: ignore - from ._models import ManagedClusterAddonProfileIdentity # type: ignore - from ._models import ManagedClusterAgentPoolProfile # type: ignore - from ._models import ManagedClusterAgentPoolProfileProperties # type: ignore - from ._models import ManagedClusterAutoUpgradeProfile # type: ignore - from ._models import ManagedClusterIdentity # type: ignore - from ._models import ManagedClusterListResult # type: ignore - from ._models import ManagedClusterLoadBalancerProfile # type: ignore - from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs # type: ignore - from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes # type: ignore - from ._models import ManagedClusterLoadBalancerProfileOutboundIPs # type: ignore - from ._models import ManagedClusterPodIdentity # type: ignore - from ._models import ManagedClusterPodIdentityException # type: ignore - from ._models import ManagedClusterPodIdentityProfile # type: ignore - from ._models import ManagedClusterPodIdentityProvisioningInfo # type: ignore - from ._models import ManagedClusterPoolUpgradeProfile # type: ignore - from ._models import ManagedClusterPoolUpgradeProfileUpgradesItem # type: ignore - from ._models import ManagedClusterPropertiesAutoScalerProfile # type: ignore - from ._models import ManagedClusterSKU # type: ignore - from ._models import ManagedClusterServicePrincipalProfile # type: ignore - from ._models import ManagedClusterUpgradeProfile # type: ignore - from ._models import ManagedClusterWindowsProfile # type: ignore - from ._models import OperationListResult # type: ignore - from ._models import OperationValue # type: ignore - from ._models import PowerState # type: ignore - from ._models import PrivateEndpoint # type: ignore - from ._models import PrivateEndpointConnection # type: ignore - from ._models import PrivateEndpointConnectionListResult # type: ignore - from ._models import PrivateLinkResource # type: ignore - from ._models import PrivateLinkResourcesListResult # type: ignore - from ._models import PrivateLinkServiceConnectionState # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceReference # type: ignore - from ._models import SubResource # type: ignore - from ._models import SysctlConfig # type: ignore - from ._models import SystemData # type: ignore - from ._models import TagsObject # type: ignore - from ._models import TimeInWeek # type: ignore - from ._models import TimeSpan # type: ignore - from ._models import UserAssignedIdentity # type: ignore - -from ._container_service_client_enums import ( - AgentPoolMode, - AgentPoolType, - Code, - ConnectionStatus, - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - Count, - CreatedByType, - Expander, - KubeletDiskType, - LicenseType, - LoadBalancerSku, - ManagedClusterPodIdentityProvisioningState, - ManagedClusterSKUName, - ManagedClusterSKUTier, - NetworkMode, - NetworkPlugin, - NetworkPolicy, - OSDiskType, - OSType, - OutboundType, - PrivateEndpointConnectionProvisioningState, - ResourceIdentityType, - ScaleSetEvictionPolicy, - ScaleSetPriority, - UpgradeChannel, - WeekDay, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolListResult', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'AgentPoolUpgradeSettings', - 'CloudError', - 'CloudErrorBody', - 'Components1Q1Og48SchemasManagedclusterAllof1', - 'Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties', - 'ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CredentialResult', - 'CredentialResults', - 'KubeletConfig', - 'LinuxOSConfig', - 'MaintenanceConfiguration', - 'MaintenanceConfigurationListResult', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAddonProfileIdentity', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAutoUpgradeProfile', - 'ManagedClusterIdentity', - 'ManagedClusterListResult', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterPodIdentity', - 'ManagedClusterPodIdentityException', - 'ManagedClusterPodIdentityProfile', - 'ManagedClusterPodIdentityProvisioningInfo', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterSKU', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'OperationListResult', - 'OperationValue', - 'PowerState', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkResource', - 'PrivateLinkResourcesListResult', - 'PrivateLinkServiceConnectionState', - 'Resource', - 'ResourceReference', - 'SubResource', - 'SysctlConfig', - 'SystemData', - 'TagsObject', - 'TimeInWeek', - 'TimeSpan', - 'UserAssignedIdentity', - 'AgentPoolMode', - 'AgentPoolType', - 'Code', - 'ConnectionStatus', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'Count', - 'CreatedByType', - 'Expander', - 'KubeletDiskType', - 'LicenseType', - 'LoadBalancerSku', - 'ManagedClusterPodIdentityProvisioningState', - 'ManagedClusterSKUName', - 'ManagedClusterSKUTier', - 'NetworkMode', - 'NetworkPlugin', - 'NetworkPolicy', - 'OSDiskType', - 'OSType', - 'OutboundType', - 'PrivateEndpointConnectionProvisioningState', - 'ResourceIdentityType', - 'ScaleSetEvictionPolicy', - 'ScaleSetPriority', - 'UpgradeChannel', - 'WeekDay', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py deleted file mode 100755 index 77894303644..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_container_service_client_enums.py +++ /dev/null @@ -1,412 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta -from six import with_metaclass - -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class AgentPoolMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """AgentPoolMode represents mode of an agent pool. - """ - - SYSTEM = "System" - USER = "User" - -class AgentPoolType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """AgentPoolType represents types of an agent pool. - """ - - VIRTUAL_MACHINE_SCALE_SETS = "VirtualMachineScaleSets" - AVAILABILITY_SET = "AvailabilitySet" - -class Code(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Tells whether the cluster is Running or Stopped - """ - - RUNNING = "Running" - STOPPED = "Stopped" - -class ConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The private link service connection status. - """ - - PENDING = "Pending" - APPROVED = "Approved" - REJECTED = "Rejected" - DISCONNECTED = "Disconnected" - -class ContainerServiceStorageProfileTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """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. - """ - - STORAGE_ACCOUNT = "StorageAccount" - MANAGED_DISKS = "ManagedDisks" - -class ContainerServiceVMSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Size of agent VMs. - """ - - 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_A2_M_V2 = "Standard_A2m_v2" - STANDARD_A3 = "Standard_A3" - STANDARD_A4 = "Standard_A4" - STANDARD_A4_V2 = "Standard_A4_v2" - STANDARD_A4_M_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_A8_M_V2 = "Standard_A8m_v2" - STANDARD_A9 = "Standard_A9" - STANDARD_B2_MS = "Standard_B2ms" - STANDARD_B2_S = "Standard_B2s" - STANDARD_B4_MS = "Standard_B4ms" - STANDARD_B8_MS = "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_D16_S_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_D2_S_V3 = "Standard_D2s_v3" - STANDARD_D3 = "Standard_D3" - STANDARD_D32_V3 = "Standard_D32_v3" - STANDARD_D32_S_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_D4_S_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_D64_S_V3 = "Standard_D64s_v3" - STANDARD_D8_V3 = "Standard_D8_v3" - STANDARD_D8_S_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_E16_S_V3 = "Standard_E16s_v3" - STANDARD_E2_V3 = "Standard_E2_v3" - STANDARD_E2_S_V3 = "Standard_E2s_v3" - STANDARD_E32_16_S_V3 = "Standard_E32-16s_v3" - STANDARD_E32_8_S_V3 = "Standard_E32-8s_v3" - STANDARD_E32_V3 = "Standard_E32_v3" - STANDARD_E32_S_V3 = "Standard_E32s_v3" - STANDARD_E4_V3 = "Standard_E4_v3" - STANDARD_E4_S_V3 = "Standard_E4s_v3" - STANDARD_E64_16_S_V3 = "Standard_E64-16s_v3" - STANDARD_E64_32_S_V3 = "Standard_E64-32s_v3" - STANDARD_E64_V3 = "Standard_E64_v3" - STANDARD_E64_S_V3 = "Standard_E64s_v3" - STANDARD_E8_V3 = "Standard_E8_v3" - STANDARD_E8_S_V3 = "Standard_E8s_v3" - STANDARD_F1 = "Standard_F1" - STANDARD_F16 = "Standard_F16" - STANDARD_F16_S = "Standard_F16s" - STANDARD_F16_S_V2 = "Standard_F16s_v2" - STANDARD_F1_S = "Standard_F1s" - STANDARD_F2 = "Standard_F2" - STANDARD_F2_S = "Standard_F2s" - STANDARD_F2_S_V2 = "Standard_F2s_v2" - STANDARD_F32_S_V2 = "Standard_F32s_v2" - STANDARD_F4 = "Standard_F4" - STANDARD_F4_S = "Standard_F4s" - STANDARD_F4_S_V2 = "Standard_F4s_v2" - STANDARD_F64_S_V2 = "Standard_F64s_v2" - STANDARD_F72_S_V2 = "Standard_F72s_v2" - STANDARD_F8 = "Standard_F8" - STANDARD_F8_S = "Standard_F8s" - STANDARD_F8_S_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_H16_M = "Standard_H16m" - STANDARD_H16_MR = "Standard_H16mr" - STANDARD_H16_R = "Standard_H16r" - STANDARD_H8 = "Standard_H8" - STANDARD_H8_M = "Standard_H8m" - STANDARD_L16_S = "Standard_L16s" - STANDARD_L32_S = "Standard_L32s" - STANDARD_L4_S = "Standard_L4s" - STANDARD_L8_S = "Standard_L8s" - STANDARD_M128_32_MS = "Standard_M128-32ms" - STANDARD_M128_64_MS = "Standard_M128-64ms" - STANDARD_M128_MS = "Standard_M128ms" - STANDARD_M128_S = "Standard_M128s" - STANDARD_M64_16_MS = "Standard_M64-16ms" - STANDARD_M64_32_MS = "Standard_M64-32ms" - STANDARD_M64_MS = "Standard_M64ms" - STANDARD_M64_S = "Standard_M64s" - STANDARD_NC12 = "Standard_NC12" - STANDARD_NC12_S_V2 = "Standard_NC12s_v2" - STANDARD_NC12_S_V3 = "Standard_NC12s_v3" - STANDARD_NC24 = "Standard_NC24" - STANDARD_NC24_R = "Standard_NC24r" - STANDARD_NC24_RS_V2 = "Standard_NC24rs_v2" - STANDARD_NC24_RS_V3 = "Standard_NC24rs_v3" - STANDARD_NC24_S_V2 = "Standard_NC24s_v2" - STANDARD_NC24_S_V3 = "Standard_NC24s_v3" - STANDARD_NC6 = "Standard_NC6" - STANDARD_NC6_S_V2 = "Standard_NC6s_v2" - STANDARD_NC6_S_V3 = "Standard_NC6s_v3" - STANDARD_ND12_S = "Standard_ND12s" - STANDARD_ND24_RS = "Standard_ND24rs" - STANDARD_ND24_S = "Standard_ND24s" - STANDARD_ND6_S = "Standard_ND6s" - STANDARD_NV12 = "Standard_NV12" - STANDARD_NV24 = "Standard_NV24" - STANDARD_NV6 = "Standard_NV6" - -class Count(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): - """Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The - default value is 1. - """ - - ONE = 1 - THREE = 3 - FIVE = 5 - -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The type of identity that created the resource. - """ - - USER = "User" - APPLICATION = "Application" - MANAGED_IDENTITY = "ManagedIdentity" - KEY = "Key" - -class Expander(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - - LEAST_WASTE = "least-waste" - MOST_PODS = "most-pods" - PRIORITY = "priority" - RANDOM = "random" - -class KubeletDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and - Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS - disk for data. - """ - - OS = "OS" - -class LicenseType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User - Benefits for Windows VMs. - """ - - NONE = "None" - WINDOWS_SERVER = "Windows_Server" - -class LoadBalancerSku(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The load balancer sku for the managed cluster. - """ - - STANDARD = "standard" - BASIC = "basic" - -class ManagedClusterPodIdentityProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The current provisioning state of the pod identity. - """ - - ASSIGNED = "Assigned" - UPDATING = "Updating" - DELETING = "Deleting" - FAILED = "Failed" - -class ManagedClusterSKUName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Name of a managed cluster SKU. - """ - - BASIC = "Basic" - -class ManagedClusterSKUTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Tier of a managed cluster SKU. - """ - - PAID = "Paid" - FREE = "Free" - -class NetworkMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Network mode used for building Kubernetes network. - """ - - TRANSPARENT = "transparent" - BRIDGE = "bridge" - -class NetworkPlugin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Network plugin used for building Kubernetes network. - """ - - AZURE = "azure" - KUBENET = "kubenet" - -class NetworkPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Network policy used for building Kubernetes network. - """ - - CALICO = "calico" - AZURE = "azure" - -class OSDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """OSDiskType represents the type of an OS disk on an agent pool. - """ - - MANAGED = "Managed" - EPHEMERAL = "Ephemeral" - -class OSType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. - """ - - LINUX = "Linux" - WINDOWS = "Windows" - -class OutboundType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The outbound (egress) routing method. - """ - - LOAD_BALANCER = "loadBalancer" - USER_DEFINED_ROUTING = "userDefinedRouting" - -class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The current provisioning state. - """ - - SUCCEEDED = "Succeeded" - CREATING = "Creating" - DELETING = "Deleting" - FAILED = "Failed" - -class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """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. - """ - - SYSTEM_ASSIGNED = "SystemAssigned" - USER_ASSIGNED = "UserAssigned" - NONE = "None" - -class ScaleSetEvictionPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale - set. Default to Delete. - """ - - DELETE = "Delete" - DEALLOCATE = "Deallocate" - -class ScaleSetPriority(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. - """ - - SPOT = "Spot" - REGULAR = "Regular" - -class UpgradeChannel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """upgrade channel for auto upgrade. - """ - - RAPID = "rapid" - STABLE = "stable" - PATCH = "patch" - NONE = "none" - -class WeekDay(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The weekday enum. - """ - - SUNDAY = "Sunday" - MONDAY = "Monday" - TUESDAY = "Tuesday" - WEDNESDAY = "Wednesday" - THURSDAY = "Thursday" - FRIDAY = "Friday" - SATURDAY = "Saturday" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py deleted file mode 100755 index 27b37a8358b..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models.py +++ /dev/null @@ -1,3251 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 SubResource(msrest.serialization.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. - - :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: Number of agents (VMs) to host docker containers. Allowed values must be in the - range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for - system pools. The default value is 1. - :type count: int - :param vm_size: 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_12_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 os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values - are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports - ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults - to 'Managed'. May not be changed after creation. Possible values include: "Managed", - "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, - container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, - resulting in Kubelet using the OS disk for data. Possible values include: "OS". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe - pods. - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. - :type pod_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_12_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_properties_type: AgentPoolType represents types of an agent pool. Possible values - include: "VirtualMachineScaleSets", "AvailabilitySet". - :type type_properties_type: str or - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when creating the managed - cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_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_12_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: A set of 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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost. - :type enable_encryption_at_host: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', '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'}, - 'type_properties_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(AgentPool, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_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_properties_type = kwargs.get('type_properties_type', None) - self.mode = kwargs.get('mode', None) - self.orchestrator_version = kwargs.get('orchestrator_version', None) - self.node_image_version = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_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', -1) - self.tags = kwargs.get('tags', None) - self.node_labels = kwargs.get('node_labels', None) - self.node_taints = kwargs.get('node_taints', None) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', None) - self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', None) - - -class AgentPoolAvailableVersions(msrest.serialization.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_12_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(msrest.serialization.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 AgentPoolListResult(msrest.serialization.Model): - """The response from the List Agent Pools operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of agent pools. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] - :ivar next_link: The URL to get the next set of agent pool results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[AgentPool]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(AgentPoolListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class AgentPoolUpgradeProfile(msrest.serialization.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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_12_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['kubernetes_version'] - 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(msrest.serialization.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(msrest.serialization.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(msrest.serialization.Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: ~azure.mgmt.containerservice.v2020_12_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 CloudErrorBody(msrest.serialization.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_12_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 Components1Q1Og48SchemasManagedclusterAllof1(msrest.serialization.Model): - """Components1Q1Og48SchemasManagedclusterAllof1. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param identity: The identity of the managed cluster, if configured. - :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable Kubernetes pod security - policy (preview). This feature is set for removal on October 15th, 2020. Learn more at - aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - } - - _attribute_map = { - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, - } - - def __init__( - self, - **kwargs - ): - super(Components1Q1Og48SchemasManagedclusterAllof1, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) - self.provisioning_state = None - self.power_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.pod_identity_profile = kwargs.get('pod_identity_profile', 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_upgrade_profile = kwargs.get('auto_upgrade_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) - - -class Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): - """Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties. - - 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(Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class UserAssignedIdentity(msrest.serialization.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 ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties(UserAssignedIdentity): - """ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties. - - :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(ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties, self).__init__(**kwargs) - - -class ContainerServiceDiagnosticsProfile(msrest.serialization.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_12_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['vm_diagnostics'] - - -class ContainerServiceLinuxProfile(msrest.serialization.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_12_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['admin_username'] - self.ssh = kwargs['ssh'] - - -class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". - :type count: str or ~azure.mgmt.containerservice.v2020_12_01.models.Count - :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_12_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. - :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_12_01.models.ContainerServiceStorageProfileTypes - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - """ - - _validation = { - 'dns_prefix': {'required': True}, - 'vm_size': {'required': True}, - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - '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['dns_prefix'] - self.vm_size = kwargs['vm_size'] - 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(msrest.serialization.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_12_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_12_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_12_01.models.NetworkMode - :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - :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. - :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. - :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. - :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_12_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_12_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_12_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(msrest.serialization.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_12_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['public_keys'] - - -class ContainerServiceSshPublicKey(msrest.serialization.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['key_data'] - - -class ContainerServiceVMDiagnostics(msrest.serialization.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['enabled'] - self.storage_uri = None - - -class CredentialResult(msrest.serialization.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(msrest.serialization.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_12_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 KubeletConfig(msrest.serialization.Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which image garbage collection - is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which image garbage collection - is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in - ``*``\ ). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled - on the node. - :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it - is rotated. - :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files that can be present - for a container. The number must be ≥ 2. - :type container_log_max_files: int - :param pod_max_pids: The maximum number of processes per pod. - :type pod_max_pids: int - """ - - _validation = { - 'container_log_max_files': {'minimum': 2}, - } - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, - 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, - 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = kwargs.get('cpu_manager_policy', None) - self.cpu_cfs_quota = kwargs.get('cpu_cfs_quota', None) - self.cpu_cfs_quota_period = kwargs.get('cpu_cfs_quota_period', None) - self.image_gc_high_threshold = kwargs.get('image_gc_high_threshold', None) - self.image_gc_low_threshold = kwargs.get('image_gc_low_threshold', None) - self.topology_manager_policy = kwargs.get('topology_manager_policy', None) - self.allowed_unsafe_sysctls = kwargs.get('allowed_unsafe_sysctls', None) - self.fail_swap_on = kwargs.get('fail_swap_on', None) - self.container_log_max_size_mb = kwargs.get('container_log_max_size_mb', None) - self.container_log_max_files = kwargs.get('container_log_max_files', None) - self.pod_max_pids = kwargs.get('pod_max_pids', None) - - -class LinuxOSConfig(msrest.serialization.Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: ~azure.mgmt.containerservice.v2020_12_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap file will be created on - each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = kwargs.get('sysctls', None) - self.transparent_huge_page_enabled = kwargs.get('transparent_huge_page_enabled', None) - self.transparent_huge_page_defrag = kwargs.get('transparent_huge_page_defrag', None) - self.swap_file_size_mb = kwargs.get('swap_file_size_mb', None) - - -class MaintenanceConfiguration(SubResource): - """maintenance configuration. - - 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 - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.containerservice.v2020_12_01.models.SystemData - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, - 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, - } - - def __init__( - self, - **kwargs - ): - super(MaintenanceConfiguration, self).__init__(**kwargs) - self.system_data = None - self.time_in_week = kwargs.get('time_in_week', None) - self.not_allowed_time = kwargs.get('not_allowed_time', None) - - -class MaintenanceConfigurationListResult(msrest.serialization.Model): - """The response from the List maintenance configurations operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of maintenance configurations. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration] - :ivar next_link: The URL to get the next set of maintenance configuration results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MaintenanceConfigurationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Resource(msrest.serialization.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: 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'}, - '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.tags = kwargs.get('tags', None) - - -class ManagedCluster(Resource, Components1Q1Og48SchemasManagedclusterAllof1): - """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 identity: The identity of the managed cluster, if configured. - :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable Kubernetes pod security - policy (preview). This feature is set for removal on October 15th, 2020. Learn more at - aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] - :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 sku: The managed cluster SKU. - :type sku: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKU - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, - 'id': {'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': 'ManagedClusterSKU'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedCluster, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) - self.provisioning_state = None - self.power_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.pod_identity_profile = kwargs.get('pod_identity_profile', 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_upgrade_profile = kwargs.get('auto_upgrade_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.sku = kwargs.get('sku', None) - self.id = None - self.name = None - self.type = None - self.location = kwargs['location'] - self.tags = kwargs.get('tags', None) - self.sku = kwargs.get('sku', None) - - -class ManagedClusterAADProfile(msrest.serialization.Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - :param managed: Whether to enable managed AAD. - :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. - :type enable_azure_rbac: bool - :param admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. - :type admin_group_object_i_ds: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, - 'admin_group_object_i_ds': {'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.enable_azure_rbac = kwargs.get('enable_azure_rbac', None) - self.admin_group_object_i_ds = kwargs.get('admin_group_object_i_ds', 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: A set of 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(msrest.serialization.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_12_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['enabled'] - self.config = kwargs.get('config', None) - self.identity = 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(msrest.serialization.Model): - """Properties for the container service agent pool profile. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the - range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for - system pools. The default value is 1. - :type count: int - :param vm_size: 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_12_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 os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values - are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports - ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults - to 'Managed'. May not be changed after creation. Possible values include: "Managed", - "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, - container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, - resulting in Kubelet using the OS disk for data. Possible values include: "OS". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe - pods. - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. - :type pod_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_12_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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when creating the managed - cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_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_12_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: A set of 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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost. - :type enable_encryption_at_host: bool - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.vm_size = kwargs.get('vm_size', None) - self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) - self.os_disk_type = kwargs.get('os_disk_type', None) - self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) - self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) - self.pod_subnet_id = kwargs.get('pod_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 = None - self.upgrade_settings = kwargs.get('upgrade_settings', None) - self.provisioning_state = None - self.power_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', -1) - self.tags = kwargs.get('tags', None) - self.node_labels = kwargs.get('node_labels', None) - self.node_taints = kwargs.get('node_taints', None) - self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) - self.kubelet_config = kwargs.get('kubelet_config', None) - self.linux_os_config = kwargs.get('linux_os_config', None) - self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', 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: Number of agents (VMs) to host docker containers. Allowed values must be in the - range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for - system pools. The default value is 1. - :type count: int - :param vm_size: 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_12_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 os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values - are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports - ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults - to 'Managed'. May not be changed after creation. Possible values include: "Managed", - "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, - container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, - resulting in Kubelet using the OS disk for data. Possible values include: "OS". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe - pods. - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. - :type pod_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_12_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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when creating the managed - cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_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_12_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: A set of 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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost. - :type enable_encryption_at_host: bool - :param name: Required. Unique name of the agent pool profile in the context of the subscription - and resource group. - :type name: str - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs['name'] - - -class ManagedClusterAPIServerAccessProfile(msrest.serialization.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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - 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) - self.private_dns_zone = kwargs.get('private_dns_zone', None) - - -class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values include: "rapid", - "stable", "patch", "none". - :type upgrade_channel: str or ~azure.mgmt.containerservice.v2020_12_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = kwargs.get('upgrade_channel', None) - - -class ManagedClusterIdentity(msrest.serialization.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", - "UserAssigned", "None". - :type type: str or ~azure.mgmt.containerservice.v2020_12_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the managed cluster. This - identity will be used in control plane and only one user assigned identity is allowed. 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.containerservice.v2020_12_01.models.Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties] - """ - - _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'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties}'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterIdentity, 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 ManagedClusterListResult(msrest.serialization.Model): - """The response from the List Managed Clusters operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of managed clusters. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :ivar next_link: The URL to get the next set of managed cluster results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ManagedCluster]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): - """Profile of the managed cluster load balancer. - - :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. - :type managed_outbound_i_ps: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. - :type outbound_i_ps: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load - balancer. - :type effective_outbound_i_ps: - list[~azure.mgmt.containerservice.v2020_12_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. - :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. - :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_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, - 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_i_ps': {'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_i_ps = kwargs.get('managed_outbound_i_ps', None) - self.outbound_ip_prefixes = kwargs.get('outbound_ip_prefixes', None) - self.outbound_i_ps = kwargs.get('outbound_i_ps', None) - self.effective_outbound_i_ps = kwargs.get('effective_outbound_i_ps', 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(msrest.serialization.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. - :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(msrest.serialization.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_12_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(msrest.serialization.Model): - """Desired outbound IP resources for the cluster load balancer. - - :param public_i_ps: A list of public IP resources. - :type public_i_ps: list[~azure.mgmt.containerservice.v2020_12_01.models.ResourceReference] - """ - - _attribute_map = { - 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_i_ps = kwargs.get('public_i_ps', None) - - -class ManagedClusterPodIdentity(msrest.serialization.Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param identity: Required. Information of the user assigned identity. - :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod identity. Possible values - include: "Assigned", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = kwargs['name'] - self.namespace = kwargs['namespace'] - self.identity = kwargs['identity'] - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(msrest.serialization.Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = kwargs['name'] - self.namespace = kwargs['namespace'] - self.pod_labels = kwargs['pod_labels'] - - -class ManagedClusterPodIdentityProfile(msrest.serialization.Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) - self.user_assigned_identity_exceptions = kwargs.get('user_assigned_identity_exceptions', None) - - -class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2020_12_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class ManagedClusterPoolUpgradeProfile(msrest.serialization.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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_12_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['kubernetes_version'] - self.name = kwargs.get('name', None) - self.os_type = kwargs.get('os_type', "Linux") - self.upgrades = kwargs.get('upgrades', None) - - -class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.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(msrest.serialization.Model): - """Parameters to be applied to the cluster-autoscaler when enabled. - - :param balance_similar_node_groups: - :type balance_similar_node_groups: str - :param expander: Possible values include: "least-waste", "most-pods", "priority", "random". - :type expander: str or ~azure.mgmt.containerservice.v2020_12_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_node_provision_time: - :type max_node_provision_time: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) - self.expander = kwargs.get('expander', None) - self.max_empty_bulk_delete = kwargs.get('max_empty_bulk_delete', None) - self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) - self.max_node_provision_time = kwargs.get('max_node_provision_time', None) - self.max_total_unready_percentage = kwargs.get('max_total_unready_percentage', None) - self.new_pod_scale_up_delay = kwargs.get('new_pod_scale_up_delay', None) - self.ok_total_unready_count = kwargs.get('ok_total_unready_count', 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.skip_nodes_with_local_storage = kwargs.get('skip_nodes_with_local_storage', None) - self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', None) - - -class ManagedClusterServicePrincipalProfile(msrest.serialization.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['client_id'] - self.secret = kwargs.get('secret', None) - - -class ManagedClusterSKU(msrest.serialization.Model): - """ManagedClusterSKU. - - :param name: Name of a managed cluster SKU. Possible values include: "Basic". - :type name: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". - :type tier: str or ~azure.mgmt.containerservice.v2020_12_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(msrest.serialization.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_12_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_12_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['control_plane_profile'] - self.agent_pool_profiles = kwargs['agent_pool_profiles'] - - -class ManagedClusterWindowsProfile(msrest.serialization.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. Specifies the name of the administrator account. - :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` - **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", - "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", - "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", - "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 - character :code:`
`:code:`
` **Max-length:** 20 characters. - :type admin_username: str - :param admin_password: Specifies the password of the administrator account. - :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` - **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 - conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper - characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) - :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", - "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable - Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". - :type license_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = kwargs['admin_username'] - self.admin_password = kwargs.get('admin_password', None) - self.license_type = kwargs.get('license_type', None) - - -class OperationListResult(msrest.serialization.Model): - """The List Compute Operation operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of compute operations. - :vartype value: list[~azure.mgmt.containerservice.v2020_12_01.models.OperationValue] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationValue]'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationListResult, self).__init__(**kwargs) - self.value = None - - -class OperationValue(msrest.serialization.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 PowerState(msrest.serialization.Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible values include: - "Running", "Stopped". - :type code: str or ~azure.mgmt.containerservice.v2020_12_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PowerState, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - - -class PrivateEndpoint(msrest.serialization.Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - - -class PrivateEndpointConnection(msrest.serialization.Model): - """A private endpoint connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", - "Creating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: ~azure.mgmt.containerservice.v2020_12_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.containerservice.v2020_12_01.models.PrivateLinkServiceConnectionState - """ - - _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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = kwargs.get('private_endpoint', None) - self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) - - -class PrivateEndpointConnectionListResult(msrest.serialization.Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkResource(msrest.serialization.Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource. - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the resource, this field is - exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.group_id = kwargs.get('group_id', None) - self.required_members = kwargs.get('required_members', None) - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(msrest.serialization.Model): - """A list of private link resources. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class PrivateLinkServiceConnectionState(msrest.serialization.Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values include: "Pending", - "Approved", "Rejected", "Disconnected". - :type status: str or ~azure.mgmt.containerservice.v2020_12_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.description = kwargs.get('description', None) - - -class ResourceReference(msrest.serialization.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 SysctlConfig(msrest.serialization.Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_default: Sysctl setting net.core.rmem_default. - :type net_core_rmem_default: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_default: Sysctl setting net.core.wmem_default. - :type net_core_wmem_default: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = kwargs.get('net_core_somaxconn', None) - self.net_core_netdev_max_backlog = kwargs.get('net_core_netdev_max_backlog', None) - self.net_core_rmem_default = kwargs.get('net_core_rmem_default', None) - self.net_core_rmem_max = kwargs.get('net_core_rmem_max', None) - self.net_core_wmem_default = kwargs.get('net_core_wmem_default', None) - self.net_core_wmem_max = kwargs.get('net_core_wmem_max', None) - self.net_core_optmem_max = kwargs.get('net_core_optmem_max', None) - self.net_ipv4_tcp_max_syn_backlog = kwargs.get('net_ipv4_tcp_max_syn_backlog', None) - self.net_ipv4_tcp_max_tw_buckets = kwargs.get('net_ipv4_tcp_max_tw_buckets', None) - self.net_ipv4_tcp_fin_timeout = kwargs.get('net_ipv4_tcp_fin_timeout', None) - self.net_ipv4_tcp_keepalive_time = kwargs.get('net_ipv4_tcp_keepalive_time', None) - self.net_ipv4_tcp_keepalive_probes = kwargs.get('net_ipv4_tcp_keepalive_probes', None) - self.net_ipv4_tcpkeepalive_intvl = kwargs.get('net_ipv4_tcpkeepalive_intvl', None) - self.net_ipv4_tcp_tw_reuse = kwargs.get('net_ipv4_tcp_tw_reuse', None) - self.net_ipv4_ip_local_port_range = kwargs.get('net_ipv4_ip_local_port_range', None) - self.net_ipv4_neigh_default_gc_thresh1 = kwargs.get('net_ipv4_neigh_default_gc_thresh1', None) - self.net_ipv4_neigh_default_gc_thresh2 = kwargs.get('net_ipv4_neigh_default_gc_thresh2', None) - self.net_ipv4_neigh_default_gc_thresh3 = kwargs.get('net_ipv4_neigh_default_gc_thresh3', None) - self.net_netfilter_nf_conntrack_max = kwargs.get('net_netfilter_nf_conntrack_max', None) - self.net_netfilter_nf_conntrack_buckets = kwargs.get('net_netfilter_nf_conntrack_buckets', None) - self.fs_inotify_max_user_watches = kwargs.get('fs_inotify_max_user_watches', None) - self.fs_file_max = kwargs.get('fs_file_max', None) - self.fs_aio_max_nr = kwargs.get('fs_aio_max_nr', None) - self.fs_nr_open = kwargs.get('fs_nr_open', None) - self.kernel_threads_max = kwargs.get('kernel_threads_max', None) - self.vm_max_map_count = kwargs.get('vm_max_map_count', None) - self.vm_swappiness = kwargs.get('vm_swappiness', None) - self.vm_vfs_cache_pressure = kwargs.get('vm_vfs_cache_pressure', None) - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the resource. - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) - - -class TagsObject(msrest.serialization.Model): - """Tags object for patch operations. - - :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(TagsObject, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - - -class TimeInWeek(msrest.serialization.Model): - """Time in a week. - - :param day: A day in a week. Possible values include: "Sunday", "Monday", "Tuesday", - "Wednesday", "Thursday", "Friday", "Saturday". - :type day: str or ~azure.mgmt.containerservice.v2020_12_01.models.WeekDay - :param hour_slots: hour slots in a day. - :type hour_slots: list[int] - """ - - _attribute_map = { - 'day': {'key': 'day', 'type': 'str'}, - 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, - } - - def __init__( - self, - **kwargs - ): - super(TimeInWeek, self).__init__(**kwargs) - self.day = kwargs.get('day', None) - self.hour_slots = kwargs.get('hour_slots', None) - - -class TimeSpan(msrest.serialization.Model): - """The time span with start and end properties. - - :param start: The start of a time span. - :type start: ~datetime.datetime - :param end: The end of a time span. - :type end: ~datetime.datetime - """ - - _attribute_map = { - 'start': {'key': 'start', 'type': 'iso-8601'}, - 'end': {'key': 'end', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(TimeSpan, self).__init__(**kwargs) - self.start = kwargs.get('start', None) - self.end = kwargs.get('end', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py deleted file mode 100755 index 2b54a24fe94..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/models/_models_py3.py +++ /dev/null @@ -1,3637 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ._container_service_client_enums import * - - -class SubResource(msrest.serialization.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. - - :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: Number of agents (VMs) to host docker containers. Allowed values must be in the - range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for - system pools. The default value is 1. - :type count: int - :param vm_size: 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_12_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 os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values - are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports - ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults - to 'Managed'. May not be changed after creation. Possible values include: "Managed", - "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, - container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, - resulting in Kubelet using the OS disk for data. Possible values include: "OS". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe - pods. - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. - :type pod_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_12_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_properties_type: AgentPoolType represents types of an agent pool. Possible values - include: "VirtualMachineScaleSets", "AvailabilitySet". - :type type_properties_type: str or - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when creating the managed - cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_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_12_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: A set of 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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost. - :type enable_encryption_at_host: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'properties.podSubnetID', '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'}, - 'type_properties_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'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__( - self, - *, - count: Optional[int] = None, - vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, - os_disk_size_gb: Optional[int] = None, - os_disk_type: Optional[Union[str, "OSDiskType"]] = None, - kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, - vnet_subnet_id: Optional[str] = None, - pod_subnet_id: Optional[str] = None, - max_pods: Optional[int] = None, - os_type: Optional[Union[str, "OSType"]] = "Linux", - max_count: Optional[int] = None, - min_count: Optional[int] = None, - enable_auto_scaling: Optional[bool] = None, - type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, - mode: Optional[Union[str, "AgentPoolMode"]] = None, - orchestrator_version: Optional[str] = None, - upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, - availability_zones: Optional[List[str]] = None, - enable_node_public_ip: Optional[bool] = None, - scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", - scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", - spot_max_price: Optional[float] = -1, - tags: Optional[Dict[str, str]] = None, - node_labels: Optional[Dict[str, str]] = None, - node_taints: Optional[List[str]] = None, - proximity_placement_group_id: Optional[str] = None, - kubelet_config: Optional["KubeletConfig"] = None, - linux_os_config: Optional["LinuxOSConfig"] = None, - enable_encryption_at_host: Optional[bool] = None, - **kwargs - ): - super(AgentPool, self).__init__(**kwargs) - self.count = count - self.vm_size = vm_size - self.os_disk_size_gb = os_disk_size_gb - self.os_disk_type = os_disk_type - self.kubelet_disk_type = kubelet_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_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_properties_type = type_properties_type - self.mode = mode - self.orchestrator_version = orchestrator_version - self.node_image_version = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - self.enable_encryption_at_host = enable_encryption_at_host - - -class AgentPoolAvailableVersions(msrest.serialization.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_12_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: Optional[List["AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem"]] = None, - **kwargs - ): - super(AgentPoolAvailableVersions, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.agent_pool_versions = agent_pool_versions - - -class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.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: Optional[bool] = None, - kubernetes_version: Optional[str] = None, - is_preview: Optional[bool] = None, - **kwargs - ): - super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) - self.default = default - self.kubernetes_version = kubernetes_version - self.is_preview = is_preview - - -class AgentPoolListResult(msrest.serialization.Model): - """The response from the List Agent Pools operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of agent pools. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] - :ivar next_link: The URL to get the next set of agent pool results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[AgentPool]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["AgentPool"]] = None, - **kwargs - ): - super(AgentPoolListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class AgentPoolUpgradeProfile(msrest.serialization.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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_12_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: Union[str, "OSType"] = "Linux", - upgrades: Optional[List["AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, - latest_node_image_version: Optional[str] = None, - **kwargs - ): - 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(msrest.serialization.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: Optional[str] = None, - is_preview: Optional[bool] = None, - **kwargs - ): - super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) - self.kubernetes_version = kubernetes_version - self.is_preview = is_preview - - -class AgentPoolUpgradeSettings(msrest.serialization.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: Optional[str] = None, - **kwargs - ): - super(AgentPoolUpgradeSettings, self).__init__(**kwargs) - self.max_surge = max_surge - - -class CloudError(msrest.serialization.Model): - """An error response from the Container service. - - :param error: Details about the error. - :type error: ~azure.mgmt.containerservice.v2020_12_01.models.CloudErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudErrorBody'}, - } - - def __init__( - self, - *, - error: Optional["CloudErrorBody"] = None, - **kwargs - ): - super(CloudError, self).__init__(**kwargs) - self.error = error - - -class CloudErrorBody(msrest.serialization.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_12_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: 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 Components1Q1Og48SchemasManagedclusterAllof1(msrest.serialization.Model): - """Components1Q1Og48SchemasManagedclusterAllof1. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param identity: The identity of the managed cluster, if configured. - :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable Kubernetes pod security - policy (preview). This feature is set for removal on October 15th, 2020. Learn more at - aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - } - - _attribute_map = { - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, - } - - def __init__( - self, - *, - identity: Optional["ManagedClusterIdentity"] = None, - kubernetes_version: Optional[str] = None, - dns_prefix: Optional[str] = None, - agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, - linux_profile: Optional["ContainerServiceLinuxProfile"] = None, - windows_profile: Optional["ManagedClusterWindowsProfile"] = None, - service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, - addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, - pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, - node_resource_group: Optional[str] = None, - enable_rbac: Optional[bool] = None, - enable_pod_security_policy: Optional[bool] = None, - network_profile: Optional["ContainerServiceNetworkProfile"] = None, - aad_profile: Optional["ManagedClusterAADProfile"] = None, - auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, - auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, - api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, - disk_encryption_set_id: Optional[str] = None, - identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, - **kwargs - ): - super(Components1Q1Og48SchemasManagedclusterAllof1, self).__init__(**kwargs) - self.identity = identity - self.provisioning_state = None - self.power_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.pod_identity_profile = pod_identity_profile - 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_upgrade_profile = auto_upgrade_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 - - -class Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): - """Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties. - - 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(Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class UserAssignedIdentity(msrest.serialization.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: Optional[str] = None, - client_id: Optional[str] = None, - object_id: Optional[str] = None, - **kwargs - ): - super(UserAssignedIdentity, self).__init__(**kwargs) - self.resource_id = resource_id - self.client_id = client_id - self.object_id = object_id - - -class ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties(UserAssignedIdentity): - """ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties. - - :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: Optional[str] = None, - client_id: Optional[str] = None, - object_id: Optional[str] = None, - **kwargs - ): - super(ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) - - -class ContainerServiceDiagnosticsProfile(msrest.serialization.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_12_01.models.ContainerServiceVMDiagnostics - """ - - _validation = { - 'vm_diagnostics': {'required': True}, - } - - _attribute_map = { - 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, - } - - def __init__( - self, - *, - vm_diagnostics: "ContainerServiceVMDiagnostics", - **kwargs - ): - super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) - self.vm_diagnostics = vm_diagnostics - - -class ContainerServiceLinuxProfile(msrest.serialization.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_12_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: "ContainerServiceSshConfiguration", - **kwargs - ): - super(ContainerServiceLinuxProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.ssh = ssh - - -class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". - :type count: str or ~azure.mgmt.containerservice.v2020_12_01.models.Count - :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_12_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. - :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_12_01.models.ContainerServiceStorageProfileTypes - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - """ - - _validation = { - 'dns_prefix': {'required': True}, - 'vm_size': {'required': True}, - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - '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: Union[str, "ContainerServiceVMSizeTypes"], - count: Optional[Union[int, "Count"]] = "1", - os_disk_size_gb: Optional[int] = None, - vnet_subnet_id: Optional[str] = None, - first_consecutive_static_ip: Optional[str] = "10.240.255.5", - storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, - **kwargs - ): - 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(msrest.serialization.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_12_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_12_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_12_01.models.NetworkMode - :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - :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. - :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. - :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. - :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_12_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_12_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2020_12_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: Optional[Union[str, "NetworkPlugin"]] = "kubenet", - network_policy: Optional[Union[str, "NetworkPolicy"]] = None, - network_mode: Optional[Union[str, "NetworkMode"]] = None, - pod_cidr: Optional[str] = "10.244.0.0/16", - service_cidr: Optional[str] = "10.0.0.0/16", - dns_service_ip: Optional[str] = "10.0.0.10", - docker_bridge_cidr: Optional[str] = "172.17.0.1/16", - outbound_type: Optional[Union[str, "OutboundType"]] = "loadBalancer", - load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, - load_balancer_profile: Optional["ManagedClusterLoadBalancerProfile"] = None, - **kwargs - ): - 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(msrest.serialization.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_12_01.models.ContainerServiceSshPublicKey] - """ - - _validation = { - 'public_keys': {'required': True}, - } - - _attribute_map = { - 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, - } - - def __init__( - self, - *, - public_keys: List["ContainerServiceSshPublicKey"], - **kwargs - ): - super(ContainerServiceSshConfiguration, self).__init__(**kwargs) - self.public_keys = public_keys - - -class ContainerServiceSshPublicKey(msrest.serialization.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 - ): - super(ContainerServiceSshPublicKey, self).__init__(**kwargs) - self.key_data = key_data - - -class ContainerServiceVMDiagnostics(msrest.serialization.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 - ): - super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) - self.enabled = enabled - self.storage_uri = None - - -class CredentialResult(msrest.serialization.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(msrest.serialization.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_12_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 KubeletConfig(msrest.serialization.Model): - """Kubelet configurations of agent nodes. - - :param cpu_manager_policy: CPU Manager policy to use. - :type cpu_manager_policy: str - :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that specify CPU limits. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: Sets CPU CFS quota period value. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: The percent of disk usage after which image garbage collection - is always run. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: The percent of disk usage before which image garbage collection - is never run. - :type image_gc_low_threshold: int - :param topology_manager_policy: Topology Manager policy to use. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in - ``*``\ ). - :type allowed_unsafe_sysctls: list[str] - :param fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled - on the node. - :type fail_swap_on: bool - :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it - is rotated. - :type container_log_max_size_mb: int - :param container_log_max_files: The maximum number of container log files that can be present - for a container. The number must be ≥ 2. - :type container_log_max_files: int - :param pod_max_pids: The maximum number of processes per pod. - :type pod_max_pids: int - """ - - _validation = { - 'container_log_max_files': {'minimum': 2}, - } - - _attribute_map = { - 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, - 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, - 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, - 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, - 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, - 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, - 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, - 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, - 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, - 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, - 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, - } - - def __init__( - self, - *, - cpu_manager_policy: Optional[str] = None, - cpu_cfs_quota: Optional[bool] = None, - cpu_cfs_quota_period: Optional[str] = None, - image_gc_high_threshold: Optional[int] = None, - image_gc_low_threshold: Optional[int] = None, - topology_manager_policy: Optional[str] = None, - allowed_unsafe_sysctls: Optional[List[str]] = None, - fail_swap_on: Optional[bool] = None, - container_log_max_size_mb: Optional[int] = None, - container_log_max_files: Optional[int] = None, - pod_max_pids: Optional[int] = None, - **kwargs - ): - super(KubeletConfig, self).__init__(**kwargs) - self.cpu_manager_policy = cpu_manager_policy - self.cpu_cfs_quota = cpu_cfs_quota - self.cpu_cfs_quota_period = cpu_cfs_quota_period - self.image_gc_high_threshold = image_gc_high_threshold - self.image_gc_low_threshold = image_gc_low_threshold - self.topology_manager_policy = topology_manager_policy - self.allowed_unsafe_sysctls = allowed_unsafe_sysctls - self.fail_swap_on = fail_swap_on - self.container_log_max_size_mb = container_log_max_size_mb - self.container_log_max_files = container_log_max_files - self.pod_max_pids = pod_max_pids - - -class LinuxOSConfig(msrest.serialization.Model): - """OS configurations of Linux agent nodes. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: ~azure.mgmt.containerservice.v2020_12_01.models.SysctlConfig - :param transparent_huge_page_enabled: Transparent Huge Page enabled configuration. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Transparent Huge Page defrag configuration. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap file will be created on - each node. - :type swap_file_size_mb: int - """ - - _attribute_map = { - 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, - 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, - 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, - 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, - } - - def __init__( - self, - *, - sysctls: Optional["SysctlConfig"] = None, - transparent_huge_page_enabled: Optional[str] = None, - transparent_huge_page_defrag: Optional[str] = None, - swap_file_size_mb: Optional[int] = None, - **kwargs - ): - super(LinuxOSConfig, self).__init__(**kwargs) - self.sysctls = sysctls - self.transparent_huge_page_enabled = transparent_huge_page_enabled - self.transparent_huge_page_defrag = transparent_huge_page_defrag - self.swap_file_size_mb = swap_file_size_mb - - -class MaintenanceConfiguration(SubResource): - """maintenance configuration. - - 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 - :ivar system_data: The system meta data relating to this resource. - :vartype system_data: ~azure.mgmt.containerservice.v2020_12_01.models.SystemData - :param time_in_week: Weekday time slots allowed to upgrade. - :type time_in_week: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: list[~azure.mgmt.containerservice.v2020_12_01.models.TimeSpan] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, - 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, - } - - def __init__( - self, - *, - time_in_week: Optional[List["TimeInWeek"]] = None, - not_allowed_time: Optional[List["TimeSpan"]] = None, - **kwargs - ): - super(MaintenanceConfiguration, self).__init__(**kwargs) - self.system_data = None - self.time_in_week = time_in_week - self.not_allowed_time = not_allowed_time - - -class MaintenanceConfigurationListResult(msrest.serialization.Model): - """The response from the List maintenance configurations operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of maintenance configurations. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration] - :ivar next_link: The URL to get the next set of maintenance configuration results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["MaintenanceConfiguration"]] = None, - **kwargs - ): - super(MaintenanceConfigurationListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class Resource(msrest.serialization.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: 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'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__( - self, - *, - location: str, - 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 ManagedCluster(Resource, Components1Q1Og48SchemasManagedclusterAllof1): - """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 identity: The identity of the managed cluster, if configured. - :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterIdentity - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Represents the Power State of the cluster. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: Profile for Linux VMs in the container service cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceLinuxProfile - :param windows_profile: Profile for Windows VMs in the container service cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: Profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: Profile of managed cluster pod identity. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProfile - :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: (DEPRECATING) Whether to enable Kubernetes pod security - policy (preview). This feature is set for removal on October 15th, 2020. Learn more at - aka.ms/aks/azpodpolicy. - :type enable_pod_security_policy: bool - :param network_profile: Profile of network configuration. - :type network_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ContainerServiceNetworkProfile - :param aad_profile: Profile of Azure Active Directory configuration. - :type aad_profile: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: Profile of auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAutoUpgradeProfile - :param auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. - :type auto_scaler_profile: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: Access profile for managed cluster API server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties] - :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 sku: The managed cluster SKU. - :type sku: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKU - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - 'max_agent_pools': {'readonly': True}, - 'fqdn': {'readonly': True}, - 'private_fqdn': {'readonly': True}, - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, - '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}'}, - 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, - '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_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, - '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': '{ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties}'}, - 'id': {'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': 'ManagedClusterSKU'}, - } - - def __init__( - self, - *, - location: str, - identity: Optional["ManagedClusterIdentity"] = None, - kubernetes_version: Optional[str] = None, - dns_prefix: Optional[str] = None, - agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, - linux_profile: Optional["ContainerServiceLinuxProfile"] = None, - windows_profile: Optional["ManagedClusterWindowsProfile"] = None, - service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, - addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, - pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, - node_resource_group: Optional[str] = None, - enable_rbac: Optional[bool] = None, - enable_pod_security_policy: Optional[bool] = None, - network_profile: Optional["ContainerServiceNetworkProfile"] = None, - aad_profile: Optional["ManagedClusterAADProfile"] = None, - auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, - auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, - api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, - disk_encryption_set_id: Optional[str] = None, - identity_profile: Optional[Dict[str, "ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties"]] = None, - tags: Optional[Dict[str, str]] = None, - sku: Optional["ManagedClusterSKU"] = None, - **kwargs - ): - super(ManagedCluster, self).__init__(location=location, tags=tags, identity=identity, kubernetes_version=kubernetes_version, dns_prefix=dns_prefix, agent_pool_profiles=agent_pool_profiles, linux_profile=linux_profile, windows_profile=windows_profile, service_principal_profile=service_principal_profile, addon_profiles=addon_profiles, pod_identity_profile=pod_identity_profile, node_resource_group=node_resource_group, enable_rbac=enable_rbac, enable_pod_security_policy=enable_pod_security_policy, network_profile=network_profile, aad_profile=aad_profile, auto_upgrade_profile=auto_upgrade_profile, auto_scaler_profile=auto_scaler_profile, api_server_access_profile=api_server_access_profile, disk_encryption_set_id=disk_encryption_set_id, identity_profile=identity_profile, **kwargs) - self.identity = identity - self.provisioning_state = None - self.power_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.pod_identity_profile = pod_identity_profile - 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_upgrade_profile = auto_upgrade_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.sku = sku - self.id = None - self.name = None - self.type = None - self.location = location - self.tags = tags - self.sku = sku - - -class ManagedClusterAADProfile(msrest.serialization.Model): - """AADProfile specifies attributes for Azure Active Directory integration. - - :param managed: Whether to enable managed AAD. - :type managed: bool - :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. - :type enable_azure_rbac: bool - :param admin_group_object_i_ds: AAD group object IDs that will have admin role of the cluster. - :type admin_group_object_i_ds: 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'}, - 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, - 'admin_group_object_i_ds': {'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: Optional[bool] = None, - enable_azure_rbac: Optional[bool] = None, - admin_group_object_i_ds: Optional[List[str]] = None, - client_app_id: Optional[str] = None, - server_app_id: Optional[str] = None, - server_app_secret: Optional[str] = None, - tenant_id: Optional[str] = None, - **kwargs - ): - super(ManagedClusterAADProfile, self).__init__(**kwargs) - self.managed = managed - self.enable_azure_rbac = enable_azure_rbac - self.admin_group_object_i_ds = admin_group_object_i_ds - 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: A set of 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: Optional[Dict[str, str]] = None, - kube_config: Optional[bytearray] = None, - **kwargs - ): - super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) - self.kube_config = kube_config - - -class ManagedClusterAddonProfile(msrest.serialization.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_12_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: Optional[Dict[str, str]] = None, - **kwargs - ): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config - self.identity = 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, - *, - resource_id: Optional[str] = None, - client_id: Optional[str] = None, - object_id: Optional[str] = None, - **kwargs - ): - super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) - - -class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): - """Properties for the container service agent pool profile. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param count: Number of agents (VMs) to host docker containers. Allowed values must be in the - range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for - system pools. The default value is 1. - :type count: int - :param vm_size: 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_12_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 os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values - are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports - ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults - to 'Managed'. May not be changed after creation. Possible values include: "Managed", - "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, - container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, - resulting in Kubelet using the OS disk for data. Possible values include: "OS". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe - pods. - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. - :type pod_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_12_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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when creating the managed - cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_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_12_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: A set of 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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost. - :type enable_encryption_at_host: bool - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_state': {'readonly': True}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'vm_size': {'key': 'vmSize', 'type': 'str'}, - 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - } - - def __init__( - self, - *, - count: Optional[int] = None, - vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, - os_disk_size_gb: Optional[int] = None, - os_disk_type: Optional[Union[str, "OSDiskType"]] = None, - kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, - vnet_subnet_id: Optional[str] = None, - pod_subnet_id: Optional[str] = None, - max_pods: Optional[int] = None, - os_type: Optional[Union[str, "OSType"]] = "Linux", - max_count: Optional[int] = None, - min_count: Optional[int] = None, - enable_auto_scaling: Optional[bool] = None, - type: Optional[Union[str, "AgentPoolType"]] = None, - mode: Optional[Union[str, "AgentPoolMode"]] = None, - orchestrator_version: Optional[str] = None, - upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, - availability_zones: Optional[List[str]] = None, - enable_node_public_ip: Optional[bool] = None, - scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", - scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", - spot_max_price: Optional[float] = -1, - tags: Optional[Dict[str, str]] = None, - node_labels: Optional[Dict[str, str]] = None, - node_taints: Optional[List[str]] = None, - proximity_placement_group_id: Optional[str] = None, - kubelet_config: Optional["KubeletConfig"] = None, - linux_os_config: Optional["LinuxOSConfig"] = None, - enable_encryption_at_host: Optional[bool] = None, - **kwargs - ): - super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) - self.count = count - self.vm_size = vm_size - self.os_disk_size_gb = os_disk_size_gb - self.os_disk_type = os_disk_type - self.kubelet_disk_type = kubelet_disk_type - self.vnet_subnet_id = vnet_subnet_id - self.pod_subnet_id = pod_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 = None - self.upgrade_settings = upgrade_settings - self.provisioning_state = None - self.power_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 - self.proximity_placement_group_id = proximity_placement_group_id - self.kubelet_config = kubelet_config - self.linux_os_config = linux_os_config - self.enable_encryption_at_host = enable_encryption_at_host - - -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: Number of agents (VMs) to host docker containers. Allowed values must be in the - range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for - system pools. The default value is 1. - :type count: int - :param vm_size: 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_12_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 os_disk_type: OS disk type to be used for machines in a given agent pool. Allowed values - are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports - ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults - to 'Managed'. May not be changed after creation. Possible values include: "Managed", - "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.OSDiskType - :param kubelet_disk_type: KubeletDiskType determines the placement of emptyDir volumes, - container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, - resulting in Kubelet using the OS disk for data. Possible values include: "OS". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.KubeletDiskType - :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe - pods. - :type vnet_subnet_id: str - :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier for pods. - :type pod_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_12_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_12_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_12_01.models.AgentPoolMode - :param orchestrator_version: Version of orchestrator specified when creating the managed - cluster. - :type orchestrator_version: str - :ivar node_image_version: Version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state, which only appears in - the response. - :vartype provisioning_state: str - :ivar power_state: Describes whether the Agent Pool is Running or Stopped. - :vartype power_state: ~azure.mgmt.containerservice.v2020_12_01.models.PowerState - :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_12_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_12_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: A set of 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 proximity_placement_group_id: The ID for Proximity Placement Group. - :type proximity_placement_group_id: str - :param kubelet_config: KubeletConfig specifies the configuration of kubelet on agent nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2020_12_01.models.KubeletConfig - :param linux_os_config: LinuxOSConfig specifies the OS configuration of linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2020_12_01.models.LinuxOSConfig - :param enable_encryption_at_host: Whether to enable EncryptionAtHost. - :type enable_encryption_at_host: bool - :param name: Required. Unique name of the agent pool profile in the context of the subscription - and resource group. - :type name: str - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 1023, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'power_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'}, - 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, - 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, - 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, - 'pod_subnet_id': {'key': 'podSubnetID', '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'}, - 'power_state': {'key': 'powerState', 'type': 'PowerState'}, - '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]'}, - 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, - 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, - 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, - 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__( - self, - *, - name: str, - count: Optional[int] = None, - vm_size: Optional[Union[str, "ContainerServiceVMSizeTypes"]] = None, - os_disk_size_gb: Optional[int] = None, - os_disk_type: Optional[Union[str, "OSDiskType"]] = None, - kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, - vnet_subnet_id: Optional[str] = None, - pod_subnet_id: Optional[str] = None, - max_pods: Optional[int] = None, - os_type: Optional[Union[str, "OSType"]] = "Linux", - max_count: Optional[int] = None, - min_count: Optional[int] = None, - enable_auto_scaling: Optional[bool] = None, - type: Optional[Union[str, "AgentPoolType"]] = None, - mode: Optional[Union[str, "AgentPoolMode"]] = None, - orchestrator_version: Optional[str] = None, - upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, - availability_zones: Optional[List[str]] = None, - enable_node_public_ip: Optional[bool] = None, - scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", - scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", - spot_max_price: Optional[float] = -1, - tags: Optional[Dict[str, str]] = None, - node_labels: Optional[Dict[str, str]] = None, - node_taints: Optional[List[str]] = None, - proximity_placement_group_id: Optional[str] = None, - kubelet_config: Optional["KubeletConfig"] = None, - linux_os_config: Optional["LinuxOSConfig"] = None, - enable_encryption_at_host: Optional[bool] = None, - **kwargs - ): - super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, kubelet_disk_type=kubelet_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_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, 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, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, enable_encryption_at_host=enable_encryption_at_host, **kwargs) - self.name = name - - -class ManagedClusterAPIServerAccessProfile(msrest.serialization.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 - :param private_dns_zone: Private dns zone mode for private cluster. - :type private_dns_zone: str - """ - - _attribute_map = { - 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, - 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, - 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, - } - - def __init__( - self, - *, - authorized_ip_ranges: Optional[List[str]] = None, - enable_private_cluster: Optional[bool] = None, - private_dns_zone: Optional[str] = None, - **kwargs - ): - super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) - self.authorized_ip_ranges = authorized_ip_ranges - self.enable_private_cluster = enable_private_cluster - self.private_dns_zone = private_dns_zone - - -class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: upgrade channel for auto upgrade. Possible values include: "rapid", - "stable", "patch", "none". - :type upgrade_channel: str or ~azure.mgmt.containerservice.v2020_12_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__( - self, - *, - upgrade_channel: Optional[Union[str, "UpgradeChannel"]] = None, - **kwargs - ): - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = upgrade_channel - - -class ManagedClusterIdentity(msrest.serialization.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", - "UserAssigned", "None". - :type type: str or ~azure.mgmt.containerservice.v2020_12_01.models.ResourceIdentityType - :param user_assigned_identities: The user identity associated with the managed cluster. This - identity will be used in control plane and only one user assigned identity is allowed. 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.containerservice.v2020_12_01.models.Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties] - """ - - _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'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties}'}, - } - - def __init__( - self, - *, - type: Optional[Union[str, "ResourceIdentityType"]] = None, - user_assigned_identities: Optional[Dict[str, "Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, - **kwargs - ): - super(ManagedClusterIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedClusterListResult(msrest.serialization.Model): - """The response from the List Managed Clusters operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of managed clusters. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :ivar next_link: The URL to get the next set of managed cluster results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ManagedCluster]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["ManagedCluster"]] = None, - **kwargs - ): - super(ManagedClusterListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): - """Profile of the managed cluster load balancer. - - :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. - :type managed_outbound_i_ps: - ~azure.mgmt.containerservice.v2020_12_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_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. - :type outbound_i_ps: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load - balancer. - :type effective_outbound_i_ps: - list[~azure.mgmt.containerservice.v2020_12_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. - :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. - :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_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, - 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, - 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, - } - - def __init__( - self, - *, - managed_outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = None, - outbound_ip_prefixes: Optional["ManagedClusterLoadBalancerProfileOutboundIPPrefixes"] = None, - outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileOutboundIPs"] = None, - effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, - allocated_outbound_ports: Optional[int] = 0, - idle_timeout_in_minutes: Optional[int] = 30, - **kwargs - ): - super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) - self.managed_outbound_i_ps = managed_outbound_i_ps - self.outbound_ip_prefixes = outbound_ip_prefixes - self.outbound_i_ps = outbound_i_ps - self.effective_outbound_i_ps = effective_outbound_i_ps - self.allocated_outbound_ports = allocated_outbound_ports - self.idle_timeout_in_minutes = idle_timeout_in_minutes - - -class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.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. - :type count: int - """ - - _validation = { - 'count': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - } - - def __init__( - self, - *, - count: Optional[int] = 1, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) - self.count = count - - -class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.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_12_01.models.ResourceReference] - """ - - _attribute_map = { - 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, - } - - def __init__( - self, - *, - public_ip_prefixes: Optional[List["ResourceReference"]] = None, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) - self.public_ip_prefixes = public_ip_prefixes - - -class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.Model): - """Desired outbound IP resources for the cluster load balancer. - - :param public_i_ps: A list of public IP resources. - :type public_i_ps: list[~azure.mgmt.containerservice.v2020_12_01.models.ResourceReference] - """ - - _attribute_map = { - 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, - } - - def __init__( - self, - *, - public_i_ps: Optional[List["ResourceReference"]] = None, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_i_ps = public_i_ps - - -class ManagedClusterPodIdentity(msrest.serialization.Model): - """ManagedClusterPodIdentity. - - Variables are only 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. Name of the pod identity. - :type name: str - :param namespace: Required. Namespace of the pod identity. - :type namespace: str - :param identity: Required. Information of the user assigned identity. - :type identity: ~azure.mgmt.containerservice.v2020_12_01.models.UserAssignedIdentity - :ivar provisioning_state: The current provisioning state of the pod identity. Possible values - include: "Assigned", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityProvisioningInfo - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'identity': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'provisioning_info': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, - } - - def __init__( - self, - *, - name: str, - namespace: str, - identity: "UserAssignedIdentity", - **kwargs - ): - super(ManagedClusterPodIdentity, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.identity = identity - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(msrest.serialization.Model): - """ManagedClusterPodIdentityException. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Name of the pod identity exception. - :type name: str - :param namespace: Required. Namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. Pod labels to match. - :type pod_labels: dict[str, str] - """ - - _validation = { - 'name': {'required': True}, - 'namespace': {'required': True}, - 'pod_labels': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, - } - - def __init__( - self, - *, - name: str, - namespace: str, - pod_labels: Dict[str, str], - **kwargs - ): - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.pod_labels = pod_labels - - -class ManagedClusterPodIdentityProfile(msrest.serialization.Model): - """ManagedClusterPodIdentityProfile. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param user_assigned_identities: User assigned pod identity settings. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: User assigned pod identity exception settings. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterPodIdentityException] - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, - 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - user_assigned_identities: Optional[List["ManagedClusterPodIdentity"]] = None, - user_assigned_identity_exceptions: Optional[List["ManagedClusterPodIdentityException"]] = None, - **kwargs - ): - super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) - self.enabled = enabled - self.user_assigned_identities = user_assigned_identities - self.user_assigned_identity_exceptions = user_assigned_identity_exceptions - - -class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: ~azure.mgmt.containerservice.v2020_12_01.models.CloudError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudError'}, - } - - def __init__( - self, - *, - error: Optional["CloudError"] = None, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = error - - -class ManagedClusterPoolUpgradeProfile(msrest.serialization.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_12_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2020_12_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, - os_type: Union[str, "OSType"] = "Linux", - name: Optional[str] = None, - upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, - **kwargs - ): - super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) - self.kubernetes_version = kubernetes_version - self.name = name - self.os_type = os_type - self.upgrades = upgrades - - -class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.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: Optional[str] = None, - is_preview: Optional[bool] = None, - **kwargs - ): - super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) - self.kubernetes_version = kubernetes_version - self.is_preview = is_preview - - -class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): - """Parameters to be applied to the cluster-autoscaler when enabled. - - :param balance_similar_node_groups: - :type balance_similar_node_groups: str - :param expander: Possible values include: "least-waste", "most-pods", "priority", "random". - :type expander: str or ~azure.mgmt.containerservice.v2020_12_01.models.Expander - :param max_empty_bulk_delete: - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: - :type max_graceful_termination_sec: str - :param max_node_provision_time: - :type max_node_provision_time: str - :param max_total_unready_percentage: - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: - :type ok_total_unready_count: 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 skip_nodes_with_local_storage: - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: - :type skip_nodes_with_system_pods: str - """ - - _attribute_map = { - 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, - 'expander': {'key': 'expander', 'type': 'str'}, - 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, - 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, - 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, - 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, - 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, - 'ok_total_unready_count': {'key': 'ok-total-unready-count', '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'}, - 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, - 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, - } - - def __init__( - self, - *, - balance_similar_node_groups: Optional[str] = None, - expander: Optional[Union[str, "Expander"]] = None, - max_empty_bulk_delete: Optional[str] = None, - max_graceful_termination_sec: Optional[str] = None, - max_node_provision_time: Optional[str] = None, - max_total_unready_percentage: Optional[str] = None, - new_pod_scale_up_delay: Optional[str] = None, - ok_total_unready_count: Optional[str] = None, - scan_interval: Optional[str] = None, - scale_down_delay_after_add: Optional[str] = None, - scale_down_delay_after_delete: Optional[str] = None, - scale_down_delay_after_failure: Optional[str] = None, - scale_down_unneeded_time: Optional[str] = None, - scale_down_unready_time: Optional[str] = None, - scale_down_utilization_threshold: Optional[str] = None, - skip_nodes_with_local_storage: Optional[str] = None, - skip_nodes_with_system_pods: Optional[str] = None, - **kwargs - ): - super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) - self.balance_similar_node_groups = balance_similar_node_groups - self.expander = expander - self.max_empty_bulk_delete = max_empty_bulk_delete - self.max_graceful_termination_sec = max_graceful_termination_sec - self.max_node_provision_time = max_node_provision_time - self.max_total_unready_percentage = max_total_unready_percentage - self.new_pod_scale_up_delay = new_pod_scale_up_delay - self.ok_total_unready_count = ok_total_unready_count - 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.skip_nodes_with_local_storage = skip_nodes_with_local_storage - self.skip_nodes_with_system_pods = skip_nodes_with_system_pods - - -class ManagedClusterServicePrincipalProfile(msrest.serialization.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: Optional[str] = None, - **kwargs - ): - super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) - self.client_id = client_id - self.secret = secret - - -class ManagedClusterSKU(msrest.serialization.Model): - """ManagedClusterSKU. - - :param name: Name of a managed cluster SKU. Possible values include: "Basic". - :type name: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUName - :param tier: Tier of a managed cluster SKU. Possible values include: "Paid", "Free". - :type tier: str or ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterSKUTier - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[Union[str, "ManagedClusterSKUName"]] = None, - tier: Optional[Union[str, "ManagedClusterSKUTier"]] = None, - **kwargs - ): - super(ManagedClusterSKU, self).__init__(**kwargs) - self.name = name - self.tier = tier - - -class ManagedClusterUpgradeProfile(msrest.serialization.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_12_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_12_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: "ManagedClusterPoolUpgradeProfile", - agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], - **kwargs - ): - 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(msrest.serialization.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. Specifies the name of the administrator account. - :code:`
`:code:`
` **restriction:** Cannot end in "." :code:`
`:code:`
` - **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", - "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", - "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", - "sys", "test2", "test3", "user4", "user5". :code:`
`:code:`
` **Minimum-length:** 1 - character :code:`
`:code:`
` **Max-length:** 20 characters. - :type admin_username: str - :param admin_password: Specifies the password of the administrator account. - :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` - **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 - conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper - characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) - :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", - "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". - :type admin_password: str - :param license_type: The licenseType to use for Windows VMs. Windows_Server is used to enable - Azure Hybrid User Benefits for Windows VMs. Possible values include: "None", "Windows_Server". - :type license_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.LicenseType - """ - - _validation = { - 'admin_username': {'required': True}, - } - - _attribute_map = { - 'admin_username': {'key': 'adminUsername', 'type': 'str'}, - 'admin_password': {'key': 'adminPassword', 'type': 'str'}, - 'license_type': {'key': 'licenseType', 'type': 'str'}, - } - - def __init__( - self, - *, - admin_username: str, - admin_password: Optional[str] = None, - license_type: Optional[Union[str, "LicenseType"]] = None, - **kwargs - ): - super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.admin_password = admin_password - self.license_type = license_type - - -class OperationListResult(msrest.serialization.Model): - """The List Compute Operation operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of compute operations. - :vartype value: list[~azure.mgmt.containerservice.v2020_12_01.models.OperationValue] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationValue]'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationListResult, self).__init__(**kwargs) - self.value = None - - -class OperationValue(msrest.serialization.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 PowerState(msrest.serialization.Model): - """Describes the Power State of the cluster. - - :param code: Tells whether the cluster is Running or Stopped. Possible values include: - "Running", "Stopped". - :type code: str or ~azure.mgmt.containerservice.v2020_12_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__( - self, - *, - code: Optional[Union[str, "Code"]] = None, - **kwargs - ): - super(PowerState, self).__init__(**kwargs) - self.code = code - - -class PrivateEndpoint(msrest.serialization.Model): - """Private endpoint which a connection belongs to. - - :param id: The resource Id for private endpoint. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - *, - id: Optional[str] = None, - **kwargs - ): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = id - - -class PrivateEndpointConnection(msrest.serialization.Model): - """A private endpoint connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The ID of the private endpoint connection. - :vartype id: str - :ivar name: The name of the private endpoint connection. - :vartype name: str - :ivar type: The resource type. - :vartype type: str - :ivar provisioning_state: The current provisioning state. Possible values include: "Succeeded", - "Creating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: ~azure.mgmt.containerservice.v2020_12_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.containerservice.v2020_12_01.models.PrivateLinkServiceConnectionState - """ - - _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'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - } - - def __init__( - self, - *, - private_endpoint: Optional["PrivateEndpoint"] = None, - private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, - **kwargs - ): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.provisioning_state = None - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - - -class PrivateEndpointConnectionListResult(msrest.serialization.Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__( - self, - *, - value: Optional[List["PrivateEndpointConnection"]] = None, - **kwargs - ): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkResource(msrest.serialization.Model): - """A private link resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: The ID of the private link resource. - :type id: str - :param name: The name of the private link resource. - :type name: str - :param type: The resource type. - :type type: str - :param group_id: The group ID of the resource. - :type group_id: str - :param required_members: RequiredMembers of the resource. - :type required_members: list[str] - :ivar private_link_service_id: The private link service ID of the resource, this field is - exposed only to NRP internally. - :vartype private_link_service_id: str - """ - - _validation = { - 'private_link_service_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'groupId', 'type': 'str'}, - 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, - 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, - } - - def __init__( - self, - *, - id: Optional[str] = None, - name: Optional[str] = None, - type: Optional[str] = None, - group_id: Optional[str] = None, - required_members: Optional[List[str]] = None, - **kwargs - ): - super(PrivateLinkResource, self).__init__(**kwargs) - self.id = id - self.name = name - self.type = type - self.group_id = group_id - self.required_members = required_members - self.private_link_service_id = None - - -class PrivateLinkResourcesListResult(msrest.serialization.Model): - """A list of private link resources. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__( - self, - *, - value: Optional[List["PrivateLinkResource"]] = None, - **kwargs - ): - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(msrest.serialization.Model): - """The state of a private link service connection. - - :param status: The private link service connection status. Possible values include: "Pending", - "Approved", "Rejected", "Disconnected". - :type status: str or ~azure.mgmt.containerservice.v2020_12_01.models.ConnectionStatus - :param description: The private link service connection description. - :type description: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__( - self, - *, - status: Optional[Union[str, "ConnectionStatus"]] = None, - description: Optional[str] = None, - **kwargs - ): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - - -class ResourceReference(msrest.serialization.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: Optional[str] = None, - **kwargs - ): - super(ResourceReference, self).__init__(**kwargs) - self.id = id - - -class SysctlConfig(msrest.serialization.Model): - """Sysctl settings for Linux agent nodes. - - :param net_core_somaxconn: Sysctl setting net.core.somaxconn. - :type net_core_somaxconn: int - :param net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. - :type net_core_netdev_max_backlog: int - :param net_core_rmem_default: Sysctl setting net.core.rmem_default. - :type net_core_rmem_default: int - :param net_core_rmem_max: Sysctl setting net.core.rmem_max. - :type net_core_rmem_max: int - :param net_core_wmem_default: Sysctl setting net.core.wmem_default. - :type net_core_wmem_default: int - :param net_core_wmem_max: Sysctl setting net.core.wmem_max. - :type net_core_wmem_max: int - :param net_core_optmem_max: Sysctl setting net.core.optmem_max. - :type net_core_optmem_max: int - :param net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - :type net_ipv4_tcp_max_syn_backlog: int - :param net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - :type net_ipv4_tcp_max_tw_buckets: int - :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. - :type net_ipv4_tcp_fin_timeout: int - :param net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. - :type net_ipv4_tcp_keepalive_time: int - :param net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. - :type net_ipv4_tcp_keepalive_probes: int - :param net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - :type net_ipv4_tcpkeepalive_intvl: int - :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. - :type net_ipv4_tcp_tw_reuse: bool - :param net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. - :type net_ipv4_ip_local_port_range: str - :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - :type net_ipv4_neigh_default_gc_thresh1: int - :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - :type net_ipv4_neigh_default_gc_thresh2: int - :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - :type net_ipv4_neigh_default_gc_thresh3: int - :param net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. - :type net_netfilter_nf_conntrack_max: int - :param net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - :type net_netfilter_nf_conntrack_buckets: int - :param fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. - :type fs_inotify_max_user_watches: int - :param fs_file_max: Sysctl setting fs.file-max. - :type fs_file_max: int - :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. - :type fs_aio_max_nr: int - :param fs_nr_open: Sysctl setting fs.nr_open. - :type fs_nr_open: int - :param kernel_threads_max: Sysctl setting kernel.threads-max. - :type kernel_threads_max: int - :param vm_max_map_count: Sysctl setting vm.max_map_count. - :type vm_max_map_count: int - :param vm_swappiness: Sysctl setting vm.swappiness. - :type vm_swappiness: int - :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. - :type vm_vfs_cache_pressure: int - """ - - _attribute_map = { - 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, - 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, - 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, - 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, - 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, - 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, - 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, - 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, - 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, - 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, - 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, - 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, - 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, - 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, - 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, - 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, - 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, - 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, - 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, - 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, - 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, - 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, - 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, - 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, - 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, - 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, - } - - def __init__( - self, - *, - net_core_somaxconn: Optional[int] = None, - net_core_netdev_max_backlog: Optional[int] = None, - net_core_rmem_default: Optional[int] = None, - net_core_rmem_max: Optional[int] = None, - net_core_wmem_default: Optional[int] = None, - net_core_wmem_max: Optional[int] = None, - net_core_optmem_max: Optional[int] = None, - net_ipv4_tcp_max_syn_backlog: Optional[int] = None, - net_ipv4_tcp_max_tw_buckets: Optional[int] = None, - net_ipv4_tcp_fin_timeout: Optional[int] = None, - net_ipv4_tcp_keepalive_time: Optional[int] = None, - net_ipv4_tcp_keepalive_probes: Optional[int] = None, - net_ipv4_tcpkeepalive_intvl: Optional[int] = None, - net_ipv4_tcp_tw_reuse: Optional[bool] = None, - net_ipv4_ip_local_port_range: Optional[str] = None, - net_ipv4_neigh_default_gc_thresh1: Optional[int] = None, - net_ipv4_neigh_default_gc_thresh2: Optional[int] = None, - net_ipv4_neigh_default_gc_thresh3: Optional[int] = None, - net_netfilter_nf_conntrack_max: Optional[int] = None, - net_netfilter_nf_conntrack_buckets: Optional[int] = None, - fs_inotify_max_user_watches: Optional[int] = None, - fs_file_max: Optional[int] = None, - fs_aio_max_nr: Optional[int] = None, - fs_nr_open: Optional[int] = None, - kernel_threads_max: Optional[int] = None, - vm_max_map_count: Optional[int] = None, - vm_swappiness: Optional[int] = None, - vm_vfs_cache_pressure: Optional[int] = None, - **kwargs - ): - super(SysctlConfig, self).__init__(**kwargs) - self.net_core_somaxconn = net_core_somaxconn - self.net_core_netdev_max_backlog = net_core_netdev_max_backlog - self.net_core_rmem_default = net_core_rmem_default - self.net_core_rmem_max = net_core_rmem_max - self.net_core_wmem_default = net_core_wmem_default - self.net_core_wmem_max = net_core_wmem_max - self.net_core_optmem_max = net_core_optmem_max - self.net_ipv4_tcp_max_syn_backlog = net_ipv4_tcp_max_syn_backlog - self.net_ipv4_tcp_max_tw_buckets = net_ipv4_tcp_max_tw_buckets - self.net_ipv4_tcp_fin_timeout = net_ipv4_tcp_fin_timeout - self.net_ipv4_tcp_keepalive_time = net_ipv4_tcp_keepalive_time - self.net_ipv4_tcp_keepalive_probes = net_ipv4_tcp_keepalive_probes - self.net_ipv4_tcpkeepalive_intvl = net_ipv4_tcpkeepalive_intvl - self.net_ipv4_tcp_tw_reuse = net_ipv4_tcp_tw_reuse - self.net_ipv4_ip_local_port_range = net_ipv4_ip_local_port_range - self.net_ipv4_neigh_default_gc_thresh1 = net_ipv4_neigh_default_gc_thresh1 - self.net_ipv4_neigh_default_gc_thresh2 = net_ipv4_neigh_default_gc_thresh2 - self.net_ipv4_neigh_default_gc_thresh3 = net_ipv4_neigh_default_gc_thresh3 - self.net_netfilter_nf_conntrack_max = net_netfilter_nf_conntrack_max - self.net_netfilter_nf_conntrack_buckets = net_netfilter_nf_conntrack_buckets - self.fs_inotify_max_user_watches = fs_inotify_max_user_watches - self.fs_file_max = fs_file_max - self.fs_aio_max_nr = fs_aio_max_nr - self.fs_nr_open = fs_nr_open - self.kernel_threads_max = kernel_threads_max - self.vm_max_map_count = vm_max_map_count - self.vm_swappiness = vm_swappiness - self.vm_vfs_cache_pressure = vm_vfs_cache_pressure - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~azure.mgmt.containerservice.v2020_12_01.models.CreatedByType - :param last_modified_at: The type of identity that last modified the resource. - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - created_by: Optional[str] = None, - created_by_type: Optional[Union[str, "CreatedByType"]] = None, - created_at: Optional[datetime.datetime] = None, - last_modified_by: Optional[str] = None, - last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, - last_modified_at: Optional[datetime.datetime] = None, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = created_by - self.created_by_type = created_by_type - self.created_at = created_at - self.last_modified_by = last_modified_by - self.last_modified_by_type = last_modified_by_type - self.last_modified_at = last_modified_at - - -class TagsObject(msrest.serialization.Model): - """Tags object for patch operations. - - :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(TagsObject, self).__init__(**kwargs) - self.tags = tags - - -class TimeInWeek(msrest.serialization.Model): - """Time in a week. - - :param day: A day in a week. Possible values include: "Sunday", "Monday", "Tuesday", - "Wednesday", "Thursday", "Friday", "Saturday". - :type day: str or ~azure.mgmt.containerservice.v2020_12_01.models.WeekDay - :param hour_slots: hour slots in a day. - :type hour_slots: list[int] - """ - - _attribute_map = { - 'day': {'key': 'day', 'type': 'str'}, - 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, - } - - def __init__( - self, - *, - day: Optional[Union[str, "WeekDay"]] = None, - hour_slots: Optional[List[int]] = None, - **kwargs - ): - super(TimeInWeek, self).__init__(**kwargs) - self.day = day - self.hour_slots = hour_slots - - -class TimeSpan(msrest.serialization.Model): - """The time span with start and end properties. - - :param start: The start of a time span. - :type start: ~datetime.datetime - :param end: The end of a time span. - :type end: ~datetime.datetime - """ - - _attribute_map = { - 'start': {'key': 'start', 'type': 'iso-8601'}, - 'end': {'key': 'end', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - start: Optional[datetime.datetime] = None, - end: Optional[datetime.datetime] = None, - **kwargs - ): - super(TimeSpan, self).__init__(**kwargs) - self.start = start - self.end = end diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py deleted file mode 100755 index 3942e0ca6a0..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ._maintenance_configurations_operations import MaintenanceConfigurationsOperations -from ._agent_pools_operations import AgentPoolsOperations -from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations -from ._private_link_resources_operations import PrivateLinkResourcesOperations -from ._resolve_private_link_service_id_operations import ResolvePrivateLinkServiceIdOperations - -__all__ = [ - 'Operations', - 'ManagedClustersOperations', - 'MaintenanceConfigurationsOperations', - 'AgentPoolsOperations', - 'PrivateEndpointConnectionsOperations', - 'PrivateLinkResourcesOperations', - 'ResolvePrivateLinkServiceIdOperations', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py deleted file mode 100755 index d5e36d9ff13..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_agent_pools_operations.py +++ /dev/null @@ -1,703 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 AgentPoolsOperations(object): - """AgentPoolsOperations 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.containerservice.v2020_12_01.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 - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.AgentPoolListResult"] - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('AgentPoolListResult', 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.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore - - def get( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.AgentPool" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPool, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPool - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - def _create_or_update_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - parameters, # type: "_models.AgentPool" - **kwargs # type: Any - ): - # type: (...) -> "_models.AgentPool" - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'AgentPool') - 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) - - if response.status_code == 200: - deserialized = self._deserialize('AgentPool', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - def begin_create_or_update( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - parameters, # type: "_models.AgentPool" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.AgentPool"] - """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_12_01.models.AgentPool - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either AgentPool or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2020_12_01.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - 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, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - def _delete_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore - - def get_upgrade_profile( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.AgentPoolUpgradeProfile" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPoolUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolUpgradeProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('AgentPoolUpgradeProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore - - def get_available_agent_pool_versions( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.AgentPoolAvailableVersions" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPoolAvailableVersions, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.AgentPoolAvailableVersions - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('AgentPoolAvailableVersions', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore - - def _upgrade_node_image_version_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.AgentPool"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._upgrade_node_image_version_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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 == 202: - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore - - def begin_upgrade_node_image_version( - self, - resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.AgentPool"] - """Upgrade node image version of an agent pool to the latest. - - Upgrade node image version of an agent pool to the latest. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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["_models.AgentPool"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._upgrade_node_image_version_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('AgentPool', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py deleted file mode 100755 index 0d7f59ca557..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_maintenance_configurations_operations.py +++ /dev/null @@ -1,325 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 MaintenanceConfigurationsOperations(object): - """MaintenanceConfigurationsOperations 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.containerservice.v2020_12_01.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_managed_cluster( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MaintenanceConfigurationListResult"] - """Gets a list of maintenance configurations in the specified managed cluster. - - Gets a list of maintenance configurations in the specified managed cluster. The operation - returns properties of each maintenance configuration. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfigurationListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # Construct URL - url = self.list_by_managed_cluster.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('MaintenanceConfigurationListResult', 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_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore - - def get( - self, - resource_group_name, # type: str - resource_name, # type: str - config_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.MaintenanceConfiguration" - """Gets the maintenance configuration. - - Gets the details of maintenance configurations 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 config_name: The name of the maintenance configuration. - :type config_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: MaintenanceConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('MaintenanceConfiguration', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - resource_name, # type: str - config_name, # type: str - parameters, # type: "_models.MaintenanceConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.MaintenanceConfiguration" - """Creates or updates a maintenance configurations. - - Creates or updates a maintenance configuration 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 config_name: The name of the maintenance configuration. - :type config_name: str - :param parameters: Parameters supplied to the Create or Update a default maintenance - configuration. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration - :keyword callable cls: A custom type or function that will be passed the direct response - :return: MaintenanceConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.MaintenanceConfiguration - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "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'), - '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'MaintenanceConfiguration') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - resource_name, # type: str - config_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a maintenance configuration. - - Deletes the maintenance configuration 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 config_name: The name of the maintenance configuration. - :type config_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 = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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]$'), - 'configName': self._serialize.url("config_name", config_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py deleted file mode 100755 index e424b772204..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_managed_clusters_operations.py +++ /dev/null @@ -1,1524 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, 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 as _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 ManagedClustersOperations(object): - """ManagedClustersOperations 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.containerservice.v2020_12_01.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: (...) -> Iterable["_models.ManagedClusterListResult"] - """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. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ManagedClusterListResult"] - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore - - def get_upgrade_profile( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagedClusterUpgradeProfile" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedClusterUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterUpgradeProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('ManagedClusterUpgradeProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore - - def get_access_profile( - self, - resource_group_name, # type: str - resource_name, # type: str - role_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagedClusterAccessProfile" - """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 - `_ or - `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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedClusterAccessProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterAccessProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.get_access_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('ManagedClusterAccessProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore - - def list_cluster_admin_credentials( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.CredentialResults" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_admin_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('CredentialResults', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore - - def list_cluster_user_credentials( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.CredentialResults" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_user_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('CredentialResults', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore - - def list_cluster_monitoring_user_credentials( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.CredentialResults" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_monitoring_user_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('CredentialResults', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore - - def get( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagedCluster" - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedCluster, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - def _create_or_update_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedCluster" - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagedCluster" - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedCluster') - 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) - - if response.status_code == 200: - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - def begin_create_or_update( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedCluster" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ManagedCluster"] - """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_12_01.models.ManagedCluster - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - def _update_tags_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.TagsObject" - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagedCluster" - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_tags_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') - 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('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - def begin_update_tags( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.TagsObject" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ManagedCluster"] - """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 parameters: Parameters supplied to the Update Managed Cluster Tags operation. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.TagsObject - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2020_12_01.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._update_tags_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('ManagedCluster', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - 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 = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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.ContainerService/managedClusters/{resourceName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore - - def _reset_service_principal_profile_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterServicePrincipalProfile" - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') - 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, {}) - - _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore - - def begin_reset_service_principal_profile( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterServicePrincipalProfile" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """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 parameters: Parameters supplied to the Reset Service Principal Profile operation for a - Managed Cluster. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.ManagedClusterServicePrincipalProfile - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._reset_service_principal_profile_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore - - def _reset_aad_profile_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterAADProfile" - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._reset_aad_profile_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedClusterAADProfile') - 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, {}) - - _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore - - def begin_reset_aad_profile( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterAADProfile" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """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_12_01.models.ManagedClusterAADProfile - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._reset_aad_profile_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore - - def _rotate_cluster_certificates_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 = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._rotate_cluster_certificates_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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, 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, {}) - - _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore - - def begin_rotate_cluster_certificates( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._rotate_cluster_certificates_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore - - def _stop_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 = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._stop_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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, 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, {}) - - _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore - - def begin_stop( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Stop Managed Cluster. - - Stops a Running 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore - - def _start_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 = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._start_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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, 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, {}) - - _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore - - def begin_start( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Start Managed Cluster. - - Starts a Stopped 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._start_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_operations.py deleted file mode 100755 index d49593528c7..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_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. -# -------------------------------------------------------------------------- -from typing import TYPE_CHECKING -import warnings - -from azure.core.exceptions import ClientAuthenticationError, 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 as _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 Operations(object): - """Operations 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.containerservice.v2020_12_01.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: (...) -> Iterable["_models.OperationListResult"] - """Gets a list of compute operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2020_12_01.models.OperationListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # 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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - 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 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.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py deleted file mode 100755 index 2fafddf9052..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,366 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -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 as _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 PrivateEndpointConnectionsOperations(object): - """PrivateEndpointConnectionsOperations 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.containerservice.v2020_12_01.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 - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateEndpointConnectionListResult" - """Gets a list of private endpoint connections in the specified managed cluster. - - Gets a list of private endpoint connections in the specified managed cluster. The operation - returns properties of each private endpoint connection. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnectionListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnectionListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('PrivateEndpointConnectionListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore - - def get( - self, - resource_group_name, # type: str - resource_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateEndpointConnection" - """Gets the private endpoint connection. - - Gets the details of the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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]$'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def update( - self, - resource_group_name, # type: str - resource_name, # type: str - private_endpoint_connection_name, # type: str - parameters, # type: "_models.PrivateEndpointConnection" - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateEndpointConnection" - """Updates a private endpoint connection. - - Updates a private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :param parameters: Parameters supplied to the Update a private endpoint connection operation. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateEndpointConnection - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "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'), - '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]$'), - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def _delete_initial( - self, - resource_group_name, # type: str - resource_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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]$'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - resource_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Deletes a private endpoint connection. - - Deletes the private endpoint connection 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 private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - resource_name=resource_name, - private_endpoint_connection_name=private_endpoint_connection_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - '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]$'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_operations.py deleted file mode 100755 index e61301522a1..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_private_link_resources_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. -# -------------------------------------------------------------------------- -from typing import TYPE_CHECKING -import warnings - -from azure.core.exceptions import ClientAuthenticationError, 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 as _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 PrivateLinkResourcesOperations(object): - """PrivateLinkResourcesOperations 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.containerservice.v2020_12_01.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 - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateLinkResourcesListResult" - """Gets a list of private link resources in the specified managed cluster. - - Gets a list of private link resources in the specified managed cluster. The operation returns - properties of each private link resource. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkResourcesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResourcesListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - accept = "application/json" - - # 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'), - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - 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('PrivateLinkResourcesListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.py deleted file mode 100755 index c89c87d67a7..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2020_12_01/operations/_resolve_private_link_service_id_operations.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 typing import TYPE_CHECKING -import warnings - -from azure.core.exceptions import ClientAuthenticationError, 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 as _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 ResolvePrivateLinkServiceIdOperations(object): - """ResolvePrivateLinkServiceIdOperations 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.containerservice.v2020_12_01.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 post( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.PrivateLinkResource" - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateLinkResource" - """Gets the private link service ID for the specified managed cluster. - - Gets the private link service ID 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 parameters: Parameters (name, groupId) supplied in order to resolve a private link - service ID. - :type parameters: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkResource, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2020_12_01.models.PrivateLinkResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-12-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.post.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[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'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateLinkResource') - 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('PrivateLinkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index f009d863709..ab12da44148 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.5.22" +VERSION = "0.5.23" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', From c7bca94a0aff09630cd985c16feb0745c3bf5948 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 14 Jul 2021 13:23:14 +0800 Subject: [PATCH 77/85] [Release] Update index.json for extension [ aks-preview ] (#3643) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=997691 Last commit: https://github.com/Azure/azure-cli-extensions/commit/31153906558264de8a82b4b0b96120a57b23f3c3 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 0e29ae7dd2f..8db9a7ec7d8 100644 --- a/src/index.json +++ b/src/index.json @@ -3218,6 +3218,49 @@ "version": "0.5.22" }, "sha256Digest": "d9673c7d1496e2d85d2b15ad1fc7b2e24101517d8714c4a1cc9f86175cf395a2" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.23-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.23-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 :: 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/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.23" + }, + "sha256Digest": "1d5ad0d8d49f0cf13ffb65cbb3a60651dfa87a8b8b9537f7d9574d4bdc68c1d6" } ], "alertsmanagement": [ From 45d8e6dc88a0aadc23b41a45b979895e3f2a1144 Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Wed, 14 Jul 2021 16:05:53 +0800 Subject: [PATCH 78/85] [db-up] Fix issue #3301: az postgres up fails unpleasantly when database name contains dash (#3639) * fix * add release notw --- src/db-up/HISTORY.rst | 1 + src/db-up/azext_db_up/custom.py | 2 +- .../latest/recordings/test_postgres_up.yaml | 418 +++++++++--------- 3 files changed, 209 insertions(+), 212 deletions(-) diff --git a/src/db-up/HISTORY.rst b/src/db-up/HISTORY.rst index c9681515271..28d710d82b1 100644 --- a/src/db-up/HISTORY.rst +++ b/src/db-up/HISTORY.rst @@ -6,6 +6,7 @@ Release History 0.2.4 (2021-07-12) ++++++++++++++++++ * Fix issue with non-existing resource group +* Fix issue #3301: az postgres up fails unpleasantly when database name contains dash 0.2.3 (2021-05-10) ++++++++++++++++++ diff --git a/src/db-up/azext_db_up/custom.py b/src/db-up/azext_db_up/custom.py index 55fc5ccc24c..7c921234b62 100644 --- a/src/db-up/azext_db_up/custom.py +++ b/src/db-up/azext_db_up/custom.py @@ -387,7 +387,7 @@ def _run_postgresql_commands(host, user, password, database): logger.warning("Ran Database Query: `CREATE USER root WITH ENCRYPTED PASSWORD '%s'`", db_password) except psycopg2.ProgrammingError: pass - cursor.execute("GRANT ALL PRIVILEGES ON DATABASE {} TO root".format(database)) + cursor.execute('GRANT ALL PRIVILEGES ON DATABASE "{}" TO root'.format(database)) logger.warning("Ran Database Query: `GRANT ALL PRIVILEGES ON DATABASE %s TO root`", database) 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 index 46569ecb76a..b9e64e4ec2d 100644 --- 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 @@ -13,26 +13,23 @@ interactions: Content-Length: - '22' Content-Type: - - application/json; charset=utf-8 + - application/json 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 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group4794040878?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group3055132766?api-version=2020-10-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"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766","name":"group3055132766","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '279' + - '227' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:15:42 GMT + - Tue, 13 Jul 2021 07:37:54 GMT expires: - '-1' pragma: @@ -42,7 +39,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -60,25 +57,26 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032?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."}}' + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforPostgreSQL/servers/server861539032'' + under resource group ''group3055132766'' was not found. For more details please + go to https://aka.ms/ARMResourceNotFoundFix"}}' headers: cache-control: - no-cache content-length: - - '168' + - '236' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:15:43 GMT + - Tue, 13 Jul 2021 07:37:55 GMT expires: - '-1' pragma: @@ -95,8 +93,8 @@ interactions: - 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"}' + "Default", "administratorLogin": "calmLizard0", "administratorLoginPassword": + "c039c662-a579-4bf3-bb6e-cd9e5a10d5eb"}, "location": "eastus"}' headers: Accept: - application/json @@ -107,22 +105,22 @@ interactions: Connection: - keep-alive Content-Length: - - '299' + - '300' 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:15:49.767Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2021-07-13T07:38:01.563Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7e178a87-6d13-4175-b130-dd0064a52a65?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -130,11 +128,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:15:50 GMT + - Tue, 13 Jul 2021 07:38:01 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/7e178a87-6d13-4175-b130-dd0064a52a65?api-version=2017-12-01 pragma: - no-cache server: @@ -144,7 +142,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 202 message: Accepted @@ -160,13 +158,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7e178a87-6d13-4175-b130-dd0064a52a65?api-version=2017-12-01 response: body: - string: '{"name":"b0d1f764-7907-4879-9937-702617855eb5","status":"InProgress","startTime":"2020-05-25T08:15:49.767Z"}' + string: '{"name":"7e178a87-6d13-4175-b130-dd0064a52a65","status":"InProgress","startTime":"2021-07-13T07:38:01.563Z"}' headers: cache-control: - no-cache @@ -175,7 +173,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:16:51 GMT + - Tue, 13 Jul 2021 07:39:03 GMT expires: - '-1' pragma: @@ -205,13 +203,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7e178a87-6d13-4175-b130-dd0064a52a65?api-version=2017-12-01 response: body: - string: '{"name":"b0d1f764-7907-4879-9937-702617855eb5","status":"Succeeded","startTime":"2020-05-25T08:15:49.767Z"}' + string: '{"name":"7e178a87-6d13-4175-b130-dd0064a52a65","status":"Succeeded","startTime":"2021-07-13T07:38:01.563Z"}' headers: cache-control: - no-cache @@ -220,7 +218,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:17:53 GMT + - Tue, 13 Jul 2021 07:40:03 GMT expires: - '-1' pragma: @@ -250,22 +248,22 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032?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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"calmLizard0","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server861539032.postgres.database.azure.com","earliestRestoreDate":"2021-07-13T07:48:01.907+00:00","replicationRole":"None","masterServerId":"","replicaCapacity":5,"byokEnforcement":"Disabled","privateEndpointConnections":[],"infrastructureEncryption":"Disabled","publicNetworkAccess":"Enabled"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032","name":"server861539032","type":"Microsoft.DBforPostgreSQL/servers"}' headers: cache-control: - no-cache content-length: - - '926' + - '927' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:17:55 GMT + - Tue, 13 Jul 2021 07:40:05 GMT expires: - '-1' pragma: @@ -297,12 +295,12 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/databases/sampledb?api-version=2017-12-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"The requested resource @@ -316,7 +314,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:17:57 GMT + - Tue, 13 Jul 2021 07:40:06 GMT expires: - '-1' pragma: @@ -346,18 +344,18 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerDatabase","startTime":"2020-05-25T08:17:58.933Z"}' + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2021-07-13T07:40:07.047Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/45f7aa86-aeb3-441f-ac28-11c143d38313?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -365,11 +363,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:17:58 GMT + - Tue, 13 Jul 2021 07:40:06 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/45f7aa86-aeb3-441f-ac28-11c143d38313?api-version=2017-12-01 pragma: - no-cache server: @@ -379,7 +377,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -395,13 +393,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/45f7aa86-aeb3-441f-ac28-11c143d38313?api-version=2017-12-01 response: body: - string: '{"name":"7c9f8383-2309-4920-a19b-7d9dc38f512b","status":"Succeeded","startTime":"2020-05-25T08:17:58.933Z"}' + string: '{"name":"45f7aa86-aeb3-441f-ac28-11c143d38313","status":"Succeeded","startTime":"2021-07-13T07:40:07.047Z"}' headers: cache-control: - no-cache @@ -410,7 +408,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:18:15 GMT + - Tue, 13 Jul 2021 07:40:22 GMT expires: - '-1' pragma: @@ -440,13 +438,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/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"}' + string: '{"properties":{"charset":"UTF8","collation":"English_United States.1252"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/databases/sampledb","name":"sampledb","type":"Microsoft.DBforPostgreSQL/servers/databases"}' headers: cache-control: - no-cache @@ -455,7 +453,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:18:16 GMT + - Tue, 13 Jul 2021 07:40:23 GMT expires: - '-1' pragma: @@ -489,18 +487,18 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/firewallRules/devbox?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:19:04.987Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-13T07:41:09.923Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/94908af7-0f21-47fc-8220-f5769c0bdbbf?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -508,11 +506,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:05 GMT + - Tue, 13 Jul 2021 07:41:09 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/94908af7-0f21-47fc-8220-f5769c0bdbbf?api-version=2017-12-01 pragma: - no-cache server: @@ -522,7 +520,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' status: code: 202 message: Accepted @@ -538,13 +536,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/94908af7-0f21-47fc-8220-f5769c0bdbbf?api-version=2017-12-01 response: body: - string: '{"name":"28325450-0a01-4621-9e30-6f6553968d13","status":"Succeeded","startTime":"2020-05-25T08:19:04.987Z"}' + string: '{"name":"94908af7-0f21-47fc-8220-f5769c0bdbbf","status":"Succeeded","startTime":"2021-07-13T07:41:09.923Z"}' headers: cache-control: - no-cache @@ -553,7 +551,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:21 GMT + - Tue, 13 Jul 2021 07:41:25 GMT expires: - '-1' pragma: @@ -583,13 +581,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/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"}' + string: '{"properties":{"startIpAddress":"167.220.255.115","endIpAddress":"167.220.255.115"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/firewallRules/devbox","name":"devbox","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' headers: cache-control: - no-cache @@ -598,7 +596,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:24 GMT + - Tue, 13 Jul 2021 07:41:26 GMT expires: - '-1' pragma: @@ -632,30 +630,30 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/firewallRules/azure-access?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:19:26.47Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-13T07:41:27.993Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/381259c2-3136-43ba-a200-1935fa181ca1?api-version=2017-12-01 cache-control: - no-cache content-length: - - '86' + - '87' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:29 GMT + - Tue, 13 Jul 2021 07:41:27 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/381259c2-3136-43ba-a200-1935fa181ca1?api-version=2017-12-01 pragma: - no-cache server: @@ -665,7 +663,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 202 message: Accepted @@ -681,22 +679,22 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/381259c2-3136-43ba-a200-1935fa181ca1?api-version=2017-12-01 response: body: - string: '{"name":"679e52fc-baa5-492b-881a-60a25e3212a7","status":"Succeeded","startTime":"2020-05-25T08:19:26.47Z"}' + string: '{"name":"381259c2-3136-43ba-a200-1935fa181ca1","status":"Succeeded","startTime":"2021-07-13T07:41:27.993Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:45 GMT + - Tue, 13 Jul 2021 07:41:43 GMT expires: - '-1' pragma: @@ -726,13 +724,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/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"}' + string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"0.0.0.0"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group3055132766/providers/Microsoft.DBforPostgreSQL/servers/server861539032/firewallRules/azure-access","name":"azure-access","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' headers: cache-control: - no-cache @@ -741,7 +739,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:47 GMT + - Tue, 13 Jul 2021 07:41:45 GMT expires: - '-1' pragma: @@ -773,24 +771,21 @@ interactions: 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 + - AZURECLI/2.26.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/postgresup000001?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/postgresup000001?api-version=2020-10-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"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001","name":"postgresup000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-07-13T07:37:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '471' + - '428' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:52 GMT + - Tue, 13 Jul 2021 07:41:49 GMT expires: - '-1' pragma: @@ -820,25 +815,26 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952?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."}}' + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforPostgreSQL/servers/server267793952'' + under resource group ''postgresup000001'' was not found. For more details + please go to https://aka.ms/ARMResourceNotFoundFix"}}' headers: cache-control: - no-cache content-length: - - '228' + - '296' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:53 GMT + - Tue, 13 Jul 2021 07:41:49 GMT expires: - '-1' pragma: @@ -855,8 +851,8 @@ interactions: - 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"}' + "Default", "administratorLogin": "calmLizard0", "administratorLoginPassword": + "35a9ebc7-b7d7-4671-bed3-349b3a649bdf"}, "location": "eastus"}' headers: Accept: - application/json @@ -867,36 +863,36 @@ interactions: Connection: - keep-alive Content-Length: - - '299' + - '300' 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServer","startTime":"2020-05-25T08:19:59.16Z"}' + string: '{"operation":"UpsertElasticServer","startTime":"2021-07-13T07:41:54.967Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2919c587-c910-46db-911d-42d2d3713e17?api-version=2017-12-01 cache-control: - no-cache content-length: - - '73' + - '74' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:19:59 GMT + - Tue, 13 Jul 2021 07:41:56 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/2919c587-c910-46db-911d-42d2d3713e17?api-version=2017-12-01 pragma: - no-cache server: @@ -906,7 +902,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -924,22 +920,22 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2919c587-c910-46db-911d-42d2d3713e17?api-version=2017-12-01 response: body: - string: '{"name":"1819b1ce-6965-45af-8530-a0ed66a5f8ea","status":"InProgress","startTime":"2020-05-25T08:19:59.16Z"}' + string: '{"name":"2919c587-c910-46db-911d-42d2d3713e17","status":"InProgress","startTime":"2021-07-13T07:41:54.967Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '108' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:21:01 GMT + - Tue, 13 Jul 2021 07:42:56 GMT expires: - '-1' pragma: @@ -971,22 +967,22 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2919c587-c910-46db-911d-42d2d3713e17?api-version=2017-12-01 response: body: - string: '{"name":"1819b1ce-6965-45af-8530-a0ed66a5f8ea","status":"Succeeded","startTime":"2020-05-25T08:19:59.16Z"}' + string: '{"name":"2919c587-c910-46db-911d-42d2d3713e17","status":"Succeeded","startTime":"2021-07-13T07:41:54.967Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:22:02 GMT + - Tue, 13 Jul 2021 07:43:57 GMT expires: - '-1' pragma: @@ -1018,22 +1014,22 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952?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"}' + string: '{"sku":{"name":"GP_Gen5_2","tier":"GeneralPurpose","family":"Gen5","capacity":2},"properties":{"administratorLogin":"calmLizard0","storageProfile":{"storageMB":5120,"backupRetentionDays":7,"geoRedundantBackup":"Disabled","storageAutogrow":"Disabled"},"version":"10","sslEnforcement":"Enabled","minimalTlsVersion":"TLSEnforcementDisabled","userVisibleState":"Ready","fullyQualifiedDomainName":"server267793952.postgres.database.azure.com","earliestRestoreDate":"2021-07-13T07:51:55.297+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/server267793952","name":"server267793952","type":"Microsoft.DBforPostgreSQL/servers"}' headers: cache-control: - no-cache content-length: - - '986' + - '987' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:22:03 GMT + - Tue, 13 Jul 2021 07:43:57 GMT expires: - '-1' pragma: @@ -1067,12 +1063,12 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/databases/sampledb?api-version=2017-12-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"The requested resource @@ -1086,7 +1082,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:22:06 GMT + - Tue, 13 Jul 2021 07:44:00 GMT expires: - '-1' pragma: @@ -1118,30 +1114,30 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/databases/sampledb?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerDatabase","startTime":"2020-05-25T08:22:08.293Z"}' + string: '{"operation":"UpsertElasticServerDatabase","startTime":"2021-07-13T07:44:01.86Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/94580f9b-9d29-4d0c-849f-32cbda4d4df7?api-version=2017-12-01 cache-control: - no-cache content-length: - - '82' + - '81' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:22:08 GMT + - Tue, 13 Jul 2021 07:44:01 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/94580f9b-9d29-4d0c-849f-32cbda4d4df7?api-version=2017-12-01 pragma: - no-cache server: @@ -1151,7 +1147,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 202 message: Accepted @@ -1169,22 +1165,22 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/94580f9b-9d29-4d0c-849f-32cbda4d4df7?api-version=2017-12-01 response: body: - string: '{"name":"91f2ddbd-8e26-4d14-ab39-96b543a0ce4a","status":"Succeeded","startTime":"2020-05-25T08:22:08.293Z"}' + string: '{"name":"94580f9b-9d29-4d0c-849f-32cbda4d4df7","status":"Succeeded","startTime":"2021-07-13T07:44:01.86Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:22:24 GMT + - Tue, 13 Jul 2021 07:44:17 GMT expires: - '-1' pragma: @@ -1216,13 +1212,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/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"}' + string: '{"properties":{"charset":"UTF8","collation":"English_United States.1252"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/databases/sampledb","name":"sampledb","type":"Microsoft.DBforPostgreSQL/servers/databases"}' headers: cache-control: - no-cache @@ -1231,7 +1227,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:22:24 GMT + - Tue, 13 Jul 2021 07:44:18 GMT expires: - '-1' pragma: @@ -1267,30 +1263,30 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/firewallRules/devbox?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:23:16.44Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-13T07:45:03.483Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/20d0a4c9-178d-4663-9dbd-4416336a419c?api-version=2017-12-01 cache-control: - no-cache content-length: - - '86' + - '87' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:23:17 GMT + - Tue, 13 Jul 2021 07:45:02 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/20d0a4c9-178d-4663-9dbd-4416336a419c?api-version=2017-12-01 pragma: - no-cache server: @@ -1300,7 +1296,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 202 message: Accepted @@ -1318,22 +1314,22 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/20d0a4c9-178d-4663-9dbd-4416336a419c?api-version=2017-12-01 response: body: - string: '{"name":"76b3c6ff-9986-4a10-9b83-e31d6645dbbb","status":"Succeeded","startTime":"2020-05-25T08:23:16.44Z"}' + string: '{"name":"20d0a4c9-178d-4663-9dbd-4416336a419c","status":"Succeeded","startTime":"2021-07-13T07:45:03.483Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:23:33 GMT + - Tue, 13 Jul 2021 07:45:18 GMT expires: - '-1' pragma: @@ -1365,13 +1361,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/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"}' + 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/server267793952/firewallRules/devbox","name":"devbox","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' headers: cache-control: - no-cache @@ -1380,7 +1376,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:23:35 GMT + - Tue, 13 Jul 2021 07:45:19 GMT expires: - '-1' pragma: @@ -1416,18 +1412,18 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/firewallRules/azure-access?api-version=2017-12-01 response: body: - string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2020-05-25T08:23:36.873Z"}' + string: '{"operation":"UpsertElasticServerFirewallRules","startTime":"2021-07-13T07:45:21.963Z"}' 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/61bcbc89-6925-4e15-9c14-db87feab547e?api-version=2017-12-01 cache-control: - no-cache content-length: @@ -1435,11 +1431,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:23:38 GMT + - Tue, 13 Jul 2021 07:45:21 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 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/61bcbc89-6925-4e15-9c14-db87feab547e?api-version=2017-12-01 pragma: - no-cache server: @@ -1449,7 +1445,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 202 message: Accepted @@ -1467,13 +1463,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/61bcbc89-6925-4e15-9c14-db87feab547e?api-version=2017-12-01 response: body: - string: '{"name":"eeff0a5b-75e8-4e52-8d18-60bd348dffc1","status":"Succeeded","startTime":"2020-05-25T08:23:36.873Z"}' + string: '{"name":"61bcbc89-6925-4e15-9c14-db87feab547e","status":"Succeeded","startTime":"2021-07-13T07:45:21.963Z"}' headers: cache-control: - no-cache @@ -1482,7 +1478,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:23:54 GMT + - Tue, 13 Jul 2021 07:45:37 GMT expires: - '-1' pragma: @@ -1514,13 +1510,13 @@ interactions: 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 + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-rdbms/2017-12-01 Azure-SDK-For-Python AZURECLI/2.26.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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/postgresup000001/providers/Microsoft.DBforPostgreSQL/servers/server267793952/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"}' + 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/server267793952/firewallRules/azure-access","name":"azure-access","type":"Microsoft.DBforPostgreSQL/servers/firewallRules"}' headers: cache-control: - no-cache @@ -1529,7 +1525,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 25 May 2020 08:23:56 GMT + - Tue, 13 Jul 2021 07:45:39 GMT expires: - '-1' pragma: From 50008eb387c4f873410ac2b46f1b243a23cf4967 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 14 Jul 2021 16:46:22 +0800 Subject: [PATCH 79/85] [Release] Update index.json for extension [ db-up ] (#3644) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=997929 Last commit: https://github.com/Azure/azure-cli-extensions/commit/45d8e6dc88a0aadc23b41a45b979895e3f2a1144 --- src/index.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/index.json b/src/index.json index 8db9a7ec7d8..1fd48b3d7ee 100644 --- a/src/index.json +++ b/src/index.json @@ -9774,6 +9774,59 @@ "version": "0.2.3" }, "sha256Digest": "127f777b123c5829e728aef0e4bb0998d680d37510a1b402fec8caa233e5fdd8" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/db_up-0.2.4-py2.py3-none-any.whl", + "filename": "db_up-0.2.4-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.14)", + "psycopg2-binary (==2.8.5)" + ] + } + ], + "summary": "Additional commands to simplify Azure Database workflows.", + "version": "0.2.4" + }, + "sha256Digest": "7a891fe1ac06ac3df982a2b3cfd7be2ada8ac23e5a18763472d429c5f2c049a6" } ], "deploy-to-azure": [ From 35f81b113a9da9653ffa0c525d4dbd78681b8b32 Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Wed, 14 Jul 2021 17:03:41 +0800 Subject: [PATCH 80/85] [storage-blob-preview ] Fix issue and remove commands (#3627) --- src/storage-blob-preview/HISTORY.rst | 5 +++ .../_client_factory.py | 38 +++++++++++-------- .../azext_metadata.json | 2 +- .../azext_storage_blob_preview/commands.py | 6 +-- src/storage-blob-preview/setup.py | 2 +- 5 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/storage-blob-preview/HISTORY.rst b/src/storage-blob-preview/HISTORY.rst index a90054067bf..7dacbf8ef33 100644 --- a/src/storage-blob-preview/HISTORY.rst +++ b/src/storage-blob-preview/HISTORY.rst @@ -2,6 +2,11 @@ Release History =============== +0.5.1 +++++++ +* Fix issue #3460 +# Remove commands supported in azure cli + 0.5.0 ++++++ * `az storage blob upload`: Refine help message diff --git a/src/storage-blob-preview/azext_storage_blob_preview/_client_factory.py b/src/storage-blob-preview/azext_storage_blob_preview/_client_factory.py index 0bc26148af9..11fcb825387 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/_client_factory.py +++ b/src/storage-blob-preview/azext_storage_blob_preview/_client_factory.py @@ -3,9 +3,8 @@ # 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.commands.client_factory import get_mgmt_service_client, prepare_client_kwargs_track2 from azure.cli.core.profiles import ResourceType, get_sdk -from azure.cli.core.commands.client_factory import _prepare_client_kwargs_track2 from .profiles import CUSTOM_DATA_STORAGE_BLOB, CUSTOM_MGMT_STORAGE MISSING_CREDENTIALS_ERROR_MESSAGE = """ @@ -54,28 +53,37 @@ def get_credential(kwargs): return credential +def _config_location_mode(kwargs, client_kwargs): + location_mode = kwargs.pop('location_mode', None) + if location_mode: + client_kwargs['_location_mode'] = location_mode + return client_kwargs + + def cf_blob_service(cli_ctx, kwargs): - from knack.util import CLIError - client_kwargs = {} + client_kwargs = prepare_client_kwargs_track2(cli_ctx) + client_kwargs = _config_location_mode(kwargs, client_kwargs) t_blob_service = get_sdk(cli_ctx, CUSTOM_DATA_STORAGE_BLOB, '_blob_service_client#BlobServiceClient') connection_string = kwargs.pop('connection_string', None) account_name = kwargs.pop('account_name', None) - - location_mode = kwargs.pop('location_mode', None) - if location_mode: - client_kwargs['_location_mode'] = location_mode - client_kwargs.update(_prepare_client_kwargs_track2(cli_ctx)) + account_key = kwargs.pop('account_key', None) + token_credential = kwargs.pop('token_credential', None) + sas_token = kwargs.pop('sas_token', None) if connection_string: - return t_blob_service.from_connection_string(conn_str=connection_string, **client_kwargs) + try: + return t_blob_service.from_connection_string(conn_str=connection_string, **client_kwargs) + except ValueError as err: + from azure.cli.core.azclierror import InvalidArgumentValueError + raise InvalidArgumentValueError('Invalid connection string: {}, err detail: {}' + .format(connection_string, str(err)), + recommendation='Try `az storage account show-connection-string` ' + 'to get a valid connection string') account_url = get_account_url(cli_ctx, account_name=account_name, service='blob') - credential = get_credential(kwargs) + credential = account_key or sas_token or token_credential - if account_url and credential: - return t_blob_service(account_url=account_url, credential=credential, **client_kwargs) - raise CLIError("Please provide valid connection string, or account name with account key, " - "sas token or login auth mode.") + return t_blob_service(account_url=account_url, credential=credential, **client_kwargs) def cf_blob_client(cli_ctx, kwargs): diff --git a/src/storage-blob-preview/azext_storage_blob_preview/azext_metadata.json b/src/storage-blob-preview/azext_storage_blob_preview/azext_metadata.json index 1f7e4963bc4..bf1c696a39e 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/azext_metadata.json +++ b/src/storage-blob-preview/azext_storage_blob_preview/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.16.0" + "azext.minCliCoreVersion": "2.25.0" } \ No newline at end of file diff --git a/src/storage-blob-preview/azext_storage_blob_preview/commands.py b/src/storage-blob-preview/azext_storage_blob_preview/commands.py index 5911c54865a..e02e7794b19 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/commands.py +++ b/src/storage-blob-preview/azext_storage_blob_preview/commands.py @@ -66,13 +66,9 @@ def get_custom_sdk(custom_module, client_factory, resource_type=ResourceType.DAT custom_command_type=get_custom_sdk('blob', client_factory=cf_blob_client, resource_type=CUSTOM_DATA_STORAGE_BLOB)) as g: from azure.cli.command_modules.storage._format import transform_blob_output - from ._transformers import transform_blob_list_output, transform_blob_json_output, transform_metadata,\ + from ._transformers import transform_blob_json_output, transform_metadata,\ create_boolean_result_output_transformer - g.storage_custom_command_oauth('list', 'list_blobs', client_factory=cf_container_client, - transform=transform_blob_list_output, - table_transformer=transform_blob_output) - g.storage_custom_command_oauth('copy start', 'copy_blob') g.storage_command_oauth('delete', 'delete_blob') g.storage_custom_command_oauth('download', 'download_blob') g.storage_command_oauth('exists', 'exists', transform=create_boolean_result_output_transformer('exists')) diff --git a/src/storage-blob-preview/setup.py b/src/storage-blob-preview/setup.py index ab4af6d1b40..592ce927f51 100644 --- a/src/storage-blob-preview/setup.py +++ b/src/storage-blob-preview/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.5.0' +VERSION = '0.5.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From a2e5d1cb92e980225ce4beae87d0a192ebc1a950 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 14 Jul 2021 17:26:02 +0800 Subject: [PATCH 81/85] [Release] Update index.json for extension [ storage-blob-preview ] (#3646) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=998015 Last commit: https://github.com/Azure/azure-cli-extensions/commit/35f81b113a9da9653ffa0c525d4dbd78681b8b32 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 1fd48b3d7ee..56c97d7e81b 100644 --- a/src/index.json +++ b/src/index.json @@ -19100,6 +19100,49 @@ "version": "0.5.0" }, "sha256Digest": "a3303da3925f8ad83c8eeced02f6b8897b355a3cc249424a7e70c621ee0d3642" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_blob_preview-0.5.1-py2.py3-none-any.whl", + "filename": "storage_blob_preview-0.5.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.25.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": "storage-blob-preview", + "summary": "Microsoft Azure Command-Line Tools Storage-blob-preview Extension", + "version": "0.5.1" + }, + "sha256Digest": "d09bf0befecb5f64b803a1873e666900d3b2d0ca9fe6eea5bd959a68254339a8" } ], "storage-preview": [ From 2e526aab26a287e7a956fa5be320de5425803190 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Wed, 14 Jul 2021 18:50:33 -0700 Subject: [PATCH 82/85] Improve help on z quantum commands. (#3645) --- src/quantum/azext_quantum/_help.py | 4 ++-- src/quantum/azext_quantum/_params.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/quantum/azext_quantum/_help.py b/src/quantum/azext_quantum/_help.py index f80c83b4b63..b3cad50787e 100644 --- a/src/quantum/azext_quantum/_help.py +++ b/src/quantum/azext_quantum/_help.py @@ -17,7 +17,7 @@ examples: - name: Submit the Q# program from the current folder and wait for the result. text: |- - az quantum execute -g MyResourceGroup -w MyWorkspace -l MyLocation + az quantum execute -g MyResourceGroup -w MyWorkspace -l MyLocation -t MyTarget """ helps['quantum run'] = """ @@ -26,7 +26,7 @@ examples: - name: Submit the Q# program from the current folder and wait for the result. text: |- - az quantum run -g MyResourceGroup -w MyWorkspace -l MyLocation + az quantum run -g MyResourceGroup -w MyWorkspace -l MyLocation -t MyTarget """ helps['quantum job'] = """ diff --git a/src/quantum/azext_quantum/_params.py b/src/quantum/azext_quantum/_params.py index 584807c9628..e4a5f55c903 100644 --- a/src/quantum/azext_quantum/_params.py +++ b/src/quantum/azext_quantum/_params.py @@ -11,7 +11,7 @@ def load_arguments(self, _): workspace_name_type = CLIArgumentType(options_list=['--workspace-name', '-w'], help='Name of the Quantum Workspace. You can configure the default workspace using `az quantum workspace set`.', id_part=None, required=False) storage_account_name_type = CLIArgumentType(options_list=['--storage-account', '-a'], help='Name of the storage account to be used by a quantum workspace.') program_args_type = CLIArgumentType(nargs='*', help='List of arguments expected by the Q# operation specified as --name=value after `--`.') - target_id_type = CLIArgumentType(options_list=['--target-id', '-t'], help='Execution engine for quantum computing jobs. When a workspace is configured with a set of provider, they each enable one or more targets.') + target_id_type = CLIArgumentType(options_list=['--target-id', '-t'], help='Execution engine for quantum computing jobs. When a workspace is configured with a set of provider, they each enable one or more targets. You can configure the default target using `az quantum target set`.') project_type = CLIArgumentType(help='The location of the Q# project to submit. Defaults to current folder.') job_name_type = CLIArgumentType(help='A friendly name to give to this run of the program.') job_id_type = CLIArgumentType(options_list=['--job-id', '-j'], help='Job unique identifier in GUID format.') From 1ba8bd85811470a4a3b97b61df22bdddc79b07ec Mon Sep 17 00:00:00 2001 From: aegal Date: Wed, 14 Jul 2021 18:52:55 -0700 Subject: [PATCH 83/85] remove list commands (#3629) Co-authored-by: Ali Egal --- src/dnc/HISTORY.rst | 3 + .../azext_dnc/generated/_client_factory.py | 4 - src/dnc/azext_dnc/generated/_help.py | 44 --------- src/dnc/azext_dnc/generated/_params.py | 9 -- src/dnc/azext_dnc/generated/commands.py | 10 --- src/dnc/azext_dnc/generated/custom.py | 21 ----- .../azext_dnc/tests/latest/example_steps.py | 90 ++++--------------- .../tests/latest/test_dnc_scenario.py | 47 ++++------ .../aio/operations/_controller_operations.py | 12 +-- .../_delegated_network_operations.py | 2 +- .../_delegated_subnet_service_operations.py | 16 ++-- ...rchestrator_instance_service_operations.py | 14 +-- .../vendored_sdks/dnc/models/__init__.py | 3 + .../vendored_sdks/dnc/models/_models.py | 50 ++++++++--- .../vendored_sdks/dnc/models/_models_py3.py | 56 ++++++++---- .../dnc/operations/_controller_operations.py | 12 +-- .../_delegated_network_operations.py | 2 +- .../_delegated_subnet_service_operations.py | 16 ++-- ...rchestrator_instance_service_operations.py | 14 +-- src/dnc/report.md | 72 --------------- src/dnc/setup.py | 2 +- 21 files changed, 161 insertions(+), 338 deletions(-) diff --git a/src/dnc/HISTORY.rst b/src/dnc/HISTORY.rst index 0942adbdddd..42daa77c75b 100644 --- a/src/dnc/HISTORY.rst +++ b/src/dnc/HISTORY.rst @@ -2,6 +2,9 @@ Release History =============== +0.1.1 +++++++ +* Remove list commands 0.1.1 ++++++ diff --git a/src/dnc/azext_dnc/generated/_client_factory.py b/src/dnc/azext_dnc/generated/_client_factory.py index c98e77db8cf..f68e285dece 100644 --- a/src/dnc/azext_dnc/generated/_client_factory.py +++ b/src/dnc/azext_dnc/generated/_client_factory.py @@ -20,10 +20,6 @@ def cf_controller(cli_ctx, *_): return cf_dnc_cl(cli_ctx).controller -def cf_delegated_network(cli_ctx, *_): - return cf_dnc_cl(cli_ctx).delegated_network - - def cf_orchestrator_instance_service(cli_ctx, *_): return cf_dnc_cl(cli_ctx).orchestrator_instance_service diff --git a/src/dnc/azext_dnc/generated/_help.py b/src/dnc/azext_dnc/generated/_help.py index 17e76151876..317f5312ea9 100644 --- a/src/dnc/azext_dnc/generated/_help.py +++ b/src/dnc/azext_dnc/generated/_help.py @@ -57,42 +57,11 @@ az dnc controller wait --resource-group "TestRG" --resource-name "testcontroller" --deleted """ -helps['dnc delegated-network'] = """ - type: group - short-summary: Manage delegated network with dnc -""" - -helps['dnc delegated-network list'] = """ - type: command - short-summary: "Get all the delegatedController resources in a resource group. And Get all the delegatedController \ -resources in a subscription." - examples: - - name: Get DelegatedNetwork resources by resource group - text: |- - az dnc delegated-network list --resource-group "testRG" - - name: Get DelegatedController resources by subscription - text: |- - az dnc delegated-network list -""" - helps['dnc orchestrator-instance-service'] = """ type: group short-summary: Manage orchestrator instance service with dnc """ -helps['dnc orchestrator-instance-service list'] = """ - type: command - short-summary: "Get all the OrchestratorInstances resources in a resource group. And Get all the \ -orchestratorInstance resources in a subscription." - examples: - - name: Get OrchestratorInstance resources by resource group - text: |- - az dnc orchestrator-instance-service list --resource-group "testRG" - - name: Get orchestratorInstance resources by subscription - text: |- - az dnc orchestrator-instance-service list -""" - helps['dnc orchestrator-instance-service show'] = """ type: command short-summary: "Gets details about the orchestrator instance." @@ -147,19 +116,6 @@ short-summary: Manage delegated subnet service with dnc """ -helps['dnc delegated-subnet-service list'] = """ - type: command - short-summary: "Get all the DelegatedSubnets resources in a resource group. And Get all the DelegatedSubnets \ -resources in a subscription." - examples: - - name: Get DelegatedSubnets resources by resource group - text: |- - az dnc delegated-subnet-service list --resource-group "testRG" - - name: Get DelegatedSubnets resources by subscription - text: |- - az dnc delegated-subnet-service list -""" - helps['dnc delegated-subnet-service show'] = """ type: command short-summary: "Gets details about the specified dnc DelegatedSubnet Link." diff --git a/src/dnc/azext_dnc/generated/_params.py b/src/dnc/azext_dnc/generated/_params.py index 2175ea831a5..ae7cd3a82dc 100644 --- a/src/dnc/azext_dnc/generated/_params.py +++ b/src/dnc/azext_dnc/generated/_params.py @@ -45,12 +45,6 @@ def load_arguments(self, _): c.argument('resource_name', type=str, help='The name of the resource. It must be a minimum of 3 characters, ' 'and a maximum of 63.', id_part='name') - with self.argument_context('dnc delegated-network list') as c: - c.argument('resource_group_name', resource_group_name_type) - - with self.argument_context('dnc orchestrator-instance-service list') as c: - c.argument('resource_group_name', resource_group_name_type) - with self.argument_context('dnc orchestrator-instance-service show') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('resource_name', type=str, help='The name of the resource. It must be a minimum of 3 characters, ' @@ -87,9 +81,6 @@ def load_arguments(self, _): c.argument('resource_name', type=str, help='The name of the resource. It must be a minimum of 3 characters, ' 'and a maximum of 63.', id_part='name') - with self.argument_context('dnc delegated-subnet-service list') as c: - c.argument('resource_group_name', resource_group_name_type) - with self.argument_context('dnc delegated-subnet-service show') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('resource_name', type=str, help='The name of the resource. It must be a minimum of 3 characters, ' diff --git a/src/dnc/azext_dnc/generated/commands.py b/src/dnc/azext_dnc/generated/commands.py index 61ad2fba0ad..36fd497fab0 100644 --- a/src/dnc/azext_dnc/generated/commands.py +++ b/src/dnc/azext_dnc/generated/commands.py @@ -25,14 +25,6 @@ def load_command_table(self, _): g.custom_command('delete', 'dnc_controller_delete', supports_no_wait=True, confirmation=True) g.custom_wait_command('wait', 'dnc_controller_show') - from azext_dnc.generated._client_factory import cf_delegated_network - dnc_delegated_network = CliCommandType( - operations_tmpl='azext_dnc.vendored_sdks.dnc.operations._delegated_network_operations#DelegatedNetworkOperation' - 's.{}', - client_factory=cf_delegated_network) - with self.command_group('dnc delegated-network', dnc_delegated_network, client_factory=cf_delegated_network) as g: - g.custom_command('list', 'dnc_delegated_network_list') - from azext_dnc.generated._client_factory import cf_orchestrator_instance_service dnc_orchestrator_instance_service = CliCommandType( operations_tmpl='azext_dnc.vendored_sdks.dnc.operations._orchestrator_instance_service_operations#OrchestratorI' @@ -40,7 +32,6 @@ def load_command_table(self, _): client_factory=cf_orchestrator_instance_service) with self.command_group('dnc orchestrator-instance-service', dnc_orchestrator_instance_service, client_factory=cf_orchestrator_instance_service) as g: - g.custom_command('list', 'dnc_orchestrator_instance_service_list') g.custom_show_command('show', 'dnc_orchestrator_instance_service_show') g.custom_command('create', 'dnc_orchestrator_instance_service_create', supports_no_wait=True) g.custom_command('delete', 'dnc_orchestrator_instance_service_delete', supports_no_wait=True, @@ -54,7 +45,6 @@ def load_command_table(self, _): client_factory=cf_delegated_subnet_service) with self.command_group('dnc delegated-subnet-service', dnc_delegated_subnet_service, client_factory=cf_delegated_subnet_service) as g: - g.custom_command('list', 'dnc_delegated_subnet_service_list') g.custom_show_command('show', 'dnc_delegated_subnet_service_show') g.custom_command('create', 'dnc_delegated_subnet_service_create', supports_no_wait=True) g.custom_command('delete', 'dnc_delegated_subnet_service_delete', supports_no_wait=True, confirmation=True) diff --git a/src/dnc/azext_dnc/generated/custom.py b/src/dnc/azext_dnc/generated/custom.py index 22adca920f2..fdb1bc6a46d 100644 --- a/src/dnc/azext_dnc/generated/custom.py +++ b/src/dnc/azext_dnc/generated/custom.py @@ -45,20 +45,6 @@ def dnc_controller_delete(client, resource_name=resource_name) -def dnc_delegated_network_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 dnc_orchestrator_instance_service_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 dnc_orchestrator_instance_service_show(client, resource_group_name, resource_name): @@ -112,13 +98,6 @@ def dnc_orchestrator_instance_service_delete(client, force_delete=force_delete) -def dnc_delegated_subnet_service_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 dnc_delegated_subnet_service_show(client, resource_group_name, resource_name): diff --git a/src/dnc/azext_dnc/tests/latest/example_steps.py b/src/dnc/azext_dnc/tests/latest/example_steps.py index d1324fdf012..743f31f9e90 100644 --- a/src/dnc/azext_dnc/tests/latest/example_steps.py +++ b/src/dnc/azext_dnc/tests/latest/example_steps.py @@ -14,7 +14,7 @@ # EXAMPLE: /Controller/put/Create controller @try_manual -def step_controller_create(test, rg, rg_2, checks=None): +def step_controller_create(test, rg, checks=None): if checks is None: checks = [] test.cmd('az dnc controller create ' @@ -26,7 +26,7 @@ def step_controller_create(test, rg, rg_2, checks=None): # EXAMPLE: /Controller/get/Get details of a controller @try_manual -def step_controller_show(test, rg, rg_2, checks=None): +def step_controller_show(test, rg, checks=None): if checks is None: checks = [] test.cmd('az dnc controller show ' @@ -37,7 +37,7 @@ def step_controller_show(test, rg, rg_2, checks=None): # EXAMPLE: /DelegatedSubnetService/put/put delegated subnet @try_manual -def step_delegated_subnet_service_create(test, rg, rg_2, checks=None): +def step_delegated_subnet_service_create(test, rg, checks=None): if checks is None: checks = [] test.cmd('az dnc delegated-subnet-service create ' @@ -51,22 +51,23 @@ def step_delegated_subnet_service_create(test, rg, rg_2, checks=None): checks=checks) -# EXAMPLE: /DelegatedSubnetService/get/Get DelegatedSubnets resources by subscription +# EXAMPLE: /DelegatedSubnetService/get/Get details of a delegated subnet @try_manual -def step_delegated_subnet_service_list(test, rg, rg_2, checks=None): +def step_delegated_subnet_service_show(test, rg, checks=None): if checks is None: checks = [] - test.cmd('az dnc delegated-subnet-service list ' - '-g ""', + test.cmd('az dnc delegated-subnet-service show ' + '--resource-group "{rg}" ' + '--resource-name "delegated1"', checks=checks) -# EXAMPLE: /DelegatedSubnetService/get/Get details of a delegated subnet +# EXAMPLE: /DelegatedSubnetService/delete/delete delegated subnet @try_manual -def step_delegated_subnet_service_show(test, rg, rg_2, checks=None): +def step_delegated_subnet_service_delete(test, rg, checks=None): if checks is None: checks = [] - test.cmd('az dnc delegated-subnet-service show ' + test.cmd('az dnc delegated-subnet-service delete -y ' '--resource-group "{rg}" ' '--resource-name "delegated1"', checks=checks) @@ -74,7 +75,7 @@ def step_delegated_subnet_service_show(test, rg, rg_2, checks=None): # EXAMPLE: /OrchestratorInstanceService/put/Create orchestrator instance @try_manual -def step_orchestrator_instance_service_create(test, rg, rg_2, checks=None): +def step_orchestrator_instance_service_create(test, rg, checks=None): if checks is None: checks = [] test.cmd('az dnc orchestrator-instance-service create ' @@ -95,7 +96,7 @@ def step_orchestrator_instance_service_create(test, rg, rg_2, checks=None): # EXAMPLE: /OrchestratorInstanceService/get/Get details of a orchestratorInstance @try_manual -def step_orchestrator_instance_service_show(test, rg, rg_2, checks=None): +def step_orchestrator_instance_service_show(test, rg, checks=None): if checks is None: checks = [] test.cmd('az dnc orchestrator-instance-service show ' @@ -104,29 +105,9 @@ def step_orchestrator_instance_service_show(test, rg, rg_2, checks=None): checks=checks) -# EXAMPLE: /OrchestratorInstanceService/get/Get OrchestratorInstance resources by resource group -@try_manual -def step_orchestrator_instance_service_list(test, rg, rg_2, checks=None): - if checks is None: - checks = [] - test.cmd('az dnc orchestrator-instance-service list ' - '--resource-group "{rg_2}"', - checks=checks) - - -# EXAMPLE: /OrchestratorInstanceService/get/Get orchestratorInstance resources by subscription -@try_manual -def step_orchestrator_instance_service_list2(test, rg, rg_2, checks=None): - if checks is None: - checks = [] - test.cmd('az dnc orchestrator-instance-service list ' - '-g ""', - checks=checks) - - # EXAMPLE: /OrchestratorInstanceService/delete/Delete Orchestrator Instance @try_manual -def step_orchestrator_instance_service_delete(test, rg, rg_2, checks=None): +def step_orchestrator_instance_service_delete(test, rg, checks=None): if checks is None: checks = [] test.cmd('az dnc orchestrator-instance-service delete -y ' @@ -137,7 +118,7 @@ def step_orchestrator_instance_service_delete(test, rg, rg_2, checks=None): # EXAMPLE: /Controller/delete/Delete controller @try_manual -def step_controller_delete(test, rg, rg_2, checks=None): +def step_controller_delete(test, rg, checks=None): if checks is None: checks = [] test.cmd('az dnc controller delete -y ' @@ -145,44 +126,3 @@ def step_controller_delete(test, rg, rg_2, checks=None): '--resource-name "{myController}"', checks=checks) - -# EXAMPLE: /DelegatedNetwork/get/Get DelegatedController resources by subscription -@try_manual -def step_delegated_network_list(test, rg, rg_2, checks=None): - if checks is None: - checks = [] - test.cmd('az dnc delegated-network list ' - '-g ""', - checks=checks) - - -# EXAMPLE: /DelegatedNetwork/get/Get DelegatedNetwork resources by resource group -@try_manual -def step_delegated_network_list2(test, rg, rg_2, checks=None): - if checks is None: - checks = [] - test.cmd('az dnc delegated-network list ' - '--resource-group "{rg_2}"', - checks=checks) - - -# EXAMPLE: /DelegatedSubnetService/get/Get DelegatedSubnets resources by resource group -@try_manual -def step_delegated_subnet_service_list2(test, rg, rg_2, checks=None): - if checks is None: - checks = [] - test.cmd('az dnc delegated-subnet-service list ' - '--resource-group "{rg_2}"', - checks=checks) - - -# EXAMPLE: /DelegatedSubnetService/delete/delete delegated subnet -@try_manual -def step_delegated_subnet_service_delete(test, rg, rg_2, checks=None): - if checks is None: - checks = [] - test.cmd('az dnc delegated-subnet-service delete -y ' - '--resource-group "{rg}" ' - '--resource-name "delegated1"', - checks=checks) - diff --git a/src/dnc/azext_dnc/tests/latest/test_dnc_scenario.py b/src/dnc/azext_dnc/tests/latest/test_dnc_scenario.py index 511626fb006..d15bca44d1d 100644 --- a/src/dnc/azext_dnc/tests/latest/test_dnc_scenario.py +++ b/src/dnc/azext_dnc/tests/latest/test_dnc_scenario.py @@ -15,18 +15,12 @@ from .example_steps import step_controller_create from .example_steps import step_controller_show from .example_steps import step_delegated_subnet_service_create -from .example_steps import step_delegated_subnet_service_list from .example_steps import step_delegated_subnet_service_show +from .example_steps import step_delegated_subnet_service_delete from .example_steps import step_orchestrator_instance_service_create from .example_steps import step_orchestrator_instance_service_show -from .example_steps import step_orchestrator_instance_service_list -from .example_steps import step_orchestrator_instance_service_list2 from .example_steps import step_orchestrator_instance_service_delete from .example_steps import step_controller_delete -from .example_steps import step_delegated_network_list -from .example_steps import step_delegated_network_list2 -from .example_steps import step_delegated_subnet_service_list2 -from .example_steps import step_delegated_subnet_service_delete from .. import ( try_manual, raise_if, @@ -39,36 +33,30 @@ # Env setup_scenario @try_manual -def setup_scenario(test, rg, rg_2): +def setup_scenario(test, rg): pass # Env cleanup_scenario @try_manual -def cleanup_scenario(test, rg, rg_2): +def cleanup_scenario(test, rg): pass # Testcase: Scenario @try_manual -def call_scenario(test, rg, rg_2): - setup_scenario(test, rg, rg_2) - step_controller_create(test, rg, rg_2, checks=[]) - step_controller_show(test, rg, rg_2, checks=[]) - step_delegated_subnet_service_create(test, rg, rg_2, checks=[]) - step_delegated_subnet_service_list(test, rg, rg_2, checks=[]) - step_delegated_subnet_service_show(test, rg, rg_2, checks=[]) - step_orchestrator_instance_service_create(test, rg, rg_2, checks=[]) - step_orchestrator_instance_service_show(test, rg, rg_2, checks=[]) - step_orchestrator_instance_service_list(test, rg, rg_2, checks=[]) - step_orchestrator_instance_service_list2(test, rg, rg_2, checks=[]) - step_orchestrator_instance_service_delete(test, rg, rg_2, checks=[]) - step_controller_delete(test, rg, rg_2, checks=[]) - step_delegated_network_list(test, rg, rg_2, checks=[]) - step_delegated_network_list2(test, rg, rg_2, checks=[]) - step_delegated_subnet_service_list2(test, rg, rg_2, checks=[]) - step_delegated_subnet_service_delete(test, rg, rg_2, checks=[]) - cleanup_scenario(test, rg, rg_2) +def call_scenario(test, rg): + setup_scenario(test, rg) + step_controller_create(test, rg, checks=[]) + step_controller_show(test, rg, checks=[]) + step_delegated_subnet_service_create(test, rg, checks=[]) + step_delegated_subnet_service_show(test, rg, checks=[]) + step_delegated_subnet_service_delete(test, rg, checks=[]) + step_orchestrator_instance_service_create(test, rg, checks=[]) + step_orchestrator_instance_service_show(test, rg, checks=[]) + step_orchestrator_instance_service_delete(test, rg, checks=[]) + step_controller_delete(test, rg, checks=[]) + cleanup_scenario(test, rg) # Test class for Scenario @@ -88,10 +76,9 @@ def __init__(self, *args, **kwargs): @ResourceGroupPreparer(name_prefix='clitestdnc_TestRG'[:7], key='rg', parameter_name='rg') - @ResourceGroupPreparer(name_prefix='clitestdnc_testRG'[:7], key='rg_2', parameter_name='rg_2') @VirtualNetworkPreparer(name_prefix='clitestdnc_testvnet'[:7], key='vn', resource_group_key='rg') - def test_dnc_Scenario(self, rg, rg_2): - call_scenario(self, rg, rg_2) + def test_dnc_Scenario(self, rg): + call_scenario(self, rg) calc_coverage(__file__) raise_if() diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_controller_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_controller_operations.py index 632890191ef..467aed74b2b 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_controller_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_controller_operations.py @@ -71,7 +71,7 @@ async def get_details( # Construct URL url = self.get_details.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -121,7 +121,7 @@ async def _create_initial( # Construct URL url = self._create_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -213,7 +213,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -249,7 +249,7 @@ async def _delete_initial( # Construct URL url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -323,7 +323,7 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -375,7 +375,7 @@ async def patch( # Construct URL url = self.patch.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_network_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_network_operations.py index ae0c989eda8..a3871fbcd24 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_network_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_network_operations.py @@ -139,7 +139,7 @@ def prepare_request(next_link=None): # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), '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) diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_subnet_service_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_subnet_service_operations.py index 336c2f36569..e5a3803ff5b 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_subnet_service_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_delegated_subnet_service_operations.py @@ -72,7 +72,7 @@ async def get_details( # Construct URL url = self.get_details.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -122,7 +122,7 @@ async def _put_details_initial( # Construct URL url = self._put_details_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -214,7 +214,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -252,7 +252,7 @@ async def _patch_details_initial( # Construct URL url = self._patch_details_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -340,7 +340,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -377,7 +377,7 @@ async def _delete_details_initial( # Construct URL url = self._delete_details_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -457,7 +457,7 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -574,7 +574,7 @@ def prepare_request(next_link=None): # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), '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) diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_orchestrator_instance_service_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_orchestrator_instance_service_operations.py index 1ddf6db32df..46e26af63e0 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_orchestrator_instance_service_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/aio/operations/_orchestrator_instance_service_operations.py @@ -72,7 +72,7 @@ async def get_details( # Construct URL url = self.get_details.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -122,7 +122,7 @@ async def _create_initial( # Construct URL url = self._create_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -214,7 +214,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -251,7 +251,7 @@ async def _delete_initial( # Construct URL url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -331,7 +331,7 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -383,7 +383,7 @@ async def patch( # Construct URL url = self.patch.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -516,7 +516,7 @@ def prepare_request(next_link=None): # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), '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) diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/models/__init__.py b/src/dnc/azext_dnc/vendored_sdks/dnc/models/__init__.py index 6dcdd368f6b..8ae71baf993 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/models/__init__.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/models/__init__.py @@ -14,6 +14,7 @@ from ._models_py3 import DelegatedControllerProperties from ._models_py3 import DelegatedControllers from ._models_py3 import DelegatedSubnet + from ._models_py3 import DelegatedSubnetProperties from ._models_py3 import DelegatedSubnetResource from ._models_py3 import DelegatedSubnets from ._models_py3 import ErrorAdditionalInfo @@ -38,6 +39,7 @@ from ._models import DelegatedControllerProperties # type: ignore from ._models import DelegatedControllers # type: ignore from ._models import DelegatedSubnet # type: ignore + from ._models import DelegatedSubnetProperties # type: ignore from ._models import DelegatedSubnetResource # type: ignore from ._models import DelegatedSubnets # type: ignore from ._models import ErrorAdditionalInfo # type: ignore @@ -73,6 +75,7 @@ 'DelegatedControllerProperties', 'DelegatedControllers', 'DelegatedSubnet', + 'DelegatedSubnetProperties', 'DelegatedSubnetResource', 'DelegatedSubnets', 'ErrorAdditionalInfo', diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models.py b/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models.py index 1c2d5252031..9de0401b928 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models.py @@ -271,6 +271,38 @@ class DelegatedSubnet(DelegatedSubnetResource): :type location: str :param tags: A set of tags. The resource tags. :type tags: dict[str, str] + :param properties: Properties of the provision operation request. + :type properties: ~dnc.models.DelegatedSubnetProperties + """ + + _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': 'DelegatedSubnetProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(DelegatedSubnet, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class DelegatedSubnetProperties(msrest.serialization.Model): + """Properties of delegated subnet. + + Variables are only populated by the server, and will be ignored when sending a request. + :ivar resource_guid: Resource guid. :vartype resource_guid: str :ivar provisioning_state: The current state of dnc delegated subnet resource. Possible values @@ -283,30 +315,22 @@ class DelegatedSubnet(DelegatedSubnetResource): """ _validation = { - 'id': {'readonly': True}, - '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}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'subnet_details': {'key': 'properties.subnetDetails', 'type': 'SubnetDetails'}, - 'controller_details': {'key': 'properties.controllerDetails', 'type': 'ControllerDetails'}, + 'resource_guid': {'key': 'resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'subnet_details': {'key': 'subnetDetails', 'type': 'SubnetDetails'}, + 'controller_details': {'key': 'controllerDetails', 'type': 'ControllerDetails'}, } def __init__( self, **kwargs ): - super(DelegatedSubnet, self).__init__(**kwargs) + super(DelegatedSubnetProperties, self).__init__(**kwargs) self.resource_guid = None self.provisioning_state = None self.subnet_details = kwargs.get('subnet_details', None) diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models_py3.py b/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models_py3.py index 740650a1fae..645febf1abb 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models_py3.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/models/_models_py3.py @@ -290,6 +290,42 @@ class DelegatedSubnet(DelegatedSubnetResource): :type location: str :param tags: A set of tags. The resource tags. :type tags: dict[str, str] + :param properties: Properties of the provision operation request. + :type properties: ~dnc.models.DelegatedSubnetProperties + """ + + _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': 'DelegatedSubnetProperties'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["DelegatedSubnetProperties"] = None, + **kwargs + ): + super(DelegatedSubnet, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + + +class DelegatedSubnetProperties(msrest.serialization.Model): + """Properties of delegated subnet. + + Variables are only populated by the server, and will be ignored when sending a request. + :ivar resource_guid: Resource guid. :vartype resource_guid: str :ivar provisioning_state: The current state of dnc delegated subnet resource. Possible values @@ -302,35 +338,25 @@ class DelegatedSubnet(DelegatedSubnetResource): """ _validation = { - 'id': {'readonly': True}, - '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}'}, - 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'subnet_details': {'key': 'properties.subnetDetails', 'type': 'SubnetDetails'}, - 'controller_details': {'key': 'properties.controllerDetails', 'type': 'ControllerDetails'}, + 'resource_guid': {'key': 'resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'subnet_details': {'key': 'subnetDetails', 'type': 'SubnetDetails'}, + 'controller_details': {'key': 'controllerDetails', 'type': 'ControllerDetails'}, } def __init__( self, *, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, subnet_details: Optional["SubnetDetails"] = None, controller_details: Optional["ControllerDetails"] = None, **kwargs ): - super(DelegatedSubnet, self).__init__(location=location, tags=tags, **kwargs) + super(DelegatedSubnetProperties, self).__init__(**kwargs) self.resource_guid = None self.provisioning_state = None self.subnet_details = subnet_details diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_controller_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_controller_operations.py index 405b1866ae9..86a49c80540 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_controller_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_controller_operations.py @@ -76,7 +76,7 @@ def get_details( # Construct URL url = self.get_details.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -127,7 +127,7 @@ def _create_initial( # Construct URL url = self._create_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -220,7 +220,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -257,7 +257,7 @@ def _delete_initial( # Construct URL url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -332,7 +332,7 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -385,7 +385,7 @@ def patch( # Construct URL url = self.patch.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_network_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_network_operations.py index 17ab9cce444..c28211421af 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_network_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_network_operations.py @@ -145,7 +145,7 @@ def prepare_request(next_link=None): # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), '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) diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_subnet_service_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_subnet_service_operations.py index 853c8466489..b40173b5946 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_subnet_service_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_delegated_subnet_service_operations.py @@ -77,7 +77,7 @@ def get_details( # Construct URL url = self.get_details.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -128,7 +128,7 @@ def _put_details_initial( # Construct URL url = self._put_details_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -221,7 +221,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -260,7 +260,7 @@ def _patch_details_initial( # Construct URL url = self._patch_details_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -349,7 +349,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -387,7 +387,7 @@ def _delete_details_initial( # Construct URL url = self._delete_details_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -468,7 +468,7 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -587,7 +587,7 @@ def prepare_request(next_link=None): # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), '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) diff --git a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_orchestrator_instance_service_operations.py b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_orchestrator_instance_service_operations.py index 51b945c7fbe..7f1135684ba 100644 --- a/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_orchestrator_instance_service_operations.py +++ b/src/dnc/azext_dnc/vendored_sdks/dnc/operations/_orchestrator_instance_service_operations.py @@ -77,7 +77,7 @@ def get_details( # Construct URL url = self.get_details.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -128,7 +128,7 @@ def _create_initial( # Construct URL url = self._create_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -221,7 +221,7 @@ def get_long_running_output(pipeline_response): return deserialized path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -259,7 +259,7 @@ def _delete_initial( # Construct URL url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -340,7 +340,7 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -393,7 +393,7 @@ def patch( # Construct URL url = self.patch.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z][a-z0-9]*$'), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), } @@ -528,7 +528,7 @@ def prepare_request(next_link=None): # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), '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) diff --git a/src/dnc/report.md b/src/dnc/report.md index 8a7dad07768..8013ff996e7 100644 --- a/src/dnc/report.md +++ b/src/dnc/report.md @@ -10,7 +10,6 @@ |CLI Command Group|Group Swagger name|Commands| |---------|------------|--------| |az dnc controller|Controller|[commands](#CommandsInController)| -|az dnc delegated-network|DelegatedNetwork|[commands](#CommandsInDelegatedNetwork)| |az dnc orchestrator-instance-service|OrchestratorInstanceService|[commands](#CommandsInOrchestratorInstanceService)| |az dnc delegated-subnet-service|DelegatedSubnetService|[commands](#CommandsInDelegatedSubnetService)| @@ -22,17 +21,9 @@ |[az dnc controller create](#ControllerCreate)|Create|[Parameters](#ParametersControllerCreate)|[Example](#ExamplesControllerCreate)| |[az dnc controller delete](#ControllerDelete)|Delete|[Parameters](#ParametersControllerDelete)|[Example](#ExamplesControllerDelete)| -### Commands in `az dnc delegated-network` group -|CLI Command|Operation Swagger name|Parameters|Examples| -|---------|------------|--------|-----------| -|[az dnc delegated-network list](#DelegatedNetworkListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersDelegatedNetworkListByResourceGroup)|[Example](#ExamplesDelegatedNetworkListByResourceGroup)| -|[az dnc delegated-network list](#DelegatedNetworkListBySubscription)|ListBySubscription|[Parameters](#ParametersDelegatedNetworkListBySubscription)|[Example](#ExamplesDelegatedNetworkListBySubscription)| - ### Commands in `az dnc delegated-subnet-service` group |CLI Command|Operation Swagger name|Parameters|Examples| |---------|------------|--------|-----------| -|[az dnc delegated-subnet-service list](#DelegatedSubnetServiceListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersDelegatedSubnetServiceListByResourceGroup)|[Example](#ExamplesDelegatedSubnetServiceListByResourceGroup)| -|[az dnc delegated-subnet-service list](#DelegatedSubnetServiceListBySubscription)|ListBySubscription|[Parameters](#ParametersDelegatedSubnetServiceListBySubscription)|[Example](#ExamplesDelegatedSubnetServiceListBySubscription)| |[az dnc delegated-subnet-service show](#DelegatedSubnetServiceGetDetails)|GetDetails|[Parameters](#ParametersDelegatedSubnetServiceGetDetails)|[Example](#ExamplesDelegatedSubnetServiceGetDetails)| |[az dnc delegated-subnet-service create](#DelegatedSubnetServicePutDetails)|PutDetails|[Parameters](#ParametersDelegatedSubnetServicePutDetails)|[Example](#ExamplesDelegatedSubnetServicePutDetails)| |[az dnc delegated-subnet-service delete](#DelegatedSubnetServiceDeleteDetails)|DeleteDetails|[Parameters](#ParametersDelegatedSubnetServiceDeleteDetails)|[Example](#ExamplesDelegatedSubnetServiceDeleteDetails)| @@ -40,8 +31,6 @@ ### Commands in `az dnc orchestrator-instance-service` group |CLI Command|Operation Swagger name|Parameters|Examples| |---------|------------|--------|-----------| -|[az dnc orchestrator-instance-service list](#OrchestratorInstanceServiceListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersOrchestratorInstanceServiceListByResourceGroup)|[Example](#ExamplesOrchestratorInstanceServiceListByResourceGroup)| -|[az dnc orchestrator-instance-service list](#OrchestratorInstanceServiceListBySubscription)|ListBySubscription|[Parameters](#ParametersOrchestratorInstanceServiceListBySubscription)|[Example](#ExamplesOrchestratorInstanceServiceListBySubscription)| |[az dnc orchestrator-instance-service show](#OrchestratorInstanceServiceGetDetails)|GetDetails|[Parameters](#ParametersOrchestratorInstanceServiceGetDetails)|[Example](#ExamplesOrchestratorInstanceServiceGetDetails)| |[az dnc orchestrator-instance-service create](#OrchestratorInstanceServiceCreate)|Create|[Parameters](#ParametersOrchestratorInstanceServiceCreate)|[Example](#ExamplesOrchestratorInstanceServiceCreate)| |[az dnc orchestrator-instance-service delete](#OrchestratorInstanceServiceDelete)|Delete|[Parameters](#ParametersOrchestratorInstanceServiceDelete)|[Example](#ExamplesOrchestratorInstanceServiceDelete)| @@ -88,48 +77,7 @@ az dnc controller delete --resource-group "TestRG" --resource-name "testcontroll |**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| |**--resource-name**|string|The name of the resource. It must be a minimum of 3 characters, and a maximum of 63.|resource_name|resourceName| -### group `az dnc delegated-network` -#### Command `az dnc delegated-network list` - -##### Example -``` -az dnc delegated-network list --resource-group "testRG" -``` -##### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| - -#### Command `az dnc delegated-network list` - -##### Example -``` -az dnc delegated-network list -``` -##### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| ### group `az dnc delegated-subnet-service` -#### Command `az dnc delegated-subnet-service list` - -##### Example -``` -az dnc delegated-subnet-service list --resource-group "testRG" -``` -##### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| - -#### Command `az dnc delegated-subnet-service list` - -##### Example -``` -az dnc delegated-subnet-service list -``` -##### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| #### Command `az dnc delegated-subnet-service show` ##### Example @@ -175,26 +123,6 @@ az dnc delegated-subnet-service delete --resource-group "TestRG" --resource-name |**--force-delete**|boolean|Force delete resource|force_delete|forceDelete| ### group `az dnc orchestrator-instance-service` -#### Command `az dnc orchestrator-instance-service list` - -##### Example -``` -az dnc orchestrator-instance-service list --resource-group "testRG" -``` -##### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| - -#### Command `az dnc orchestrator-instance-service list` - -##### Example -``` -az dnc orchestrator-instance-service list -``` -##### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| #### Command `az dnc orchestrator-instance-service show` ##### Example diff --git a/src/dnc/setup.py b/src/dnc/setup.py index ec960229622..da705583c97 100644 --- a/src/dnc/setup.py +++ b/src/dnc/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.1' +VERSION = '0.1.2' try: from azext_dnc.manual.version import VERSION except ImportError: From e01890bd65365bc1e7ca4b9dd0e55570935fbc44 Mon Sep 17 00:00:00 2001 From: Sean Wells Date: Wed, 14 Jul 2021 18:57:18 -0700 Subject: [PATCH 84/85] chore(arcdata): version bump to 0.0.2 preview (#3642) * chore(arcdata): version bump to 0.0.2 preview * chore(arcdata): version bump to 0.0.2 preview * chore(arcdata): version bump to 0.0.2 preview --- src/index.json | 58 +++++++++++++++++++++++++++++++++++++++++++ src/service_name.json | 7 +++++- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/src/index.json b/src/index.json index 56c97d7e81b..360af652755 100644 --- a/src/index.json +++ b/src/index.json @@ -4042,6 +4042,64 @@ } ], "arcdata": [ + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.2-py2.py3-none-any.whl", + "filename": "arcdata-0.0.2-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview?view=sql-server-ver15" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "0.0.2" + }, + "sha256Digest": "d14aa3046b7a9c3bca67c735eeb35fb24ff5ed240212724d3f229eb23280abae" + }, { "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.1-py2.py3-none-any.whl", "filename": "arcdata-0.0.1-py2.py3-none-any.whl", diff --git a/src/service_name.json b/src/service_name.json index 5573f534bef..95adf07ef57 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -428,5 +428,10 @@ "Command": "az dataprotection", "AzureServiceName": "Azure Data Protection", "URL": "" + }, + { + "Command": "az arcdata", + "AzureServiceName": "Azure Data Services", + "URL": "https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview?view=sql-server-ver15" } -] +] \ No newline at end of file From 017af9f2291ab5418619a89ecde84be5c8289140 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 15 Jul 2021 02:17:26 +0000 Subject: [PATCH 85/85] CodeGen from PR 14589 in Azure/azure-rest-api-specs Merge 6b7f7f490cee188db280b50db4ba8a5daf989f9b into 10873ac628ee703126f82974487d8a290e983f8c --- src/datafactory/HISTORY.rst | 22 - .../azext_datafactory/azext_metadata.json | 1 + .../generated/_client_factory.py | 12 + .../azext_datafactory/generated/_help.py | 114 +- .../azext_datafactory/generated/_params.py | 86 +- .../azext_datafactory/generated/action.py | 109 +- .../azext_datafactory/generated/commands.py | 32 +- .../azext_datafactory/generated/custom.py | 100 +- .../tests/latest/example_steps.py | 62 +- .../tests/latest/test_datafactory_scenario.py | 1 + .../test_datafactory_scenario_coverage.md | 48 - .../_data_factory_management_client.py | 1 - .../datafactory/aio/_configuration_async.py | 67 - .../aio/_data_factory_management_client.py | 1 - .../_data_factory_management_client_async.py | 143 -- .../aio/operations_async/__init__.py | 45 - .../_activity_run_operations_async.py | 127 -- ...ata_flow_debug_session_operations_async.py | 551 ----- .../_data_flow_operations_async.py | 309 --- .../_dataset_operations_async.py | 311 --- .../_exposure_control_operations_async.py | 241 --- .../_factory_operations_async.py | 658 ------ ...tegration_runtime_node_operations_async.py | 301 --- ...untime_object_metadata_operations_async.py | 230 -- .../_integration_runtime_operations_async.py | 1176 ---------- .../_linked_service_operations_async.py | 312 --- ...naged_private_endpoint_operations_async.py | 336 --- ...anaged_virtual_network_operations_async.py | 255 --- .../_operation_operations_async.py | 101 - .../_pipeline_operations_async.py | 405 ---- .../_pipeline_run_operations_async.py | 243 --- .../_trigger_operations_async.py | 877 -------- .../_trigger_run_operations_async.py | 241 --- .../datafactory/models/__init__.py | 31 +- .../_data_factory_management_client_enums.py | 35 +- .../datafactory/models/_models.py | 1339 ++++++++++-- .../datafactory/models/_models_py3.py | 1899 ++++++++++++++--- .../operations/_activity_run_operations.py | 132 -- .../operations/_data_flow_operations.py | 317 --- .../operations/_dataset_operations.py | 319 --- .../operations/_factory_operations.py | 671 ------ .../_integration_runtime_node_operations.py | 309 --- .../_integration_runtime_operations.py | 1198 ----------- .../operations/_linked_service_operations.py | 320 --- .../_managed_private_endpoint_operations.py | 344 --- .../_managed_virtual_network_operations.py | 262 --- .../operations/_operation_operations.py | 106 - .../operations/_pipeline_operations.py | 414 ---- .../operations/_pipeline_run_operations.py | 250 --- .../operations/_trigger_operations.py | 895 -------- .../operations/_trigger_run_operations.py | 248 --- src/datafactory/gen.zip | Bin 39102 -> 0 bytes src/datafactory/linter_exclusions.yml | 5 - src/datafactory/report.md | 121 +- 54 files changed, 3467 insertions(+), 13266 deletions(-) delete mode 100644 src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/__init__.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_activity_run_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_debug_session_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_dataset_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_exposure_control_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_factory_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_node_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_object_metadata_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_linked_service_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_private_endpoint_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_virtual_network_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_operation_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_run_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_run_operations_async.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_run_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_dataset_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factory_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_node_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_service_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoint_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_network_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operation_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_run_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_operations.py delete mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_run_operations.py delete mode 100644 src/datafactory/gen.zip delete mode 100644 src/datafactory/linter_exclusions.yml diff --git a/src/datafactory/HISTORY.rst b/src/datafactory/HISTORY.rst index f4e5240e156..1c139576ba0 100644 --- a/src/datafactory/HISTORY.rst +++ b/src/datafactory/HISTORY.rst @@ -3,28 +3,6 @@ Release History =============== -0.4.0 -+++++ -* GA the whole module - -0.3.0 -+++++ -* [BREAKING CHANGE] Renamed command subgroup `az datafactory factory` to `az datafactory`. -* [BREAKING CHANGE] `az datafactory integration-runtime managed create`: `--type-properties-compute-properties` renamed to `--compute-properties`, - `--type-properties-ssis-properties` renamed to `--ssis-properties`. -* [BREAKING CHANGE] `az datafactory integration-runtime self-hosted create`: `--type-properties-linked-info` renamed to `--linked-info`. -* [BREAKING CHANGE] `az datafactory integration-runtime update`: `--properties` renamed to `--linked-service`. -* [BREAKING CHANGE] `az datafactory linked-service delete`: `--properties` renamed to `--dataset`. -* [BREAKING CHANGE] `az datafactory trigger list`: `--properties` renamed to `--trigger`. - -0.2.1 -+++++ -* az datafactory factory create: Enable managed identity by default - -0.2.0 -++++++ -* add update command for linked services and triggers and datasets - 0.1.0 ++++++ * Initial release. diff --git a/src/datafactory/azext_datafactory/azext_metadata.json b/src/datafactory/azext_datafactory/azext_metadata.json index 3695b0d7077..cfc30c747c7 100644 --- a/src/datafactory/azext_datafactory/azext_metadata.json +++ b/src/datafactory/azext_datafactory/azext_metadata.json @@ -1,3 +1,4 @@ { + "azext.isExperimental": true, "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/datafactory/azext_datafactory/generated/_client_factory.py b/src/datafactory/azext_datafactory/generated/_client_factory.py index 7db87b484da..837a01be1e4 100644 --- a/src/datafactory/azext_datafactory/generated/_client_factory.py +++ b/src/datafactory/azext_datafactory/generated/_client_factory.py @@ -54,3 +54,15 @@ def cf_trigger(cli_ctx, *_): def cf_trigger_run(cli_ctx, *_): return cf_datafactory_cl(cli_ctx).trigger_runs + + +def cf_private_end_point_connection(cli_ctx, *_): + return cf_datafactory_cl(cli_ctx).private_end_point_connections + + +def cf_private_endpoint_connection(cli_ctx, *_): + return cf_datafactory_cl(cli_ctx).private_endpoint_connection + + +def cf_private_link_resource(cli_ctx, *_): + return cf_datafactory_cl(cli_ctx).private_link_resources diff --git a/src/datafactory/azext_datafactory/generated/_help.py b/src/datafactory/azext_datafactory/generated/_help.py index fd2ab1dcd0e..ceae15151d8 100644 --- a/src/datafactory/azext_datafactory/generated/_help.py +++ b/src/datafactory/azext_datafactory/generated/_help.py @@ -69,6 +69,14 @@ collaboration-branch: Required. Collaboration branch. root-folder: Required. Root folder. last-commit-id: Last commit id. + - name: --identity + short-summary: "User assigned identity to use to authenticate to customer's key vault. If not provided Managed \ +Service Identity will be used." + long-summary: | + Usage: --identity user-assigned-identity=XX + + user-assigned-identity: The resource id of the user assigned identity to authenticate to customer's key \ +vault. examples: - name: Factories_CreateOrUpdate text: |- @@ -149,6 +157,14 @@ helps['datafactory get-git-hub-access-token'] = """ type: command short-summary: "Get GitHub Access Token." + parameters: + - name: --git-hub-client-secret + short-summary: "GitHub bring your own app client secret information." + long-summary: | + Usage: --git-hub-client-secret byoa-secret-akv-url=XX byoa-secret-name=XX + + byoa-secret-akv-url: Bring your own app client secret AKV URL. + byoa-secret-name: Bring your own app client secret name in AKV. examples: - name: Factories_GetGitHubAccessToken text: |- @@ -206,6 +222,13 @@ helps['datafactory integration-runtime managed create'] = """ type: command short-summary: "Create an integration runtime." + parameters: + - name: --managed-virtual-network + short-summary: "Managed Virtual Network reference." + long-summary: | + Usage: --managed-virtual-network reference-name=XX + + reference-name: Required. Reference ManagedVirtualNetwork name. """ helps['datafactory integration-runtime self-hosted'] = """ @@ -591,7 +614,7 @@ taset\\"}],\\"typeProperties\\":{\\"dataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"\ type\\":\\"BlobSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline(\ ).parameters.OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --duration \ -"0.00:10:00" --name "examplePipeline" --resource-group "exampleResourceGroup" +"0.00:10:00" --pipeline-name "examplePipeline" --resource-group "exampleResourceGroup" """ helps['datafactory pipeline delete'] = """ @@ -902,3 +925,92 @@ az datafactory trigger-run rerun --factory-name "exampleFactoryName" --resource-group \ "exampleResourceGroup" --run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" --trigger-name "exampleTrigger" """ + +helps['datafactory private-end-point-connection'] = """ + type: group + short-summary: Manage private end point connection with datafactory +""" + +helps['datafactory private-end-point-connection list'] = """ + type: command + short-summary: "Lists Private endpoint connections." + examples: + - name: privateEndPointConnections_ListByFactory + text: |- + az datafactory private-end-point-connection list --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" +""" + +helps['datafactory private-endpoint-connection'] = """ + type: group + short-summary: Manage private endpoint connection with datafactory +""" + +helps['datafactory private-endpoint-connection show'] = """ + type: command + short-summary: "Gets a private endpoint connection." + examples: + - name: Get a private endpoint connection for a datafactory. + text: |- + az datafactory private-endpoint-connection show --factory-name "exampleFactoryName" --name "connection" \ +--resource-group "exampleResourceGroup" +""" + +helps['datafactory private-endpoint-connection create'] = """ + type: command + short-summary: "Approves or rejects a private endpoint connection." + parameters: + - name: --private-link-service-connection-state + short-summary: "The state of a private link connection" + long-summary: | + Usage: --private-link-service-connection-state status=XX description=XX actions-required=XX + + status: Status of a private link connection + description: Description of a private link connection + actions-required: ActionsRequired for a private link connection + examples: + - name: Approves or rejects a private endpoint connection for a factory. + text: |- + az datafactory private-endpoint-connection create --factory-name "exampleFactoryName" --name \ +"connection" --private-link-service-connection-state description="Approved by admin." actions-required="" \ +status="Approved" --resource-group "exampleResourceGroup" +""" + +helps['datafactory private-endpoint-connection update'] = """ + type: command + short-summary: "Approves or rejects a private endpoint connection." + parameters: + - name: --private-link-service-connection-state + short-summary: "The state of a private link connection" + long-summary: | + Usage: --private-link-service-connection-state status=XX description=XX actions-required=XX + + status: Status of a private link connection + description: Description of a private link connection + actions-required: ActionsRequired for a private link connection +""" + +helps['datafactory private-endpoint-connection delete'] = """ + type: command + short-summary: "Deletes a private endpoint connection." + examples: + - name: Delete a private endpoint connection for a datafactory. + text: |- + az datafactory private-endpoint-connection delete --factory-name "exampleFactoryName" --name \ +"connection" --resource-group "exampleResourceGroup" +""" + +helps['datafactory private-link-resource'] = """ + type: group + short-summary: Manage private link resource with datafactory +""" + +helps['datafactory private-link-resource show'] = """ + type: command + short-summary: "Gets the private link resources." + examples: + - name: Get private link resources of a site + text: |- + az datafactory private-link-resource show --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" +""" diff --git a/src/datafactory/azext_datafactory/generated/_params.py b/src/datafactory/azext_datafactory/generated/_params.py index 2162b81c231..cb4731f7eb3 100644 --- a/src/datafactory/azext_datafactory/generated/_params.py +++ b/src/datafactory/azext_datafactory/generated/_params.py @@ -24,9 +24,13 @@ from azext_datafactory.action import ( AddFactoryVstsConfiguration, AddFactoryGitHubConfiguration, + AddIdentity, + AddGitHubClientSecret, + AddManagedVirtualNetwork, AddFolder, AddFilters, - AddOrderBy + AddOrderBy, + AddPrivateLinkServiceConnectionState ) @@ -57,12 +61,33 @@ def load_arguments(self, _): 'GitHub repo information.', arg_group='RepoConfiguration') c.argument('global_parameters', type=validate_file_or_dict, help='List of parameters for factory. Expected ' 'value: json-string/@json-file.') + c.argument('public_network_access', arg_type=get_enum_type(['Enabled', 'Disabled']), help='Whether or not ' + 'public network access is allowed for the data factory.') + c.argument('key_name', type=str, help='The name of the key in Azure Key Vault to use as Customer Managed Key.', + arg_group='Encryption') + c.argument('vault_base_url', type=str, help='The url of the Azure Key Vault used for CMK.', + arg_group='Encryption') + c.argument('key_version', type=str, help='The version of the key used for CMK. If not provided, latest version ' + 'will be used.', arg_group='Encryption') + c.argument('identity', action=AddIdentity, nargs='+', help='User assigned identity to use to authenticate to ' + 'customer\'s key vault. If not provided Managed Service Identity will be used.', + arg_group='Encryption') + c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['SystemAssigned', 'UserAssigned', + 'SystemAssigned,UserAssigned']), + help='The identity type.', arg_group='Identity') + c.argument('user_assigned_identities', type=validate_file_or_dict, help='List of user assigned identities for ' + 'the factory. Expected value: json-string/@json-file.', arg_group='Identity') with self.argument_context('datafactory update') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.', id_part='name') c.argument('tags', tags_type) + c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['SystemAssigned', 'UserAssigned', + 'SystemAssigned,UserAssigned']), + help='The identity type.', arg_group='Identity') + c.argument('user_assigned_identities', type=validate_file_or_dict, help='List of user assigned identities for ' + 'the factory. Expected value: json-string/@json-file.', arg_group='Identity') with self.argument_context('datafactory delete') as c: c.argument('resource_group_name', resource_group_name_type) @@ -98,6 +123,8 @@ def load_arguments(self, _): id_part='name') c.argument('git_hub_access_code', type=str, help='GitHub access code.') c.argument('git_hub_client_id', type=str, help='GitHub application client ID.') + c.argument('git_hub_client_secret', action=AddGitHubClientSecret, nargs='+', help='GitHub bring your own app ' + 'client secret information.') c.argument('git_hub_access_token_base_url', type=str, help='GitHub access token base URL.') with self.argument_context('datafactory integration-runtime list') as c: @@ -133,6 +160,8 @@ def load_arguments(self, _): c.argument('if_match', type=str, help='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.') c.argument('description', type=str, help='Integration runtime description.') + c.argument('managed_virtual_network', action=AddManagedVirtualNetwork, nargs='+', help='Managed Virtual ' + 'Network reference.') c.argument('compute_properties', type=validate_file_or_dict, help='The compute resource for managed ' 'integration runtime. Expected value: json-string/@json-file.', arg_group='Type Properties') c.argument('ssis_properties', type=validate_file_or_dict, help='SSIS properties for managed integration ' @@ -386,8 +415,7 @@ def load_arguments(self, _): with self.argument_context('datafactory pipeline update') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', type=str, help='The factory name.', id_part='name') - c.argument('pipeline_name', options_list=['--name', '-n', '--pipeline-name'], type=str, help='The pipeline ' - 'name.', id_part='child_name_1') + c.argument('pipeline_name', type=str, help='The pipeline name.', id_part='child_name_1') c.argument('if_match', type=str, help='ETag of the pipeline entity. Should only be specified for update, for ' 'which it should match existing entity or can be * for unconditional update.') c.argument('description', type=str, help='The description of the pipeline.') @@ -404,8 +432,7 @@ def load_arguments(self, _): 'json-string/@json-file.') c.argument('duration', type=validate_file_or_dict, help='TimeSpan value, after which an Azure Monitoring ' 'Metric is fired. Expected value: json-string/@json-file.', arg_group='Policy Elapsed Time Metric') - c.argument('folder_name', type=str, help='The name of the folder that this Pipeline is in.', - arg_group='Folder') + c.argument('name', type=str, help='The name of the folder that this Pipeline is in.', arg_group='Folder') c.ignore('pipeline') with self.argument_context('datafactory pipeline delete') as c: @@ -578,3 +605,52 @@ def load_arguments(self, _): c.argument('factory_name', type=str, help='The factory name.', id_part='name') c.argument('trigger_name', type=str, help='The trigger name.', id_part='child_name_1') c.argument('run_id', type=str, help='The pipeline run identifier.', id_part='child_name_2') + + with self.argument_context('datafactory private-end-point-connection list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', type=str, help='The factory name.') + + with self.argument_context('datafactory private-endpoint-connection show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', type=str, help='The factory name.', id_part='name') + c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam' + 'e'], type=str, help='The private endpoint ' + 'connection name.', id_part='child_name_1') + c.argument('if_none_match', type=str, help='ETag of the private endpoint connection 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.') + + with self.argument_context('datafactory private-endpoint-connection create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', type=str, help='The factory name.') + c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam' + 'e'], type=str, help='The private endpoint ' + 'connection name.') + c.argument('if_match', type=str, help='ETag of the private endpoint connection entity. Should only be ' + 'specified for update, for which it should match existing entity or can be * for unconditional ' + 'update.') + c.argument('private_link_service_connection_state', action=AddPrivateLinkServiceConnectionState, nargs='+', + help='The state of a private link connection') + + with self.argument_context('datafactory private-endpoint-connection update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', type=str, help='The factory name.', id_part='name') + c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam' + 'e'], type=str, help='The private endpoint ' + 'connection name.', id_part='child_name_1') + c.argument('if_match', type=str, help='ETag of the private endpoint connection entity. Should only be ' + 'specified for update, for which it should match existing entity or can be * for unconditional ' + 'update.') + c.argument('private_link_service_connection_state', action=AddPrivateLinkServiceConnectionState, nargs='+', + help='The state of a private link connection') + + with self.argument_context('datafactory private-endpoint-connection delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', type=str, help='The factory name.', id_part='name') + c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam' + 'e'], type=str, help='The private endpoint ' + 'connection name.', id_part='child_name_1') + + with self.argument_context('datafactory private-link-resource show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', type=str, help='The factory name.', id_part='name') diff --git a/src/datafactory/azext_datafactory/generated/action.py b/src/datafactory/azext_datafactory/generated/action.py index f645d72981a..1b245767efd 100644 --- a/src/datafactory/azext_datafactory/generated/action.py +++ b/src/datafactory/azext_datafactory/generated/action.py @@ -90,6 +90,84 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use return d +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 == 'user-assigned-identity': + d['user_assigned_identity'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter identity. All possible keys are: ' + 'user-assigned-identity'.format(k)) + return d + + +class AddGitHubClientSecret(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.git_hub_client_secret = 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 == 'byoa-secret-akv-url': + d['byoa_secret_akv_url'] = v[0] + elif kl == 'byoa-secret-name': + d['byoa_secret_name'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter git_hub_client_secret. All possible keys ' + 'are: byoa-secret-akv-url, byoa-secret-name'.format(k)) + return d + + +class AddManagedVirtualNetwork(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.managed_virtual_network = 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 = {} + d['type'] = "ManagedVirtualNetworkReference" + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'reference-name': + d['reference_name'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter managed_virtual_network. All possible ' + 'keys are: reference-name'.format(k)) + return d + + class AddFolder(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) @@ -111,7 +189,7 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use d['name'] = v[0] else: raise CLIError('Unsupported Key {} is provided for parameter folder. All possible keys are: name'. - format(k)) + format(k)) return d @@ -169,3 +247,32 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use raise CLIError('Unsupported Key {} is provided for parameter order_by. All possible keys are: ' 'order-by, order'.format(k)) return d + + +class AddPrivateLinkServiceConnectionState(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.private_link_service_connection_state = 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 == 'status': + d['status'] = v[0] + elif kl == 'description': + d['description'] = v[0] + elif kl == 'actions-required': + d['actions_required'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter private_link_service_connection_state. ' + 'All possible keys are: status, description, actions-required'.format(k)) + return d diff --git a/src/datafactory/azext_datafactory/generated/commands.py b/src/datafactory/azext_datafactory/generated/commands.py index 83b7f9db34e..f5a297d1496 100644 --- a/src/datafactory/azext_datafactory/generated/commands.py +++ b/src/datafactory/azext_datafactory/generated/commands.py @@ -20,7 +20,7 @@ def load_command_table(self, _): operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._factories_operations#FactoriesOperatio' 'ns.{}', client_factory=cf_factory) - with self.command_group('datafactory', datafactory_factory, client_factory=cf_factory) as g: + with self.command_group('datafactory', datafactory_factory, client_factory=cf_factory, is_experimental=True) as g: g.custom_command('list', 'datafactory_list') g.custom_show_command('show', 'datafactory_show') g.custom_command('create', 'datafactory_create') @@ -157,3 +157,33 @@ def load_command_table(self, _): g.custom_command('cancel', 'datafactory_trigger_run_cancel') g.custom_command('query-by-factory', 'datafactory_trigger_run_query_by_factory') g.custom_command('rerun', 'datafactory_trigger_run_rerun') + + from azext_datafactory.generated._client_factory import cf_private_end_point_connection + datafactory_private_end_point_connection = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._private_end_point_connections_operatio' + 'ns#PrivateEndPointConnectionsOperations.{}', + client_factory=cf_private_end_point_connection) + with self.command_group('datafactory private-end-point-connection', datafactory_private_end_point_connection, + client_factory=cf_private_end_point_connection) as g: + g.custom_command('list', 'datafactory_private_end_point_connection_list') + + from azext_datafactory.generated._client_factory import cf_private_endpoint_connection + datafactory_private_endpoint_connection = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._private_endpoint_connection_operations' + '#PrivateEndpointConnectionOperations.{}', + client_factory=cf_private_endpoint_connection) + with self.command_group('datafactory private-endpoint-connection', datafactory_private_endpoint_connection, + client_factory=cf_private_endpoint_connection) as g: + g.custom_show_command('show', 'datafactory_private_endpoint_connection_show') + g.custom_command('create', 'datafactory_private_endpoint_connection_create') + g.custom_command('update', 'datafactory_private_endpoint_connection_update') + g.custom_command('delete', 'datafactory_private_endpoint_connection_delete', confirmation=True) + + from azext_datafactory.generated._client_factory import cf_private_link_resource + datafactory_private_link_resource = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._private_link_resources_operations#Priv' + 'ateLinkResourcesOperations.{}', + client_factory=cf_private_link_resource) + with self.command_group('datafactory private-link-resource', datafactory_private_link_resource, + client_factory=cf_private_link_resource) as g: + g.custom_show_command('show', 'datafactory_private_link_resource_show') diff --git a/src/datafactory/azext_datafactory/generated/custom.py b/src/datafactory/azext_datafactory/generated/custom.py index c269c1999ff..42209fa3e2d 100644 --- a/src/datafactory/azext_datafactory/generated/custom.py +++ b/src/datafactory/azext_datafactory/generated/custom.py @@ -39,7 +39,14 @@ def datafactory_create(client, tags=None, factory_vsts_configuration=None, factory_git_hub_configuration=None, - global_parameters=None): + global_parameters=None, + public_network_access=None, + key_name=None, + vault_base_url=None, + key_version=None, + identity=None, + type_=None, + user_assigned_identities=None): all_repo_configuration = [] if factory_vsts_configuration is not None: all_repo_configuration.append(factory_vsts_configuration) @@ -54,8 +61,15 @@ def datafactory_create(client, factory['tags'] = tags factory['repo_configuration'] = repo_configuration factory['global_parameters'] = global_parameters + factory['public_network_access'] = public_network_access factory['encryption'] = {} + factory['encryption']['key_name'] = key_name + factory['encryption']['vault_base_url'] = vault_base_url + factory['encryption']['key_version'] = key_version + factory['encryption']['identity'] = identity factory['identity'] = {} + factory['identity']['type'] = type_ + factory['identity']['user_assigned_identities'] = user_assigned_identities return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, if_match=if_match, @@ -65,10 +79,14 @@ def datafactory_create(client, def datafactory_update(client, resource_group_name, factory_name, - tags=None): + tags=None, + type_=None, + user_assigned_identities=None): factory_update_parameters = {} factory_update_parameters['tags'] = tags factory_update_parameters['identity'] = {} + factory_update_parameters['identity']['type'] = type_ + factory_update_parameters['identity']['user_assigned_identities'] = user_assigned_identities return client.update(resource_group_name=resource_group_name, factory_name=factory_name, factory_update_parameters=factory_update_parameters) @@ -126,10 +144,12 @@ def datafactory_get_git_hub_access_token(client, factory_name, git_hub_access_code, git_hub_access_token_base_url, - git_hub_client_id=None): + git_hub_client_id=None, + git_hub_client_secret=None): git_hub_access_token_request = {} git_hub_access_token_request['git_hub_access_code'] = git_hub_access_code git_hub_access_token_request['git_hub_client_id'] = git_hub_client_id + git_hub_access_token_request['git_hub_client_secret'] = git_hub_client_secret git_hub_access_token_request['git_hub_access_token_base_url'] = git_hub_access_token_base_url return client.get_git_hub_access_token(resource_group_name=resource_group_name, factory_name=factory_name, @@ -179,12 +199,14 @@ def datafactory_integration_runtime_managed_create(client, integration_runtime_name, if_match=None, description=None, + managed_virtual_network=None, compute_properties=None, ssis_properties=None): integration_runtime = {} integration_runtime['properties'] = {} integration_runtime['properties']['type'] = 'Managed' integration_runtime['properties']['description'] = description + integration_runtime['properties']['managed_virtual_network'] = managed_virtual_network integration_runtime['properties']['compute_properties'] = compute_properties integration_runtime['properties']['ssis_properties'] = ssis_properties return client.create_or_update(resource_group_name=resource_group_name, @@ -566,7 +588,7 @@ def datafactory_pipeline_update(instance, annotations=None, run_dimensions=None, duration=None, - folder_name=None): + name=None): if description is not None: instance.description = description if activities is not None: @@ -583,8 +605,8 @@ def datafactory_pipeline_update(instance, instance.run_dimensions = run_dimensions if duration is not None: instance.elapsed_time_metric.duration = duration - if folder_name is not None: - instance.folder.name = folder_name + if name is not None: + instance.folder.name = name return instance @@ -841,3 +863,69 @@ def datafactory_trigger_run_rerun(client, factory_name=factory_name, trigger_name=trigger_name, run_id=run_id) + + +def datafactory_private_end_point_connection_list(client, + resource_group_name, + factory_name): + return client.list_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_private_endpoint_connection_show(client, + resource_group_name, + factory_name, + private_endpoint_connection_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + private_endpoint_connection_name=private_endpoint_connection_name, + if_none_match=if_none_match) + + +def datafactory_private_endpoint_connection_create(client, + resource_group_name, + factory_name, + private_endpoint_connection_name, + if_match=None, + private_link_service_connection_state=None): + private_endpoint_wrapper = {} + private_endpoint_wrapper['properties'] = {} + private_endpoint_wrapper['properties']['private_link_service_connection_state'] = private_link_service_connection_state + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + private_endpoint_connection_name=private_endpoint_connection_name, + if_match=if_match, + private_endpoint_wrapper=private_endpoint_wrapper) + + +def datafactory_private_endpoint_connection_update(client, + resource_group_name, + factory_name, + private_endpoint_connection_name, + if_match=None, + private_link_service_connection_state=None): + private_endpoint_wrapper = {} + private_endpoint_wrapper['properties'] = {} + private_endpoint_wrapper['properties']['private_link_service_connection_state'] = private_link_service_connection_state + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + private_endpoint_connection_name=private_endpoint_connection_name, + if_match=if_match, + private_endpoint_wrapper=private_endpoint_wrapper) + + +def datafactory_private_endpoint_connection_delete(client, + resource_group_name, + factory_name, + private_endpoint_connection_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + private_endpoint_connection_name=private_endpoint_connection_name) + + +def datafactory_private_link_resource_show(client, + resource_group_name, + factory_name): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name) diff --git a/src/datafactory/azext_datafactory/tests/latest/example_steps.py b/src/datafactory/azext_datafactory/tests/latest/example_steps.py index 42222d4e576..791da887268 100644 --- a/src/datafactory/azext_datafactory/tests/latest/example_steps.py +++ b/src/datafactory/azext_datafactory/tests/latest/example_steps.py @@ -581,7 +581,7 @@ def step_pipeline_update(test, rg, checks=None): 'ipeline().parameters.OutputBlobNameList\\"}}}}}}]" ' '--parameters "{{\\"OutputBlobNameList\\":{{\\"type\\":\\"Array\\"}}}}" ' '--duration "0.00:10:00" ' - '--name "{myPipeline}" ' + '--pipeline-name "{myPipeline}" ' '--resource-group "{rg}"', checks=checks) @@ -634,6 +634,66 @@ def step_pipeline_delete(test, rg, checks=None): checks=checks) +# EXAMPLE: /privateEndPointConnections/get/privateEndPointConnections_ListByFactory +@try_manual +def step_private_end_point_connection_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory private-end-point-connection list ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /PrivateEndpointConnection/put/Approves or rejects a private endpoint connection for a factory. +@try_manual +def step_private_endpoint_connection_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory private-endpoint-connection create ' + '--factory-name "{myFactory}" ' + '--name "{myPrivateEndPointConnection}" ' + '--private-link-service-connection-state description="Approved by admin." actions-required="" ' + 'status="Approved" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /PrivateEndpointConnection/get/Get a private endpoint connection for a datafactory. +@try_manual +def step_private_endpoint_connection_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory private-endpoint-connection show ' + '--factory-name "{myFactory}" ' + '--name "{myPrivateEndPointConnection}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /PrivateEndpointConnection/delete/Delete a private endpoint connection for a datafactory. +@try_manual +def step_private_endpoint_connection_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory private-endpoint-connection delete -y ' + '--factory-name "{myFactory}" ' + '--name "{myPrivateEndPointConnection}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /privateLinkResources/get/Get private link resources of a site +@try_manual +def step_private_link_resource_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory private-link-resource show ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + # EXAMPLE: /Triggers/put/Triggers_Create @try_manual def step_trigger_create(test, rg, checks=None): diff --git a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py index 517a35650f8..d6795dbdb8b 100644 --- a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py +++ b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py @@ -174,6 +174,7 @@ def __init__(self, *args, **kwargs): 'myDataset': self.create_random_name(prefix='exampleDataset'[:7], length=14), 'myPipeline': self.create_random_name(prefix='examplePipeline'[:7], length=15), 'myTrigger': self.create_random_name(prefix='exampleTrigger'[:7], length=14), + 'myPrivateEndPointConnection': 'connection', }) @ResourceGroupPreparer(name_prefix='clitestdatafactory_exampleResourceGroup'[:7], key='rg', parameter_name='rg') diff --git a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md deleted file mode 100644 index b7eabe4528a..00000000000 --- a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md +++ /dev/null @@ -1,48 +0,0 @@ -|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| -|step_create|successed||||2021-04-26 09:05:32.308913|2021-04-26 09:05:32.501033| -|step_update|successed||||2021-04-26 09:05:22.750754|2021-04-26 09:05:22.880707| -|step_linked_service_create|successed||||2021-04-26 09:05:22.880707|2021-04-26 09:05:23.009706| -|step_linked_service_update|successed||||2021-04-26 09:05:23.010706|2021-04-26 09:05:23.174579| -|step_dataset_create|successed||||2021-04-26 09:05:23.174579|2021-04-26 09:05:23.317043| -|step_dataset_update|successed||||2021-04-26 09:05:23.318045|2021-04-26 09:05:23.451047| -|step_pipeline_create|successed||||2021-04-26 09:05:23.452049|2021-04-26 09:05:23.575751| -|step_trigger_create|successed||||2021-04-26 09:05:23.703756|2021-04-26 09:05:23.871057| -|step_trigger_update|successed||||2021-04-26 09:05:23.871057|2021-04-26 09:05:24.019053| -|step_integration_runtime_self_hosted_create|successed||||2021-04-26 09:05:24.019053|2021-04-26 09:05:24.155099| -|step_integration_runtime_update|successed||||2021-04-26 09:05:24.155099|2021-04-26 09:05:24.285096| -|step_integration_runtime_show|successed||||2021-04-26 09:05:29.524820|2021-04-26 09:05:29.675815| -|step_linked_service_show|successed||||2021-04-26 09:05:24.582291|2021-04-26 09:05:24.718292| -|step_pipeline_show|successed||||2021-04-26 09:05:24.719291|2021-04-26 09:05:24.872517| -|step_dataset_show|successed||||2021-04-26 09:05:24.873517|2021-04-26 09:05:25.000030| -|step_trigger_show|successed||||2021-04-26 09:05:33.782136|2021-04-26 09:05:33.927138| -|step_integration_runtime_list|successed||||2021-04-26 09:05:25.115003|2021-04-26 09:05:25.253055| -|step_linked_service_list|successed||||2021-04-26 09:05:25.254059|2021-04-26 09:05:25.409635| -|step_pipeline_list|successed||||2021-04-26 09:05:25.409635|2021-04-26 09:05:25.533704| -|step_trigger_list|successed||||2021-04-26 09:05:25.533704|2021-04-26 09:05:25.676865| -|step_dataset_list|successed||||2021-04-26 09:05:25.676865|2021-04-26 09:05:25.810871| -|step_show|successed||||2021-04-26 09:05:25.810871|2021-04-26 09:05:25.938042| -|step_list2|successed||||2021-04-26 09:05:25.938042|2021-04-26 09:05:26.060042| -|step_list|successed||||2021-04-26 09:05:26.060042|2021-04-26 09:05:26.183196| -|step_integration_runtime_regenerate_auth_key|successed||||2021-04-26 09:05:26.184194|2021-04-26 09:05:26.313194| -|step_integration_runtime_sync_credentials|successed||||2021-04-26 09:05:26.314192|2021-04-26 09:05:26.449307| -|step_integration_runtime_get_monitoring_data|successed||||2021-04-26 09:05:26.449307|2021-04-26 09:05:26.636000| -|step_integration_runtime_list_auth_key|successed||||2021-04-26 09:05:26.636000|2021-04-26 09:05:26.790002| -|step_integration_runtime_remove_link|successed||||2021-04-26 09:05:26.791005|2021-04-26 09:05:26.934513| -|step_integration_runtime_get_status|successed||||2021-04-26 09:05:26.935512|2021-04-26 09:05:27.069511| -|step_trigger_get_event_subscription_status|successed||||2021-04-26 09:05:27.069511|2021-04-26 09:05:27.211487| -|step_trigger_unsubscribe_from_event|successed||||2021-04-26 09:05:27.212492|2021-04-26 09:05:27.402802| -|step_trigger_subscribe_to_event|successed||||2021-04-26 09:05:27.402802|2021-04-26 09:05:27.532807| -|step_trigger_start|successed||||2021-04-26 09:05:33.632612|2021-04-26 09:05:33.782136| -|step_trigger_stop|successed||||2021-04-26 09:05:34.611518|2021-04-26 09:05:34.768873| -|step_get_data_plane_access|successed||||2021-04-26 09:05:27.837090|2021-04-26 09:05:27.977072| -|step_configure_factory_repo|successed||||2021-04-26 09:05:28.099075|2021-04-26 09:05:28.288426| -|step_integration_runtime_delete|successed||||2021-04-26 09:05:31.965947|2021-04-26 09:05:32.140944| -|step_trigger_delete|successed||||2021-04-26 09:05:34.768873|2021-04-26 09:05:34.900878| -|step_pipeline_delete|successed||||2021-04-26 09:05:34.900878|2021-04-26 09:05:35.030991| -|step_dataset_delete|successed||||2021-04-26 09:05:28.737334|2021-04-26 09:05:28.861337| -|step_linked_service_delete|successed||||2021-04-26 09:05:28.861337|2021-04-26 09:05:28.989612| -|step_delete|successed||||2021-04-26 09:05:35.031990|2021-04-26 09:05:35.197507| -|step_integration_runtime_start|successed||||2021-04-26 09:05:29.676815|2021-04-26 09:05:30.373119| -|step_integration_runtime_stop|successed||||2021-04-26 09:05:30.374118|2021-04-26 09:05:31.964925| -|step_activity_run_query_by_pipeline_run|successed||||2021-04-26 09:05:33.012581|2021-04-26 09:05:33.193579| -Coverage: 46/46 diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py index f272437a3e9..9dfe04b82d0 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py @@ -107,7 +107,6 @@ def __init__( client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) self.operations = Operations( diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration_async.py deleted file mode 100644 index 411d6c4a66e..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration_async.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 typing import Any, TYPE_CHECKING - -from azure.core.configuration import Configuration -from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials_async import AsyncTokenCredential - -VERSION = "unknown" - -class DataFactoryManagementClientConfiguration(Configuration): - """Configuration for DataFactoryManagementClient. - - 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(DataFactoryManagementClientConfiguration, self).__init__(**kwargs) - - self.credential = credential - self.subscription_id = subscription_id - self.api_version = "2018-06-01" - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) - kwargs.setdefault('sdk_moniker', 'datafactorymanagementclient/{}'.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.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**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/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py index 255a1839c21..01497b56d61 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py @@ -104,7 +104,6 @@ def __init__( client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) self.operations = Operations( diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client_async.py deleted file mode 100644 index b2b322686b8..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client_async.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 DataFactoryManagementClientConfiguration -from .operations_async import OperationOperations -from .operations_async import FactoryOperations -from .operations_async import ExposureControlOperations -from .operations_async import IntegrationRuntimeOperations -from .operations_async import IntegrationRuntimeObjectMetadataOperations -from .operations_async import IntegrationRuntimeNodeOperations -from .operations_async import LinkedServiceOperations -from .operations_async import DatasetOperations -from .operations_async import PipelineOperations -from .operations_async import PipelineRunOperations -from .operations_async import ActivityRunOperations -from .operations_async import TriggerOperations -from .operations_async import TriggerRunOperations -from .operations_async import DataFlowOperations -from .operations_async import DataFlowDebugSessionOperations -from .operations_async import ManagedVirtualNetworkOperations -from .operations_async import ManagedPrivateEndpointOperations -from .. import models - - -class DataFactoryManagementClient(object): - """The Azure Data Factory V2 management API provides a RESTful set of web services that interact with Azure Data Factory V2 services. - - :ivar operation: OperationOperations operations - :vartype operation: data_factory_management_client.aio.operations_async.OperationOperations - :ivar factory: FactoryOperations operations - :vartype factory: data_factory_management_client.aio.operations_async.FactoryOperations - :ivar exposure_control: ExposureControlOperations operations - :vartype exposure_control: data_factory_management_client.aio.operations_async.ExposureControlOperations - :ivar integration_runtime: IntegrationRuntimeOperations operations - :vartype integration_runtime: data_factory_management_client.aio.operations_async.IntegrationRuntimeOperations - :ivar integration_runtime_object_metadata: IntegrationRuntimeObjectMetadataOperations operations - :vartype integration_runtime_object_metadata: data_factory_management_client.aio.operations_async.IntegrationRuntimeObjectMetadataOperations - :ivar integration_runtime_node: IntegrationRuntimeNodeOperations operations - :vartype integration_runtime_node: data_factory_management_client.aio.operations_async.IntegrationRuntimeNodeOperations - :ivar linked_service: LinkedServiceOperations operations - :vartype linked_service: data_factory_management_client.aio.operations_async.LinkedServiceOperations - :ivar dataset: DatasetOperations operations - :vartype dataset: data_factory_management_client.aio.operations_async.DatasetOperations - :ivar pipeline: PipelineOperations operations - :vartype pipeline: data_factory_management_client.aio.operations_async.PipelineOperations - :ivar pipeline_run: PipelineRunOperations operations - :vartype pipeline_run: data_factory_management_client.aio.operations_async.PipelineRunOperations - :ivar activity_run: ActivityRunOperations operations - :vartype activity_run: data_factory_management_client.aio.operations_async.ActivityRunOperations - :ivar trigger: TriggerOperations operations - :vartype trigger: data_factory_management_client.aio.operations_async.TriggerOperations - :ivar trigger_run: TriggerRunOperations operations - :vartype trigger_run: data_factory_management_client.aio.operations_async.TriggerRunOperations - :ivar data_flow: DataFlowOperations operations - :vartype data_flow: data_factory_management_client.aio.operations_async.DataFlowOperations - :ivar data_flow_debug_session: DataFlowDebugSessionOperations operations - :vartype data_flow_debug_session: data_factory_management_client.aio.operations_async.DataFlowDebugSessionOperations - :ivar managed_virtual_network: ManagedVirtualNetworkOperations operations - :vartype managed_virtual_network: data_factory_management_client.aio.operations_async.ManagedVirtualNetworkOperations - :ivar managed_private_endpoint: ManagedPrivateEndpointOperations operations - :vartype managed_private_endpoint: data_factory_management_client.aio.operations_async.ManagedPrivateEndpointOperations - :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 - :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 = DataFactoryManagementClientConfiguration(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.factory = FactoryOperations( - self._client, self._config, self._serialize, self._deserialize) - self.exposure_control = ExposureControlOperations( - self._client, self._config, self._serialize, self._deserialize) - self.integration_runtime = IntegrationRuntimeOperations( - 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_node = IntegrationRuntimeNodeOperations( - self._client, self._config, self._serialize, self._deserialize) - self.linked_service = LinkedServiceOperations( - self._client, self._config, self._serialize, self._deserialize) - self.dataset = DatasetOperations( - self._client, self._config, self._serialize, self._deserialize) - self.pipeline = PipelineOperations( - self._client, self._config, self._serialize, self._deserialize) - self.pipeline_run = PipelineRunOperations( - self._client, self._config, self._serialize, self._deserialize) - self.activity_run = ActivityRunOperations( - self._client, self._config, self._serialize, self._deserialize) - self.trigger = TriggerOperations( - self._client, self._config, self._serialize, self._deserialize) - self.trigger_run = TriggerRunOperations( - self._client, self._config, self._serialize, self._deserialize) - self.data_flow = DataFlowOperations( - self._client, self._config, self._serialize, self._deserialize) - self.data_flow_debug_session = DataFlowDebugSessionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.managed_virtual_network = ManagedVirtualNetworkOperations( - self._client, self._config, self._serialize, self._deserialize) - self.managed_private_endpoint = ManagedPrivateEndpointOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "DataFactoryManagementClient": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/__init__.py deleted file mode 100644 index 554e3ba9232..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/__init__.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 ._operation_operations_async import OperationOperations -from ._factory_operations_async import FactoryOperations -from ._exposure_control_operations_async import ExposureControlOperations -from ._integration_runtime_operations_async import IntegrationRuntimeOperations -from ._integration_runtime_object_metadata_operations_async import IntegrationRuntimeObjectMetadataOperations -from ._integration_runtime_node_operations_async import IntegrationRuntimeNodeOperations -from ._linked_service_operations_async import LinkedServiceOperations -from ._dataset_operations_async import DatasetOperations -from ._pipeline_operations_async import PipelineOperations -from ._pipeline_run_operations_async import PipelineRunOperations -from ._activity_run_operations_async import ActivityRunOperations -from ._trigger_operations_async import TriggerOperations -from ._trigger_run_operations_async import TriggerRunOperations -from ._data_flow_operations_async import DataFlowOperations -from ._data_flow_debug_session_operations_async import DataFlowDebugSessionOperations -from ._managed_virtual_network_operations_async import ManagedVirtualNetworkOperations -from ._managed_private_endpoint_operations_async import ManagedPrivateEndpointOperations - -__all__ = [ - 'OperationOperations', - 'FactoryOperations', - 'ExposureControlOperations', - 'IntegrationRuntimeOperations', - 'IntegrationRuntimeObjectMetadataOperations', - 'IntegrationRuntimeNodeOperations', - 'LinkedServiceOperations', - 'DatasetOperations', - 'PipelineOperations', - 'PipelineRunOperations', - 'ActivityRunOperations', - 'TriggerOperations', - 'TriggerRunOperations', - 'DataFlowOperations', - 'DataFlowDebugSessionOperations', - 'ManagedVirtualNetworkOperations', - 'ManagedPrivateEndpointOperations', -] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_activity_run_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_activity_run_operations_async.py deleted file mode 100644 index 0d2e56be08b..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_activity_run_operations_async.py +++ /dev/null @@ -1,127 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 -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 ActivityRunOperations: - """ActivityRunOperations 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_factory_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 query_by_pipeline_run( - self, - resource_group_name: str, - factory_name: str, - run_id: str, - last_updated_after: datetime.datetime, - last_updated_before: datetime.datetime, - continuation_token_parameter: Optional[str] = None, - filters: Optional[List["models.RunQueryFilter"]] = None, - order_by: Optional[List["models.RunQueryOrderBy"]] = None, - **kwargs - ) -> "models.ActivityRunsQueryResponse": - """Query activity runs based on input filter conditions. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param run_id: The pipeline run identifier. - :type run_id: str - :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' - format. - :type last_updated_after: ~datetime.datetime - :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' - format. - :type last_updated_before: ~datetime.datetime - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param filters: List of filters. - :type filters: list[~data_factory_management_client.models.RunQueryFilter] - :param order_by: List of OrderBy option. - :type order_by: list[~data_factory_management_client.models.RunQueryOrderBy] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActivityRunsQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ActivityRunsQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ActivityRunsQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.RunFilterParameters(continuation_token=continuation_token_parameter, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_pipeline_run.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'runId': self._serialize.url("run_id", run_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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') - 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('ActivityRunsQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_pipeline_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/queryActivityruns'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_debug_session_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_debug_session_operations_async.py deleted file mode 100644 index f1bf8ee8f73..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_debug_session_operations_async.py +++ /dev/null @@ -1,551 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -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 DataFlowDebugSessionOperations: - """DataFlowDebugSessionOperations 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_factory_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 _create_initial( - self, - resource_group_name: str, - factory_name: str, - compute_type: Optional[str] = None, - core_count: Optional[int] = None, - time_to_live: Optional[int] = None, - name: Optional[str] = None, - properties: Optional["models.IntegrationRuntime"] = None, - **kwargs - ) -> Optional["models.CreateDataFlowDebugSessionResponse"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.CreateDataFlowDebugSessionResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - request = models.CreateDataFlowDebugSessionRequest(compute_type=compute_type, core_count=core_count, time_to_live=time_to_live, name=name, properties=properties) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(request, 'CreateDataFlowDebugSessionRequest') - 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) - - response_headers = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) - - if response.status_code == 202: - response_headers['location']=self._deserialize('str', response.headers.get('location')) - - if cls: - return cls(pipeline_response, deserialized, response_headers) - - return deserialized - _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} # type: ignore - - async def begin_create( - self, - resource_group_name: str, - factory_name: str, - compute_type: Optional[str] = None, - core_count: Optional[int] = None, - time_to_live: Optional[int] = None, - name: Optional[str] = None, - properties: Optional["models.IntegrationRuntime"] = None, - **kwargs - ) -> AsyncLROPoller["models.CreateDataFlowDebugSessionResponse"]: - """Creates a data flow debug session. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param compute_type: Compute type of the cluster. The value will be overwritten by the same - setting in integration runtime if provided. - :type compute_type: str - :param core_count: Core count of the cluster. The value will be overwritten by the same setting - in integration runtime if provided. - :type core_count: int - :param time_to_live: Time to live setting of the cluster in minutes. - :type time_to_live: int - :param name: The resource name. - :type name: str - :param properties: Integration runtime properties. - :type properties: ~data_factory_management_client.models.IntegrationRuntime - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either CreateDataFlowDebugSessionResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.CreateDataFlowDebugSessionResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.CreateDataFlowDebugSessionResponse"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._create_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - compute_type=compute_type, - core_count=core_count, - time_to_live=time_to_live, - name=name, - properties=properties, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} # type: ignore - - def query_by_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.QueryDataFlowDebugSessionsResponse"]: - """Query all active data flow debug sessions. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either QueryDataFlowDebugSessionsResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.QueryDataFlowDebugSessionsResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.QueryDataFlowDebugSessionsResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.query_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.post(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('QueryDataFlowDebugSessionsResponse', 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 - ) - query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryDataFlowDebugSessions'} # type: ignore - - async def add_data_flow( - self, - resource_group_name: str, - factory_name: str, - session_id: Optional[str] = None, - datasets: Optional[List["models.DatasetDebugResource"]] = None, - linked_services: Optional[List["models.LinkedServiceDebugResource"]] = None, - source_settings: Optional[List["models.DataFlowSourceSetting"]] = None, - parameters: Optional[Dict[str, object]] = None, - dataset_parameters: Optional[object] = None, - folder_path: Optional[object] = None, - reference_name: Optional[str] = None, - name: Optional[str] = None, - properties: Optional["models.DataFlow"] = None, - **kwargs - ) -> "models.AddDataFlowToDebugSessionResponse": - """Add a data flow into debug session. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param session_id: The ID of data flow debug session. - :type session_id: str - :param datasets: List of datasets. - :type datasets: list[~data_factory_management_client.models.DatasetDebugResource] - :param linked_services: List of linked services. - :type linked_services: list[~data_factory_management_client.models.LinkedServiceDebugResource] - :param source_settings: Source setting for data flow debug. - :type source_settings: list[~data_factory_management_client.models.DataFlowSourceSetting] - :param parameters: Data flow parameters. - :type parameters: dict[str, object] - :param dataset_parameters: Parameters for dataset. - :type dataset_parameters: object - :param folder_path: Folder path for staging blob. Type: string (or Expression with resultType - string). - :type folder_path: object - :param reference_name: Reference LinkedService name. - :type reference_name: str - :param name: The resource name. - :type name: str - :param properties: Data flow properties. - :type properties: ~data_factory_management_client.models.DataFlow - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AddDataFlowToDebugSessionResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.AddDataFlowToDebugSessionResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.AddDataFlowToDebugSessionResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - request = models.DataFlowDebugPackage(session_id=session_id, datasets=datasets, linked_services=linked_services, source_settings=source_settings, parameters_debug_settings_parameters=parameters, dataset_parameters=dataset_parameters, folder_path=folder_path, reference_name=reference_name, name=name, properties=properties) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.add_data_flow.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(request, 'DataFlowDebugPackage') - 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('AddDataFlowToDebugSessionResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - add_data_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/addDataFlowToDebugSession'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - session_id: Optional[str] = None, - **kwargs - ) -> None: - """Deletes a data flow debug session. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param session_id: The ID of data flow debug session. - :type 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', {})) - - request = models.DeleteDataFlowDebugSessionRequest(session_id=session_id) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(request, 'DeleteDataFlowDebugSessionRequest') - 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, {}) - - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/deleteDataFlowDebugSession'} # type: ignore - - async def _execute_command_initial( - self, - resource_group_name: str, - factory_name: str, - session_id: Optional[str] = None, - command: Optional[Union[str, "models.DataFlowDebugCommandType"]] = None, - command_payload: Optional["models.DataFlowDebugCommandPayload"] = None, - **kwargs - ) -> Optional["models.DataFlowDebugCommandResponse"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DataFlowDebugCommandResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - request = models.DataFlowDebugCommandRequest(session_id=session_id, command=command, command_payload=command_payload) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._execute_command_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(request, 'DataFlowDebugCommandRequest') - 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) - - response_headers = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) - - if response.status_code == 202: - response_headers['location']=self._deserialize('str', response.headers.get('location')) - - if cls: - return cls(pipeline_response, deserialized, response_headers) - - return deserialized - _execute_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} # type: ignore - - async def begin_execute_command( - self, - resource_group_name: str, - factory_name: str, - session_id: Optional[str] = None, - command: Optional[Union[str, "models.DataFlowDebugCommandType"]] = None, - command_payload: Optional["models.DataFlowDebugCommandPayload"] = None, - **kwargs - ) -> AsyncLROPoller["models.DataFlowDebugCommandResponse"]: - """Execute a data flow debug command. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param session_id: The ID of data flow debug session. - :type session_id: str - :param command: The command type. - :type command: str or ~data_factory_management_client.models.DataFlowDebugCommandType - :param command_payload: The command payload object. - :type command_payload: ~data_factory_management_client.models.DataFlowDebugCommandPayload - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either DataFlowDebugCommandResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.DataFlowDebugCommandResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowDebugCommandResponse"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._execute_command_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - session_id=session_id, - command=command, - command_payload=command_payload, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_execute_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_operations_async.py deleted file mode 100644 index b5c2e5656ce..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_operations_async.py +++ /dev/null @@ -1,309 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 DataFlowOperations: - """DataFlowOperations 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_factory_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 create_or_update( - self, - resource_group_name: str, - factory_name: str, - data_flow_name: str, - properties: "models.DataFlow", - if_match: Optional[str] = None, - **kwargs - ) -> "models.DataFlowResource": - """Creates or updates a data flow. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param data_flow_name: The data flow name. - :type data_flow_name: str - :param properties: Data flow properties. - :type properties: ~data_factory_management_client.models.DataFlow - :param if_match: ETag of the data flow entity. Should only be specified for update, for which - it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataFlowResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DataFlowResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - data_flow = models.DataFlowResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(data_flow, 'DataFlowResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('DataFlowResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - data_flow_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> "models.DataFlowResource": - """Gets a data flow. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param data_flow_name: The data flow name. - :type data_flow_name: str - :param if_none_match: ETag of the data flow 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataFlowResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DataFlowResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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('DataFlowResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - data_flow_name: str, - **kwargs - ) -> None: - """Deletes a data flow. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param data_flow_name: The data flow name. - :type data_flow_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore - - def list_by_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.DataFlowListResponse"]: - """Lists data flows. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DataFlowListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.DataFlowListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('DataFlowListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_dataset_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_dataset_operations_async.py deleted file mode 100644 index a8be0369365..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_dataset_operations_async.py +++ /dev/null @@ -1,311 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 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_factory_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_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.DatasetListResponse"]: - """Lists datasets. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DatasetListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.DatasetListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('DatasetListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - dataset_name: str, - properties: "models.Dataset", - if_match: Optional[str] = None, - **kwargs - ) -> "models.DatasetResource": - """Creates or updates a dataset. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param dataset_name: The dataset name. - :type dataset_name: str - :param properties: Dataset properties. - :type properties: ~data_factory_management_client.models.Dataset - :param if_match: ETag of the dataset entity. Should only be specified for update, for which it - should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DatasetResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DatasetResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - dataset = models.DatasetResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(dataset, 'DatasetResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('DatasetResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - dataset_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> Optional["models.DatasetResource"]: - """Gets a dataset. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param dataset_name: The dataset name. - :type dataset_name: str - :param if_none_match: ETag of the dataset 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DatasetResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DatasetResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DatasetResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('DatasetResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - dataset_name: str, - **kwargs - ) -> None: - """Deletes a dataset. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param dataset_name: The dataset name. - :type dataset_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_exposure_control_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_exposure_control_operations_async.py deleted file mode 100644 index b20acb1c3c8..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_exposure_control_operations_async.py +++ /dev/null @@ -1,241 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 -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 ExposureControlOperations: - """ExposureControlOperations 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_factory_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_feature_value( - self, - location_id: str, - feature_name: Optional[str] = None, - feature_type: Optional[str] = None, - **kwargs - ) -> "models.ExposureControlResponse": - """Get exposure control feature for specific location. - - :param location_id: The location identifier. - :type location_id: str - :param feature_name: The feature name. - :type feature_name: str - :param feature_type: The feature type. - :type feature_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ExposureControlResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ExposureControlResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.get_feature_value.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'locationId': self._serialize.url("location_id", location_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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(exposure_control_request, 'ExposureControlRequest') - 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('ExposureControlResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_feature_value.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/getFeatureValue'} # type: ignore - - async def get_feature_value_by_factory( - self, - resource_group_name: str, - factory_name: str, - feature_name: Optional[str] = None, - feature_type: Optional[str] = None, - **kwargs - ) -> "models.ExposureControlResponse": - """Get exposure control feature for specific factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param feature_name: The feature name. - :type feature_name: str - :param feature_type: The feature type. - :type feature_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ExposureControlResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ExposureControlResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.get_feature_value_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(exposure_control_request, 'ExposureControlRequest') - 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('ExposureControlResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_feature_value_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getFeatureValue'} # type: ignore - - async def query_feature_value_by_factory( - self, - resource_group_name: str, - factory_name: str, - exposure_control_requests: List["models.ExposureControlRequest"], - **kwargs - ) -> "models.ExposureControlBatchResponse": - """Get list of exposure control features for specific factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param exposure_control_requests: List of exposure control features. - :type exposure_control_requests: list[~data_factory_management_client.models.ExposureControlRequest] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ExposureControlBatchResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ExposureControlBatchResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlBatchResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - exposure_control_batch_request = models.ExposureControlBatchRequest(exposure_control_requests=exposure_control_requests) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_feature_value_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(exposure_control_batch_request, 'ExposureControlBatchRequest') - 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('ExposureControlBatchResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_feature_value_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryFeaturesValue'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_factory_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_factory_operations_async.py deleted file mode 100644 index 46f37c1a6f7..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_factory_operations_async.py +++ /dev/null @@ -1,658 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 FactoryOperations: - """FactoryOperations 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_factory_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 - ) -> AsyncIterable["models.FactoryListResponse"]: - """Lists factories under the specified subscription. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either FactoryListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.FactoryListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('FactoryListResponse', 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.DataFactory/factories'} # type: ignore - - async def configure_factory_repo( - self, - location_id: str, - factory_resource_id: Optional[str] = None, - repo_configuration: Optional["models.FactoryRepoConfiguration"] = None, - **kwargs - ) -> "models.Factory": - """Updates a factory's repo information. - - :param location_id: The location identifier. - :type location_id: str - :param factory_resource_id: The factory resource id. - :type factory_resource_id: str - :param repo_configuration: Git repo information of the factory. - :type repo_configuration: ~data_factory_management_client.models.FactoryRepoConfiguration - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - factory_repo_update = models.FactoryRepoUpdate(factory_resource_id=factory_resource_id, repo_configuration=repo_configuration) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.configure_factory_repo.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'locationId': self._serialize.url("location_id", location_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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(factory_repo_update, 'FactoryRepoUpdate') - 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('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - configure_factory_repo.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name: str, - **kwargs - ) -> AsyncIterable["models.FactoryListResponse"]: - """Lists factories. - - :param resource_group_name: The resource group name. - :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 FactoryListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.FactoryListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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'), - '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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('FactoryListResponse', 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.DataFactory/factories'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - if_match: Optional[str] = None, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, - identity: Optional["models.FactoryIdentity"] = None, - repo_configuration: Optional["models.FactoryRepoConfiguration"] = None, - global_parameters: Optional[Dict[str, "models.GlobalParameterSpecification"]] = None, - **kwargs - ) -> "models.Factory": - """Creates or updates a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param if_match: ETag of the factory 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 location: The resource location. - :type location: str - :param tags: The resource tags. - :type tags: dict[str, str] - :param identity: Managed service identity of the factory. - :type identity: ~data_factory_management_client.models.FactoryIdentity - :param repo_configuration: Git repo information of the factory. - :type repo_configuration: ~data_factory_management_client.models.FactoryRepoConfiguration - :param global_parameters: List of parameters for factory. - :type global_parameters: dict[str, ~data_factory_management_client.models.GlobalParameterSpecification] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - factory = models.Factory(location=location, tags=tags, identity=identity, repo_configuration=repo_configuration, global_parameters=global_parameters) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(factory, 'Factory') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore - - async def update( - self, - resource_group_name: str, - factory_name: str, - tags: Optional[Dict[str, str]] = None, - identity: Optional["models.FactoryIdentity"] = None, - **kwargs - ) -> "models.Factory": - """Updates a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param tags: The resource tags. - :type tags: dict[str, str] - :param identity: Managed service identity of the factory. - :type identity: ~data_factory_management_client.models.FactoryIdentity - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - factory_update_parameters = models.FactoryUpdateParameters(tags=tags, identity=identity) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(factory_update_parameters, 'FactoryUpdateParameters') - 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('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> Optional["models.Factory"]: - """Gets a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param if_none_match: ETag of the factory 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.Factory"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> None: - """Deletes a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}'} # type: ignore - - async def get_git_hub_access_token( - self, - resource_group_name: str, - factory_name: str, - git_hub_access_code: str, - git_hub_access_token_base_url: str, - git_hub_client_id: Optional[str] = None, - **kwargs - ) -> "models.GitHubAccessTokenResponse": - """Get GitHub Access Token. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param git_hub_access_code: GitHub access code. - :type git_hub_access_code: str - :param git_hub_access_token_base_url: GitHub access token base URL. - :type git_hub_access_token_base_url: str - :param git_hub_client_id: GitHub application client ID. - :type git_hub_client_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: GitHubAccessTokenResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.GitHubAccessTokenResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.GitHubAccessTokenResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - git_hub_access_token_request = models.GitHubAccessTokenRequest(git_hub_access_code=git_hub_access_code, git_hub_client_id=git_hub_client_id, git_hub_access_token_base_url=git_hub_access_token_base_url) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.get_git_hub_access_token.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(git_hub_access_token_request, 'GitHubAccessTokenRequest') - 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('GitHubAccessTokenResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_git_hub_access_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getGitHubAccessToken'} # type: ignore - - async def get_data_plane_access( - self, - resource_group_name: str, - factory_name: str, - permissions: Optional[str] = None, - access_resource_path: Optional[str] = None, - profile_name: Optional[str] = None, - start_time: Optional[str] = None, - expire_time: Optional[str] = None, - **kwargs - ) -> "models.AccessPolicyResponse": - """Get Data Plane access. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param permissions: The string with permissions for Data Plane access. Currently only 'r' is - supported which grants read only access. - :type permissions: str - :param access_resource_path: The resource path to get access relative to factory. Currently - only empty string is supported which corresponds to the factory resource. - :type access_resource_path: str - :param profile_name: The name of the profile. Currently only the default is supported. The - default value is DefaultProfile. - :type profile_name: str - :param start_time: Start time for the token. If not specified the current time will be used. - :type start_time: str - :param expire_time: Expiration time for the token. Maximum duration for the token is eight - hours and by default the token will expire in eight hours. - :type expire_time: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AccessPolicyResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.AccessPolicyResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.AccessPolicyResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - policy = models.UserAccessPolicy(permissions=permissions, access_resource_path=access_resource_path, profile_name=profile_name, start_time=start_time, expire_time=expire_time) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.get_data_plane_access.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(policy, 'UserAccessPolicy') - 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('AccessPolicyResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_data_plane_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getDataPlaneAccess'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_node_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_node_operations_async.py deleted file mode 100644 index a6022196653..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_node_operations_async.py +++ /dev/null @@ -1,301 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 IntegrationRuntimeNodeOperations: - """IntegrationRuntimeNodeOperations 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_factory_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, - factory_name: str, - integration_runtime_name: str, - node_name: str, - **kwargs - ) -> "models.SelfHostedIntegrationRuntimeNode": - """Gets a self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The integration runtime node name. - :type node_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) - :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('SelfHostedIntegrationRuntimeNode', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - node_name: str, - **kwargs - ) -> None: - """Deletes a self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The integration runtime node name. - :type node_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore - - async def update( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - node_name: str, - concurrent_jobs_limit: Optional[int] = None, - **kwargs - ) -> "models.SelfHostedIntegrationRuntimeNode": - """Updates a self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) - :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - update_integration_runtime_node_request = models.UpdateIntegrationRuntimeNodeRequest(concurrent_jobs_limit=concurrent_jobs_limit) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_integration_runtime_node_request, 'UpdateIntegrationRuntimeNodeRequest') - 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('SelfHostedIntegrationRuntimeNode', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore - - async def get_ip_address( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - node_name: str, - **kwargs - ) -> "models.IntegrationRuntimeNodeIpAddress": - """Get the IP address of self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The integration runtime node name. - :type node_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeNodeIpAddress, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeNodeIpAddress - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeNodeIpAddress"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_ip_address.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeNodeIpAddress', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_object_metadata_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_object_metadata_operations_async.py deleted file mode 100644 index 70df0716c21..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_object_metadata_operations_async.py +++ /dev/null @@ -1,230 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -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 IntegrationRuntimeObjectMetadataOperations: - """IntegrationRuntimeObjectMetadataOperations 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_factory_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 _refresh_initial( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> Optional["models.SsisObjectMetadataStatusResponse"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.SsisObjectMetadataStatusResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._refresh_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('SsisObjectMetadataStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _refresh_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} # type: ignore - - async def begin_refresh( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> AsyncLROPoller["models.SsisObjectMetadataStatusResponse"]: - """Refresh a SSIS integration runtime object metadata. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either SsisObjectMetadataStatusResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.SsisObjectMetadataStatusResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataStatusResponse"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._refresh_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - integration_runtime_name=integration_runtime_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('SsisObjectMetadataStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_refresh.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - metadata_path: Optional[str] = None, - **kwargs - ) -> "models.SsisObjectMetadataListResponse": - """Get a SSIS integration runtime object metadata by specified path. The return is pageable - metadata list. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param metadata_path: Metadata path. - :type metadata_path: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SsisObjectMetadataListResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.SsisObjectMetadataListResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - get_metadata_request = models.GetSsisObjectMetadataRequest(metadata_path=metadata_path) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - if get_metadata_request is not None: - body_content = self._serialize.body(get_metadata_request, 'GetSsisObjectMetadataRequest') - 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('SsisObjectMetadataListResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getObjectMetadata'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_operations_async.py deleted file mode 100644 index 82b285c7a74..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_operations_async.py +++ /dev/null @@ -1,1176 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -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 IntegrationRuntimeOperations: - """IntegrationRuntimeOperations 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_factory_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_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.IntegrationRuntimeListResponse"]: - """Lists integration runtimes. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either IntegrationRuntimeListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.IntegrationRuntimeListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('IntegrationRuntimeListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - properties: "models.IntegrationRuntime", - if_match: Optional[str] = None, - **kwargs - ) -> "models.IntegrationRuntimeResource": - """Creates or updates an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param properties: Integration runtime properties. - :type properties: ~data_factory_management_client.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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - integration_runtime = models.IntegrationRuntimeResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(integration_runtime, 'IntegrationRuntimeResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> Optional["models.IntegrationRuntimeResource"]: - """Gets an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('IntegrationRuntimeResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - async def update( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - auto_update: Optional[Union[str, "models.IntegrationRuntimeAutoUpdate"]] = None, - update_delay_offset: Optional[str] = None, - **kwargs - ) -> "models.IntegrationRuntimeResource": - """Updates an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The 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. - :type auto_update: str or ~data_factory_management_client.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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - update_integration_runtime_request = models.UpdateIntegrationRuntimeRequest(auto_update=auto_update, update_delay_offset=update_delay_offset) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_integration_runtime_request, 'UpdateIntegrationRuntimeRequest') - 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('IntegrationRuntimeResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> None: - """Deletes an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - async def get_status( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> "models.IntegrationRuntimeStatusResponse": - """Gets detailed status information for an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeStatusResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_status.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus'} # type: ignore - - async def get_connection_info( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> "models.IntegrationRuntimeConnectionInfo": - """Gets the on-premises integration runtime connection information for encrypting the on-premises - data source credentials. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeConnectionInfo, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeConnectionInfo - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeConnectionInfo"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_connection_info.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeConnectionInfo', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo'} # type: ignore - - async def regenerate_auth_key( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - key_name: Optional[Union[str, "models.IntegrationRuntimeAuthKeyName"]] = None, - **kwargs - ) -> "models.IntegrationRuntimeAuthKeys": - """Regenerates the authentication key for an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param key_name: The name of the authentication key to regenerate. - :type key_name: str or ~data_factory_management_client.models.IntegrationRuntimeAuthKeyName - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeAuthKeys, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - regenerate_key_parameters = models.IntegrationRuntimeRegenerateKeyParameters(key_name=key_name) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.regenerate_auth_key.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(regenerate_key_parameters, 'IntegrationRuntimeRegenerateKeyParameters') - 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('IntegrationRuntimeAuthKeys', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - regenerate_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey'} # type: ignore - - async def list_auth_key( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> "models.IntegrationRuntimeAuthKeys": - """Retrieves the authentication keys for an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeAuthKeys, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.list_auth_key.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeAuthKeys', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys'} # type: ignore - - async def _start_initial( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> Optional["models.IntegrationRuntimeStatusResponse"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeStatusResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._start_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore - - async def begin_start( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> AsyncLROPoller["models.IntegrationRuntimeStatusResponse"]: - """Starts a ManagedReserved type integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either IntegrationRuntimeStatusResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.IntegrationRuntimeStatusResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._start_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - integration_runtime_name=integration_runtime_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore - - async def _stop_initial( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._stop_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore - - async def begin_stop( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> AsyncLROPoller[None]: - """Stops a ManagedReserved type integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._stop_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - integration_runtime_name=integration_runtime_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore - - async def sync_credentials( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> None: - """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 resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_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 = "2018-06-01" - - # Construct URL - url = self.sync_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - sync_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials'} # type: ignore - - async def get_monitoring_data( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> "models.IntegrationRuntimeMonitoringData": - """Get the integration runtime monitoring data, which includes the monitor data for all the nodes - under this integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeMonitoringData, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeMonitoringData - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeMonitoringData"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_monitoring_data.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeMonitoringData', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData'} # type: ignore - - async def upgrade( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - **kwargs - ) -> None: - """Upgrade self-hosted integration runtime to latest version if availability. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_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 = "2018-06-01" - - # Construct URL - url = self.upgrade.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - upgrade.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade'} # type: ignore - - async def remove_link( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - linked_factory_name: str, - **kwargs - ) -> None: - """Remove all linked integration runtimes under specific data factory in a self-hosted integration - runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param linked_factory_name: The data factory name for linked integration runtime. - :type linked_factory_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', {})) - - linked_integration_runtime_request = models.LinkedIntegrationRuntimeRequest(linked_factory_name=linked_factory_name) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.remove_link.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(linked_integration_runtime_request, 'LinkedIntegrationRuntimeRequest') - 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, {}) - - remove_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeLinks'} # type: ignore - - async def create_linked_integration_runtime( - self, - resource_group_name: str, - factory_name: str, - integration_runtime_name: str, - name: Optional[str] = None, - subscription_id: Optional[str] = None, - data_factory_name: Optional[str] = None, - data_factory_location: Optional[str] = None, - **kwargs - ) -> "models.IntegrationRuntimeStatusResponse": - """Create a linked integration runtime entry in a shared integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param name: The name of the linked integration runtime. - :type name: str - :param subscription_id: The ID of the subscription that the linked integration runtime belongs - to. - :type subscription_id: str - :param data_factory_name: The name of the data factory that the linked integration runtime - belongs to. - :type data_factory_name: str - :param data_factory_location: The location of the data factory that the linked integration - runtime belongs to. - :type data_factory_location: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeStatusResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - create_linked_integration_runtime_request = models.CreateLinkedIntegrationRuntimeRequest(name=name, subscription_id=subscription_id, data_factory_name=data_factory_name, data_factory_location=data_factory_location) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.create_linked_integration_runtime.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_linked_integration_runtime_request, 'CreateLinkedIntegrationRuntimeRequest') - 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('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_linked_integration_runtime.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/linkedIntegrationRuntime'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_linked_service_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_linked_service_operations_async.py deleted file mode 100644 index 56e9e6f663a..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_linked_service_operations_async.py +++ /dev/null @@ -1,312 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 LinkedServiceOperations: - """LinkedServiceOperations 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_factory_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_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.LinkedServiceListResponse"]: - """Lists linked services. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either LinkedServiceListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.LinkedServiceListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('LinkedServiceListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - linked_service_name: str, - properties: "models.LinkedService", - if_match: Optional[str] = None, - **kwargs - ) -> "models.LinkedServiceResource": - """Creates or updates a linked service. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param linked_service_name: The linked service name. - :type linked_service_name: str - :param properties: Properties of linked service. - :type properties: ~data_factory_management_client.models.LinkedService - :param if_match: ETag of the linkedService entity. Should only be specified for update, for - which it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LinkedServiceResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.LinkedServiceResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - linked_service = models.LinkedServiceResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(linked_service, 'LinkedServiceResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('LinkedServiceResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - linked_service_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> Optional["models.LinkedServiceResource"]: - """Gets a linked service. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param linked_service_name: The linked service name. - :type linked_service_name: str - :param if_none_match: ETag of the linked service 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LinkedServiceResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.LinkedServiceResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.LinkedServiceResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('LinkedServiceResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - linked_service_name: str, - **kwargs - ) -> None: - """Deletes a linked service. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param linked_service_name: The linked service name. - :type linked_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 = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_private_endpoint_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_private_endpoint_operations_async.py deleted file mode 100644 index 3a899779963..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_private_endpoint_operations_async.py +++ /dev/null @@ -1,336 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 -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 ManagedPrivateEndpointOperations: - """ManagedPrivateEndpointOperations 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_factory_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_factory( - self, - resource_group_name: str, - factory_name: str, - managed_virtual_network_name: str, - **kwargs - ) -> AsyncIterable["models.ManagedPrivateEndpointListResponse"]: - """Lists managed private endpoints. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedPrivateEndpointListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.ManagedPrivateEndpointListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedPrivateEndpointListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - managed_virtual_network_name: str, - managed_private_endpoint_name: str, - if_match: Optional[str] = None, - connection_state: Optional["models.ConnectionStateProperties"] = None, - fqdns: Optional[List[str]] = None, - group_id: Optional[str] = None, - private_link_resource_id: Optional[str] = None, - **kwargs - ) -> "models.ManagedPrivateEndpointResource": - """Creates or updates a managed private endpoint. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param managed_private_endpoint_name: Managed private endpoint name. - :type managed_private_endpoint_name: str - :param if_match: ETag of the managed private endpoint 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 connection_state: The managed private endpoint connection state. - :type connection_state: ~data_factory_management_client.models.ConnectionStateProperties - :param fqdns: Fully qualified domain names. - :type fqdns: list[str] - :param group_id: The groupId to which the managed private endpoint is created. - :type group_id: str - :param private_link_resource_id: The ARM resource ID of the resource to which the managed - private endpoint is created. - :type private_link_resource_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedPrivateEndpointResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - managed_private_endpoint = models.ManagedPrivateEndpointResource(connection_state=connection_state, fqdns=fqdns, group_id=group_id, private_link_resource_id=private_link_resource_id) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(managed_private_endpoint, 'ManagedPrivateEndpointResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('ManagedPrivateEndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - managed_virtual_network_name: str, - managed_private_endpoint_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> "models.ManagedPrivateEndpointResource": - """Gets a managed private endpoint. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param managed_private_endpoint_name: Managed private endpoint name. - :type managed_private_endpoint_name: str - :param if_none_match: ETag of the managed private endpoint 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedPrivateEndpointResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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('ManagedPrivateEndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - managed_virtual_network_name: str, - managed_private_endpoint_name: str, - **kwargs - ) -> None: - """Deletes a managed private endpoint. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param managed_private_endpoint_name: Managed private endpoint name. - :type managed_private_endpoint_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_virtual_network_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_virtual_network_operations_async.py deleted file mode 100644 index 2152988d7ef..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_managed_virtual_network_operations_async.py +++ /dev/null @@ -1,255 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ManagedVirtualNetworkOperations: - """ManagedVirtualNetworkOperations 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_factory_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_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.ManagedVirtualNetworkListResponse"]: - """Lists managed Virtual Networks. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedVirtualNetworkListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.ManagedVirtualNetworkListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedVirtualNetworkListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - managed_virtual_network_name: str, - properties: "models.ManagedVirtualNetwork", - if_match: Optional[str] = None, - **kwargs - ) -> "models.ManagedVirtualNetworkResource": - """Creates or updates a managed Virtual Network. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param properties: Managed Virtual Network properties. - :type properties: ~data_factory_management_client.models.ManagedVirtualNetwork - :param if_match: ETag of the managed Virtual Network entity. Should only be specified for - update, for which it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedVirtualNetworkResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - managed_virtual_network = models.ManagedVirtualNetworkResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(managed_virtual_network, 'ManagedVirtualNetworkResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('ManagedVirtualNetworkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - managed_virtual_network_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> "models.ManagedVirtualNetworkResource": - """Gets a managed Virtual Network. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param if_none_match: ETag of the managed Virtual Network 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedVirtualNetworkResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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('ManagedVirtualNetworkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_operation_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_operation_operations_async.py deleted file mode 100644 index 83206d77039..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_operation_operations_async.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 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 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_factory_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 - ) -> AsyncIterable["models.OperationListResponse"]: - """Lists the available Azure Data Factory API operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.OperationListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # 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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationListResponse', 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.DataFactory/operations'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_operations_async.py deleted file mode 100644 index 34c7453f951..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_operations_async.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. -# -------------------------------------------------------------------------- -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 PipelineOperations: - """PipelineOperations 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_factory_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_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.PipelineListResponse"]: - """Lists pipelines. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PipelineListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.PipelineListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('PipelineListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - pipeline_name: str, - pipeline: "models.PipelineResource", - if_match: Optional[str] = None, - **kwargs - ) -> "models.PipelineResource": - """Creates or updates a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_name: str - :param pipeline: Pipeline resource definition. - :type pipeline: ~data_factory_management_client.models.PipelineResource - :param if_match: ETag of the pipeline entity. Should only be specified for update, for which - it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(pipeline, 'PipelineResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PipelineResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - pipeline_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> Optional["models.PipelineResource"]: - """Gets a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_name: str - :param if_none_match: ETag of the pipeline 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.PipelineResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('PipelineResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - pipeline_name: str, - **kwargs - ) -> None: - """Deletes a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore - - async def create_run( - self, - resource_group_name: str, - factory_name: str, - pipeline_name: str, - reference_pipeline_run_id: Optional[str] = None, - is_recovery: Optional[bool] = None, - start_activity_name: Optional[str] = None, - start_from_failure: Optional[bool] = None, - parameters: Optional[Dict[str, object]] = None, - **kwargs - ) -> "models.CreateRunResponse": - """Creates a run of a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_name: str - :param reference_pipeline_run_id: The pipeline run identifier. If run ID is specified the - parameters of the specified run will be used to create a new run. - :type reference_pipeline_run_id: str - :param is_recovery: Recovery mode flag. If recovery mode is set to true, the specified - referenced pipeline run and the new run will be grouped under the same groupId. - :type is_recovery: bool - :param start_activity_name: In recovery mode, the rerun will start from this activity. If not - specified, all activities will run. - :type start_activity_name: str - :param start_from_failure: In recovery mode, if set to true, the rerun will start from failed - activities. The property will be used only if startActivityName is not specified. - :type start_from_failure: bool - :param parameters: Parameters of the pipeline run. These parameters will be used only if the - runId is not specified. - :type parameters: dict[str, object] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CreateRunResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.CreateRunResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.CreateRunResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.create_run.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(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 reference_pipeline_run_id is not None: - query_parameters['referencePipelineRunId'] = self._serialize.query("reference_pipeline_run_id", reference_pipeline_run_id, 'str') - if is_recovery is not None: - query_parameters['isRecovery'] = self._serialize.query("is_recovery", is_recovery, 'bool') - if start_activity_name is not None: - query_parameters['startActivityName'] = self._serialize.query("start_activity_name", start_activity_name, 'str') - if start_from_failure is not None: - query_parameters['startFromFailure'] = self._serialize.query("start_from_failure", start_from_failure, 'bool') - - # 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' - - body_content_kwargs = {} # type: Dict[str, Any] - if parameters is not None: - body_content = self._serialize.body(parameters, '{object}') - 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('CreateRunResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_run_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_run_operations_async.py deleted file mode 100644 index 5cdfd09fe01..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_run_operations_async.py +++ /dev/null @@ -1,243 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 -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 PipelineRunOperations: - """PipelineRunOperations 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_factory_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 query_by_factory( - self, - resource_group_name: str, - factory_name: str, - last_updated_after: datetime.datetime, - last_updated_before: datetime.datetime, - continuation_token_parameter: Optional[str] = None, - filters: Optional[List["models.RunQueryFilter"]] = None, - order_by: Optional[List["models.RunQueryOrderBy"]] = None, - **kwargs - ) -> "models.PipelineRunsQueryResponse": - """Query pipeline runs in the factory based on input filter conditions. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' - format. - :type last_updated_after: ~datetime.datetime - :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' - format. - :type last_updated_before: ~datetime.datetime - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param filters: List of filters. - :type filters: list[~data_factory_management_client.models.RunQueryFilter] - :param order_by: List of OrderBy option. - :type order_by: list[~data_factory_management_client.models.RunQueryOrderBy] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineRunsQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineRunsQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRunsQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.RunFilterParameters(continuation_token=continuation_token_parameter, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') - 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('PipelineRunsQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryPipelineRuns'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - run_id: str, - **kwargs - ) -> "models.PipelineRun": - """Get a pipeline run by its run ID. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param run_id: The pipeline run identifier. - :type run_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineRun, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineRun - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRun"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'runId': self._serialize.url("run_id", run_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' - - 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('PipelineRun', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}'} # type: ignore - - async def cancel( - self, - resource_group_name: str, - factory_name: str, - run_id: str, - is_recursive: Optional[bool] = None, - **kwargs - ) -> None: - """Cancel a pipeline run by its run ID. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param run_id: The pipeline run identifier. - :type run_id: str - :param is_recursive: If true, cancel all the Child pipelines that are triggered by the current - pipeline. - :type is_recursive: 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 = "2018-06-01" - - # Construct URL - url = self.cancel.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'runId': self._serialize.url("run_id", run_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - if is_recursive is not None: - query_parameters['isRecursive'] = self._serialize.query("is_recursive", is_recursive, 'bool') - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/cancel'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_operations_async.py deleted file mode 100644 index f4669b45bc2..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_operations_async.py +++ /dev/null @@ -1,877 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod -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 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_factory_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_factory( - self, - resource_group_name: str, - factory_name: str, - **kwargs - ) -> AsyncIterable["models.TriggerListResponse"]: - """Lists triggers. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either TriggerListResponse or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.TriggerListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('TriggerListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers'} # type: ignore - - async def query_by_factory( - self, - resource_group_name: str, - factory_name: str, - continuation_token_parameter: Optional[str] = None, - parent_trigger_name: Optional[str] = None, - **kwargs - ) -> "models.TriggerQueryResponse": - """Query triggers. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param parent_trigger_name: The name of the parent TumblingWindowTrigger to get the child rerun - triggers. - :type parent_trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.TriggerFilterParameters(continuation_token=continuation_token_parameter, parent_trigger_name=parent_trigger_name) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'TriggerFilterParameters') - 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('TriggerQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/querytriggers'} # type: ignore - - async def create_or_update( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - properties: "models.Trigger", - if_match: Optional[str] = None, - **kwargs - ) -> "models.TriggerResource": - """Creates or updates a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param properties: Properties of the trigger. - :type properties: ~data_factory_management_client.models.Trigger - :param if_match: ETag of the trigger entity. Should only be specified for update, for which it - should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - trigger = models.TriggerResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(trigger, 'TriggerResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('TriggerResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore - - async def get( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - if_none_match: Optional[str] = None, - **kwargs - ) -> Optional["models.TriggerResource"]: - """Gets a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param if_none_match: ETag of the trigger 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('TriggerResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore - - async def delete( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> None: - """Deletes a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The 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 = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore - - async def _subscribe_to_event_initial( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> Optional["models.TriggerSubscriptionOperationStatus"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._subscribe_to_event_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _subscribe_to_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore - - async def begin_subscribe_to_event( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> AsyncLROPoller["models.TriggerSubscriptionOperationStatus"]: - """Subscribe event trigger to events. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._subscribe_to_event_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_subscribe_to_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore - - async def get_event_subscription_status( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> "models.TriggerSubscriptionOperationStatus": - """Get a trigger's event subscription status. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerSubscriptionOperationStatus, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerSubscriptionOperationStatus - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_event_subscription_status.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_event_subscription_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/getEventSubscriptionStatus'} # type: ignore - - async def _unsubscribe_from_event_initial( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> Optional["models.TriggerSubscriptionOperationStatus"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._unsubscribe_from_event_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _unsubscribe_from_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore - - async def begin_unsubscribe_from_event( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> AsyncLROPoller["models.TriggerSubscriptionOperationStatus"]: - """Unsubscribe event trigger from events. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._unsubscribe_from_event_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_unsubscribe_from_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore - - async def _start_initial( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._start_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore - - async def begin_start( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> AsyncLROPoller[None]: - """Starts a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._start_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore - - async def _stop_initial( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._stop_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore - - async def begin_stop( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - **kwargs - ) -> AsyncLROPoller[None]: - """Stops a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = await self._stop_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = AsyncNoPolling() - else: polling_method = polling - if cont_token: - return AsyncLROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_run_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_run_operations_async.py deleted file mode 100644 index 3401f9c95c1..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_run_operations_async.py +++ /dev/null @@ -1,241 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 -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 TriggerRunOperations: - """TriggerRunOperations 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_factory_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 rerun( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - run_id: str, - **kwargs - ) -> None: - """Rerun single trigger instance by runId. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param run_id: The pipeline run identifier. - :type run_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 = "2018-06-01" - - # Construct URL - url = self.rerun.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - 'runId': self._serialize.url("run_id", run_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] - - 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, {}) - - rerun.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/rerun'} # type: ignore - - async def cancel( - self, - resource_group_name: str, - factory_name: str, - trigger_name: str, - run_id: str, - **kwargs - ) -> None: - """Cancel a single trigger instance by runId. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param run_id: The pipeline run identifier. - :type run_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 = "2018-06-01" - - # Construct URL - url = self.cancel.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - 'runId': self._serialize.url("run_id", run_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] - - 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, {}) - - cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/cancel'} # type: ignore - - async def query_by_factory( - self, - resource_group_name: str, - factory_name: str, - last_updated_after: datetime.datetime, - last_updated_before: datetime.datetime, - continuation_token_parameter: Optional[str] = None, - filters: Optional[List["models.RunQueryFilter"]] = None, - order_by: Optional[List["models.RunQueryOrderBy"]] = None, - **kwargs - ) -> "models.TriggerRunsQueryResponse": - """Query trigger runs. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' - format. - :type last_updated_after: ~datetime.datetime - :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' - format. - :type last_updated_before: ~datetime.datetime - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param filters: List of filters. - :type filters: list[~data_factory_management_client.models.RunQueryFilter] - :param order_by: List of OrderBy option. - :type order_by: list[~data_factory_management_client.models.RunQueryOrderBy] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerRunsQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerRunsQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerRunsQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.RunFilterParameters(continuation_token=continuation_token_parameter, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') - 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('TriggerRunsQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py index 1f1ab102631..0e80a0d56d2 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py @@ -157,6 +157,9 @@ from ._models_py3 import CreateDataFlowDebugSessionResponse from ._models_py3 import CreateLinkedIntegrationRuntimeRequest from ._models_py3 import CreateRunResponse + from ._models_py3 import Credential + from ._models_py3 import CredentialReference + from ._models_py3 import CredentialResource from ._models_py3 import CustomActivity from ._models_py3 import CustomActivityReferenceObject from ._models_py3 import CustomDataSourceLinkedService @@ -277,6 +280,7 @@ from ._models_py3 import GetSsisObjectMetadataRequest from ._models_py3 import GitHubAccessTokenRequest from ._models_py3 import GitHubAccessTokenResponse + from ._models_py3 import GitHubClientSecret from ._models_py3 import GlobalParameterSpecification from ._models_py3 import GoogleAdWordsLinkedService from ._models_py3 import GoogleAdWordsObjectDataset @@ -371,6 +375,7 @@ from ._models_py3 import MagentoLinkedService from ._models_py3 import MagentoObjectDataset from ._models_py3 import MagentoSource + from ._models_py3 import ManagedIdentityCredential from ._models_py3 import ManagedIntegrationRuntime from ._models_py3 import ManagedIntegrationRuntimeError from ._models_py3 import ManagedIntegrationRuntimeNode @@ -390,12 +395,14 @@ from ._models_py3 import MarketoLinkedService from ._models_py3 import MarketoObjectDataset from ._models_py3 import MarketoSource + from ._models_py3 import MetadataItem from ._models_py3 import MicrosoftAccessLinkedService from ._models_py3 import MicrosoftAccessSink from ._models_py3 import MicrosoftAccessSource from ._models_py3 import MicrosoftAccessTableDataset from ._models_py3 import MongoDbAtlasCollectionDataset from ._models_py3 import MongoDbAtlasLinkedService + from ._models_py3 import MongoDbAtlasSink from ._models_py3 import MongoDbAtlasSource from ._models_py3 import MongoDbCollectionDataset from ._models_py3 import MongoDbCursorMethodsProperties @@ -403,6 +410,7 @@ from ._models_py3 import MongoDbSource from ._models_py3 import MongoDbV2CollectionDataset from ._models_py3 import MongoDbV2LinkedService + from ._models_py3 import MongoDbV2Sink from ._models_py3 import MongoDbV2Source from ._models_py3 import MultiplePipelineTrigger from ._models_py3 import MySqlLinkedService @@ -551,6 +559,7 @@ from ._models_py3 import ServiceNowLinkedService from ._models_py3 import ServiceNowObjectDataset from ._models_py3 import ServiceNowSource + from ._models_py3 import ServicePrincipalCredential from ._models_py3 import SetVariableActivity from ._models_py3 import SftpLocation from ._models_py3 import SftpReadSettings @@ -822,6 +831,9 @@ from ._models import CreateDataFlowDebugSessionResponse # type: ignore from ._models import CreateLinkedIntegrationRuntimeRequest # type: ignore from ._models import CreateRunResponse # type: ignore + from ._models import Credential # type: ignore + from ._models import CredentialReference # type: ignore + from ._models import CredentialResource # type: ignore from ._models import CustomActivity # type: ignore from ._models import CustomActivityReferenceObject # type: ignore from ._models import CustomDataSourceLinkedService # type: ignore @@ -942,6 +954,7 @@ from ._models import GetSsisObjectMetadataRequest # type: ignore from ._models import GitHubAccessTokenRequest # type: ignore from ._models import GitHubAccessTokenResponse # type: ignore + from ._models import GitHubClientSecret # type: ignore from ._models import GlobalParameterSpecification # type: ignore from ._models import GoogleAdWordsLinkedService # type: ignore from ._models import GoogleAdWordsObjectDataset # type: ignore @@ -1036,6 +1049,7 @@ from ._models import MagentoLinkedService # type: ignore from ._models import MagentoObjectDataset # type: ignore from ._models import MagentoSource # type: ignore + from ._models import ManagedIdentityCredential # type: ignore from ._models import ManagedIntegrationRuntime # type: ignore from ._models import ManagedIntegrationRuntimeError # type: ignore from ._models import ManagedIntegrationRuntimeNode # type: ignore @@ -1055,12 +1069,14 @@ from ._models import MarketoLinkedService # type: ignore from ._models import MarketoObjectDataset # type: ignore from ._models import MarketoSource # type: ignore + from ._models import MetadataItem # type: ignore from ._models import MicrosoftAccessLinkedService # type: ignore from ._models import MicrosoftAccessSink # type: ignore from ._models import MicrosoftAccessSource # type: ignore from ._models import MicrosoftAccessTableDataset # type: ignore from ._models import MongoDbAtlasCollectionDataset # type: ignore from ._models import MongoDbAtlasLinkedService # type: ignore + from ._models import MongoDbAtlasSink # type: ignore from ._models import MongoDbAtlasSource # type: ignore from ._models import MongoDbCollectionDataset # type: ignore from ._models import MongoDbCursorMethodsProperties # type: ignore @@ -1068,6 +1084,7 @@ from ._models import MongoDbSource # type: ignore from ._models import MongoDbV2CollectionDataset # type: ignore from ._models import MongoDbV2LinkedService # type: ignore + from ._models import MongoDbV2Sink # type: ignore from ._models import MongoDbV2Source # type: ignore from ._models import MultiplePipelineTrigger # type: ignore from ._models import MySqlLinkedService # type: ignore @@ -1216,6 +1233,7 @@ from ._models import ServiceNowLinkedService # type: ignore from ._models import ServiceNowObjectDataset # type: ignore from ._models import ServiceNowSource # type: ignore + from ._models import ServicePrincipalCredential # type: ignore from ._models import SetVariableActivity # type: ignore from ._models import SftpLocation # type: ignore from ._models import SftpReadSettings # type: ignore @@ -1356,7 +1374,6 @@ DependencyCondition, DynamicsAuthenticationType, DynamicsDeploymentType, - DynamicsServicePrincipalCredentialType, DynamicsSinkWriteBehavior, EventSubscriptionStatus, FactoryIdentityType, @@ -1410,6 +1427,7 @@ SapTablePartitionOption, SelfHostedIntegrationRuntimeNodeStatus, ServiceNowAuthenticationType, + ServicePrincipalCredentialType, SftpAuthenticationType, SparkAuthenticationType, SparkServerType, @@ -1583,6 +1601,9 @@ 'CreateDataFlowDebugSessionResponse', 'CreateLinkedIntegrationRuntimeRequest', 'CreateRunResponse', + 'Credential', + 'CredentialReference', + 'CredentialResource', 'CustomActivity', 'CustomActivityReferenceObject', 'CustomDataSourceLinkedService', @@ -1703,6 +1724,7 @@ 'GetSsisObjectMetadataRequest', 'GitHubAccessTokenRequest', 'GitHubAccessTokenResponse', + 'GitHubClientSecret', 'GlobalParameterSpecification', 'GoogleAdWordsLinkedService', 'GoogleAdWordsObjectDataset', @@ -1797,6 +1819,7 @@ 'MagentoLinkedService', 'MagentoObjectDataset', 'MagentoSource', + 'ManagedIdentityCredential', 'ManagedIntegrationRuntime', 'ManagedIntegrationRuntimeError', 'ManagedIntegrationRuntimeNode', @@ -1816,12 +1839,14 @@ 'MarketoLinkedService', 'MarketoObjectDataset', 'MarketoSource', + 'MetadataItem', 'MicrosoftAccessLinkedService', 'MicrosoftAccessSink', 'MicrosoftAccessSource', 'MicrosoftAccessTableDataset', 'MongoDbAtlasCollectionDataset', 'MongoDbAtlasLinkedService', + 'MongoDbAtlasSink', 'MongoDbAtlasSource', 'MongoDbCollectionDataset', 'MongoDbCursorMethodsProperties', @@ -1829,6 +1854,7 @@ 'MongoDbSource', 'MongoDbV2CollectionDataset', 'MongoDbV2LinkedService', + 'MongoDbV2Sink', 'MongoDbV2Source', 'MultiplePipelineTrigger', 'MySqlLinkedService', @@ -1977,6 +2003,7 @@ 'ServiceNowLinkedService', 'ServiceNowObjectDataset', 'ServiceNowSource', + 'ServicePrincipalCredential', 'SetVariableActivity', 'SftpLocation', 'SftpReadSettings', @@ -2115,7 +2142,6 @@ 'DependencyCondition', 'DynamicsAuthenticationType', 'DynamicsDeploymentType', - 'DynamicsServicePrincipalCredentialType', 'DynamicsSinkWriteBehavior', 'EventSubscriptionStatus', 'FactoryIdentityType', @@ -2169,6 +2195,7 @@ 'SapTablePartitionOption', 'SelfHostedIntegrationRuntimeNodeStatus', 'ServiceNowAuthenticationType', + 'ServicePrincipalCredentialType', 'SftpAuthenticationType', 'SparkAuthenticationType', 'SparkServerType', diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py index 1e1c0d92c7d..c2e10492cd4 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py @@ -77,14 +77,16 @@ class CassandraSourceReadConsistencyLevels(with_metaclass(_CaseInsensitiveEnumMe LOCAL_SERIAL = "LOCAL_SERIAL" class CompressionCodec(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """All available compressionCodec values. + """ NONE = "none" - GZIP = "gzip" - SNAPPY = "snappy" LZO = "lzo" BZIP2 = "bzip2" + GZIP = "gzip" DEFLATE = "deflate" ZIP_DEFLATE = "zipDeflate" + SNAPPY = "snappy" LZ4 = "lz4" TAR = "tar" TAR_G_ZIP = "tarGZip" @@ -174,9 +176,7 @@ class DependencyCondition(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): COMPLETED = "Completed" class DynamicsAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' - for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in - online scenario. Type: string (or Expression with resultType string). + """All available dynamicsAuthenticationType values. """ OFFICE365 = "Office365" @@ -184,23 +184,12 @@ class DynamicsAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, E AAD_SERVICE_PRINCIPAL = "AADServicePrincipal" class DynamicsDeploymentType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The deployment type of the Dynamics instance. 'Online' for Dynamics Online and - 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with - resultType string). + """All available dynamicsDeploymentType values. """ ONLINE = "Online" ON_PREMISES_WITH_IFD = "OnPremisesWithIfd" -class DynamicsServicePrincipalCredentialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The service principal credential type to use in Server-To-Server authentication. - 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or - Expression with resultType string). - """ - - SERVICE_PRINCIPAL_KEY = "ServicePrincipalKey" - SERVICE_PRINCIPAL_CERT = "ServicePrincipalCert" - class DynamicsSinkWriteBehavior(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Defines values for DynamicsSinkWriteBehavior. """ @@ -267,7 +256,7 @@ class HBaseAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum BASIC = "Basic" class HdiNodeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The node types on which the script action should be executed. + """All available HdiNodeTypes values. """ HEADNODE = "Headnode" @@ -417,8 +406,7 @@ class JsonFormatFilePattern(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)) ARRAY_OF_OBJECTS = "arrayOfObjects" class JsonWriteFilePattern(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """File pattern of JSON. This setting controls the way a collection of JSON objects will be - treated. The default value is 'setOfObjects'. It is case-sensitive. + """All available filePatterns. """ SET_OF_OBJECTS = "setOfObjects" @@ -661,6 +649,13 @@ class ServiceNowAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, BASIC = "Basic" O_AUTH2 = "OAuth2" +class ServicePrincipalCredentialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """All available servicePrincipalCredentialType values. + """ + + SERVICE_PRINCIPAL_KEY = "ServicePrincipalKey" + SERVICE_PRINCIPAL_CERT = "ServicePrincipalCert" + class SftpAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The authentication type to be used to connect to the FTP server. """ diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py index e97fd0ab305..2686112b687 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py @@ -634,6 +634,9 @@ class CopySource(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -646,6 +649,7 @@ class CopySource(msrest.serialization.Model): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } _subtype_map = { @@ -662,6 +666,7 @@ def __init__( self.source_retry_count = kwargs.get('source_retry_count', None) self.source_retry_wait = kwargs.get('source_retry_wait', None) self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + self.disable_metrics_collection = kwargs.get('disable_metrics_collection', None) class TabularSource(CopySource): @@ -686,6 +691,9 @@ class TabularSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -704,6 +712,7 @@ class TabularSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -741,6 +750,9 @@ class AmazonMwsSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -762,6 +774,7 @@ class AmazonMwsSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -868,6 +881,9 @@ class AmazonRedshiftSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -892,6 +908,7 @@ class AmazonRedshiftSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -1156,6 +1173,9 @@ class StoreReadSettings(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -1166,6 +1186,7 @@ class StoreReadSettings(msrest.serialization.Model): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } _subtype_map = { @@ -1180,6 +1201,7 @@ def __init__( self.additional_properties = kwargs.get('additional_properties', None) self.type = 'StoreReadSettings' # type: str self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + self.disable_metrics_collection = kwargs.get('disable_metrics_collection', None) class AmazonS3CompatibleReadSettings(StoreReadSettings): @@ -1195,6 +1217,9 @@ class AmazonS3CompatibleReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -1235,6 +1260,7 @@ class AmazonS3CompatibleReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -1490,6 +1516,9 @@ class AmazonS3ReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -1530,6 +1559,7 @@ class AmazonS3ReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -1664,10 +1694,9 @@ class AvroDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the avro storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param avro_compression_codec: Possible values include: "none", "deflate", "snappy", "xz", - "bzip2". - :type avro_compression_codec: str or - ~data_factory_management_client.models.AvroCompressionCodec + :param avro_compression_codec: The data avroCompressionCodec. Type: string (or Expression with + resultType string). + :type avro_compression_codec: object :param avro_compression_level: :type avro_compression_level: int """ @@ -1689,7 +1718,7 @@ class AvroDataset(Dataset): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, - 'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'str'}, + 'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'object'}, 'avro_compression_level': {'key': 'typeProperties.avroCompressionLevel', 'type': 'int'}, } @@ -1788,7 +1817,7 @@ class CopySink(msrest.serialization.Model): """A copy activity sink. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureDatabricksDeltaLakeSink, AzureMySqlSink, AzurePostgreSqlSink, AzureQueueSink, AzureSearchIndexSink, AzureSqlSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDbMongoDbApiSink, CosmosDbSqlApiSink, DelimitedTextSink, DocumentDbCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SqlDwSink, SqlMiSink, SqlServerSink, SqlSink. + sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureDatabricksDeltaLakeSink, AzureMySqlSink, AzurePostgreSqlSink, AzureQueueSink, AzureSearchIndexSink, AzureSqlSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDbMongoDbApiSink, CosmosDbSqlApiSink, DelimitedTextSink, DocumentDbCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, MongoDbAtlasSink, MongoDbV2Sink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SqlDwSink, SqlMiSink, SqlServerSink, SqlSink. All required parameters must be populated in order to send to Azure. @@ -1812,6 +1841,9 @@ class CopySink(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -1826,10 +1858,11 @@ class CopySink(msrest.serialization.Model): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } _subtype_map = { - 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureDatabricksDeltaLakeSink': 'AzureDatabricksDeltaLakeSink', 'AzureMySqlSink': 'AzureMySqlSink', 'AzurePostgreSqlSink': 'AzurePostgreSqlSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSqlSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDbMongoDbApiSink', 'CosmosDbSqlApiSink': 'CosmosDbSqlApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDbCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SqlDwSink', 'SqlMISink': 'SqlMiSink', 'SqlServerSink': 'SqlServerSink', 'SqlSink': 'SqlSink'} + 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureDatabricksDeltaLakeSink': 'AzureDatabricksDeltaLakeSink', 'AzureMySqlSink': 'AzureMySqlSink', 'AzurePostgreSqlSink': 'AzurePostgreSqlSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSqlSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDbMongoDbApiSink', 'CosmosDbSqlApiSink': 'CosmosDbSqlApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDbCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'MongoDbAtlasSink': 'MongoDbAtlasSink', 'MongoDbV2Sink': 'MongoDbV2Sink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SqlDwSink', 'SqlMISink': 'SqlMiSink', 'SqlServerSink': 'SqlServerSink', 'SqlSink': 'SqlSink'} } def __init__( @@ -1844,6 +1877,7 @@ def __init__( self.sink_retry_count = kwargs.get('sink_retry_count', None) self.sink_retry_wait = kwargs.get('sink_retry_wait', None) self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + self.disable_metrics_collection = kwargs.get('disable_metrics_collection', None) class AvroSink(CopySink): @@ -1871,6 +1905,9 @@ class AvroSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Avro store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: Avro format settings. @@ -1889,6 +1926,7 @@ class AvroSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'AvroWriteSettings'}, } @@ -1922,6 +1960,9 @@ class AvroSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Avro store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -1939,6 +1980,7 @@ class AvroSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -2135,6 +2177,8 @@ class AzureBatchLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -2158,6 +2202,7 @@ class AzureBatchLinkedService(LinkedService): 'pool_name': {'key': 'typeProperties.poolName', 'type': 'object'}, 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -2172,6 +2217,7 @@ def __init__( self.pool_name = kwargs['pool_name'] self.linked_service_name = kwargs['linked_service_name'] self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.credential = kwargs.get('credential', None) class AzureBlobDataset(Dataset): @@ -2374,6 +2420,8 @@ class AzureBlobFsLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -2395,6 +2443,7 @@ class AzureBlobFsLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -2410,6 +2459,7 @@ def __init__( self.tenant = kwargs.get('tenant', None) self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.credential = kwargs.get('credential', None) class AzureBlobFsLocation(DatasetLocation): @@ -2467,6 +2517,9 @@ class AzureBlobFsReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -2504,6 +2557,7 @@ class AzureBlobFsReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -2557,8 +2611,14 @@ class AzureBlobFsSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object + :param metadata: Specify the custom metadata to be added to sink data. Type: array of objects + (or Expression with resultType array of objects). + :type metadata: list[~data_factory_management_client.models.MetadataItem] """ _validation = { @@ -2573,7 +2633,9 @@ class AzureBlobFsSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': '[MetadataItem]'}, } def __init__( @@ -2583,6 +2645,7 @@ def __init__( super(AzureBlobFsSink, self).__init__(**kwargs) self.type = 'AzureBlobFSSink' # type: str self.copy_behavior = kwargs.get('copy_behavior', None) + self.metadata = kwargs.get('metadata', None) class AzureBlobFsSource(CopySource): @@ -2604,6 +2667,9 @@ class AzureBlobFsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType boolean). :type treat_empty_as_null: object @@ -2625,6 +2691,7 @@ class AzureBlobFsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'}, 'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, @@ -2657,6 +2724,9 @@ class StoreWriteSettings(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -2669,6 +2739,7 @@ class StoreWriteSettings(msrest.serialization.Model): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -2684,6 +2755,7 @@ def __init__( self.additional_properties = kwargs.get('additional_properties', None) self.type = 'StoreWriteSettings' # type: str self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + self.disable_metrics_collection = kwargs.get('disable_metrics_collection', None) self.copy_behavior = kwargs.get('copy_behavior', None) @@ -2700,6 +2772,9 @@ class AzureBlobFsWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer @@ -2715,6 +2790,7 @@ class AzureBlobFsWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'}, } @@ -2781,6 +2857,8 @@ class AzureBlobStorageLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: str + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -2805,6 +2883,7 @@ class AzureBlobStorageLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'account_kind': {'key': 'typeProperties.accountKind', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -2824,6 +2903,7 @@ def __init__( self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.account_kind = kwargs.get('account_kind', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.credential = kwargs.get('credential', None) class AzureBlobStorageLocation(DatasetLocation): @@ -2881,6 +2961,9 @@ class AzureBlobStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -2921,6 +3004,7 @@ class AzureBlobStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -2964,6 +3048,9 @@ class AzureBlobStorageWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer @@ -2979,6 +3066,7 @@ class AzureBlobStorageWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'}, } @@ -3296,6 +3384,9 @@ class AzureDatabricksDeltaLakeSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -3316,6 +3407,7 @@ class AzureDatabricksDeltaLakeSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, 'import_settings': {'key': 'importSettings', 'type': 'AzureDatabricksDeltaLakeImportCommand'}, } @@ -3349,6 +3441,9 @@ class AzureDatabricksDeltaLakeSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Azure Databricks Delta Lake Sql query. Type: string (or Expression with resultType string). :type query: object @@ -3367,6 +3462,7 @@ class AzureDatabricksDeltaLakeSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'export_settings': {'key': 'exportSettings', 'type': 'AzureDatabricksDeltaLakeExportCommand'}, } @@ -3464,6 +3560,8 @@ class AzureDatabricksLinkedService(LinkedService): :param policy_id: The policy id for limiting the ability to configure clusters based on a user defined set of rules. Type: string (or Expression with resultType string). :type policy_id: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -3496,6 +3594,7 @@ class AzureDatabricksLinkedService(LinkedService): 'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, 'policy_id': {'key': 'typeProperties.policyId', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -3522,6 +3621,7 @@ def __init__( self.new_cluster_enable_elastic_disk = kwargs.get('new_cluster_enable_elastic_disk', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) self.policy_id = kwargs.get('policy_id', None) + self.credential = kwargs.get('credential', None) class ExecutionActivity(Activity): @@ -3674,6 +3774,8 @@ class AzureDataExplorerLinkedService(LinkedService): :param tenant: The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). :type tenant: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -3694,6 +3796,7 @@ class AzureDataExplorerLinkedService(LinkedService): 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'database': {'key': 'typeProperties.database', 'type': 'object'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -3707,6 +3810,7 @@ def __init__( self.service_principal_key = kwargs.get('service_principal_key', None) self.database = kwargs['database'] self.tenant = kwargs.get('tenant', None) + self.credential = kwargs.get('credential', None) class AzureDataExplorerSink(CopySink): @@ -3734,6 +3838,9 @@ class AzureDataExplorerSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param ingestion_mapping_name: A name of a pre-created csv mapping that was defined on the target Kusto table. Type: string. :type ingestion_mapping_name: object @@ -3757,6 +3864,7 @@ class AzureDataExplorerSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'ingestion_mapping_name': {'key': 'ingestionMappingName', 'type': 'object'}, 'ingestion_mapping_as_json': {'key': 'ingestionMappingAsJson', 'type': 'object'}, 'flush_immediately': {'key': 'flushImmediately', 'type': 'object'}, @@ -3792,6 +3900,9 @@ class AzureDataExplorerSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Required. Database query. Should be a Kusto Query Language (KQL) query. Type: string (or Expression with resultType string). :type query: object @@ -3817,6 +3928,7 @@ class AzureDataExplorerSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'no_truncation': {'key': 'noTruncation', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, @@ -4098,6 +4210,8 @@ class AzureDataLakeStoreLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -4121,6 +4235,7 @@ class AzureDataLakeStoreLinkedService(LinkedService): 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -4138,6 +4253,7 @@ def __init__( self.subscription_id = kwargs.get('subscription_id', None) self.resource_group_name = kwargs.get('resource_group_name', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.credential = kwargs.get('credential', None) class AzureDataLakeStoreLocation(DatasetLocation): @@ -4190,6 +4306,9 @@ class AzureDataLakeStoreReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -4235,6 +4354,7 @@ class AzureDataLakeStoreReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -4292,6 +4412,9 @@ class AzureDataLakeStoreSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param enable_adls_single_file_parallel: Single File Parallel. @@ -4310,6 +4433,7 @@ class AzureDataLakeStoreSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'enable_adls_single_file_parallel': {'key': 'enableAdlsSingleFileParallel', 'type': 'object'}, } @@ -4343,6 +4467,9 @@ class AzureDataLakeStoreSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -4358,6 +4485,7 @@ class AzureDataLakeStoreSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, } @@ -4383,6 +4511,9 @@ class AzureDataLakeStoreWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param expiry_date_time: Specifies the expiry time of the written files. The time is applied to @@ -4399,6 +4530,7 @@ class AzureDataLakeStoreWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'expiry_date_time': {'key': 'expiryDateTime', 'type': 'object'}, } @@ -4550,6 +4682,9 @@ class AzureFileStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -4590,6 +4725,7 @@ class AzureFileStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -4633,6 +4769,9 @@ class AzureFileStorageWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -4645,6 +4784,7 @@ class AzureFileStorageWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -4754,6 +4894,13 @@ class AzureFunctionLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference + :param resource_id: Allowed token audiences for azure function. + :type resource_id: object + :param authentication: Type of authentication (Required to specify MSI) used to connect to + AzureFunction. Type: string (or Expression with resultType string). + :type authentication: object """ _validation = { @@ -4771,6 +4918,9 @@ class AzureFunctionLinkedService(LinkedService): 'function_app_url': {'key': 'typeProperties.functionAppUrl', 'type': 'object'}, 'function_key': {'key': 'typeProperties.functionKey', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, + 'resource_id': {'key': 'typeProperties.resourceId', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'object'}, } def __init__( @@ -4782,6 +4932,9 @@ def __init__( self.function_app_url = kwargs['function_app_url'] self.function_key = kwargs.get('function_key', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.credential = kwargs.get('credential', None) + self.resource_id = kwargs.get('resource_id', None) + self.authentication = kwargs.get('authentication', None) class AzureKeyVaultLinkedService(LinkedService): @@ -4805,6 +4958,8 @@ class AzureKeyVaultLinkedService(LinkedService): :param base_url: Required. The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string). :type base_url: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -4820,6 +4975,7 @@ class AzureKeyVaultLinkedService(LinkedService): 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, 'base_url': {'key': 'typeProperties.baseUrl', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -4829,6 +4985,7 @@ def __init__( super(AzureKeyVaultLinkedService, self).__init__(**kwargs) self.type = 'AzureKeyVault' # type: str self.base_url = kwargs['base_url'] + self.credential = kwargs.get('credential', None) class SecretBase(msrest.serialization.Model): @@ -4979,6 +5136,9 @@ class AzureMariaDbSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -5000,6 +5160,7 @@ class AzureMariaDbSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -5278,6 +5439,9 @@ class AzureMlLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param authentication: Type of authentication (Required to specify MSI) used to connect to + AzureML. Type: string (or Expression with resultType string). + :type authentication: object """ _validation = { @@ -5300,6 +5464,7 @@ class AzureMlLinkedService(LinkedService): 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'object'}, } def __init__( @@ -5315,6 +5480,7 @@ def __init__( self.service_principal_key = kwargs.get('service_principal_key', None) self.tenant = kwargs.get('tenant', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.authentication = kwargs.get('authentication', None) class AzureMlServiceLinkedService(LinkedService): @@ -5580,6 +5746,9 @@ class AzureMySqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -5597,6 +5766,7 @@ class AzureMySqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -5628,6 +5798,9 @@ class AzureMySqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -5648,6 +5821,7 @@ class AzureMySqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -5807,6 +5981,9 @@ class AzurePostgreSqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -5824,6 +6001,7 @@ class AzurePostgreSqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -5855,6 +6033,9 @@ class AzurePostgreSqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -5876,6 +6057,7 @@ class AzurePostgreSqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -5984,6 +6166,9 @@ class AzureQueueSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -5998,6 +6183,7 @@ class AzureQueueSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } def __init__( @@ -6093,6 +6279,9 @@ class AzureSearchIndexSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Specify the write behavior when upserting documents into Azure Search Index. Possible values include: "Merge", "Upload". :type write_behavior: str or @@ -6111,6 +6300,7 @@ class AzureSearchIndexSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, } @@ -6223,6 +6413,8 @@ class AzureSqlDatabaseLinkedService(LinkedService): :param always_encrypted_settings: Sql always encrypted properties. :type always_encrypted_settings: ~data_factory_management_client.models.SqlAlwaysEncryptedProperties + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -6245,6 +6437,7 @@ class AzureSqlDatabaseLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -6261,6 +6454,7 @@ def __init__( self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) self.always_encrypted_settings = kwargs.get('always_encrypted_settings', None) + self.credential = kwargs.get('credential', None) class AzureSqlDwLinkedService(LinkedService): @@ -6303,6 +6497,8 @@ class AzureSqlDwLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -6324,6 +6520,7 @@ class AzureSqlDwLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -6339,6 +6536,7 @@ def __init__( self.tenant = kwargs.get('tenant', None) self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.credential = kwargs.get('credential', None) class AzureSqlDwTableDataset(Dataset): @@ -6453,6 +6651,8 @@ class AzureSqlMiLinkedService(LinkedService): :param always_encrypted_settings: Sql always encrypted properties. :type always_encrypted_settings: ~data_factory_management_client.models.SqlAlwaysEncryptedProperties + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -6475,6 +6675,7 @@ class AzureSqlMiLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -6491,6 +6692,7 @@ def __init__( self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) self.always_encrypted_settings = kwargs.get('always_encrypted_settings', None) + self.credential = kwargs.get('credential', None) class AzureSqlMiTableDataset(Dataset): @@ -6587,6 +6789,9 @@ class AzureSqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -6619,6 +6824,7 @@ class AzureSqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -6660,6 +6866,9 @@ class AzureSqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -6695,6 +6904,7 @@ class AzureSqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -6938,6 +7148,9 @@ class AzureTableSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param azure_table_default_partition_key_value: Azure Table default partition key value. Type: string (or Expression with resultType string). :type azure_table_default_partition_key_value: object @@ -6964,6 +7177,7 @@ class AzureTableSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'azure_table_default_partition_key_value': {'key': 'azureTableDefaultPartitionKeyValue', 'type': 'object'}, 'azure_table_partition_key_name': {'key': 'azureTablePartitionKeyName', 'type': 'object'}, 'azure_table_row_key_name': {'key': 'azureTableRowKeyName', 'type': 'object'}, @@ -7001,6 +7215,9 @@ class AzureTableSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -7025,6 +7242,7 @@ class AzureTableSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'azure_table_source_query': {'key': 'azureTableSourceQuery', 'type': 'object'}, @@ -7263,6 +7481,9 @@ class BinarySink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Binary store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings """ @@ -7279,6 +7500,7 @@ class BinarySink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, } @@ -7310,6 +7532,9 @@ class BinarySource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Binary store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: Binary format settings. @@ -7326,6 +7551,7 @@ class BinarySource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'BinaryReadSettings'}, } @@ -7543,6 +7769,9 @@ class BlobSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param blob_writer_overwrite_files: Blob writer overwrite files. Type: boolean (or Expression with resultType boolean). :type blob_writer_overwrite_files: object @@ -7554,6 +7783,9 @@ class BlobSink(CopySink): :type blob_writer_add_header: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object + :param metadata: Specify the custom metadata to be added to sink data. Type: array of objects + (or Expression with resultType array of objects). + :type metadata: list[~data_factory_management_client.models.MetadataItem] """ _validation = { @@ -7568,10 +7800,12 @@ class BlobSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'blob_writer_overwrite_files': {'key': 'blobWriterOverwriteFiles', 'type': 'object'}, 'blob_writer_date_time_format': {'key': 'blobWriterDateTimeFormat', 'type': 'object'}, 'blob_writer_add_header': {'key': 'blobWriterAddHeader', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': '[MetadataItem]'}, } def __init__( @@ -7584,6 +7818,7 @@ def __init__( self.blob_writer_date_time_format = kwargs.get('blob_writer_date_time_format', None) self.blob_writer_add_header = kwargs.get('blob_writer_add_header', None) self.copy_behavior = kwargs.get('copy_behavior', None) + self.metadata = kwargs.get('metadata', None) class BlobSource(CopySource): @@ -7605,6 +7840,9 @@ class BlobSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType boolean). :type treat_empty_as_null: object @@ -7626,6 +7864,7 @@ class BlobSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'}, 'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, @@ -7794,6 +8033,9 @@ class CassandraSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -7823,6 +8065,7 @@ class CassandraSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -8140,8 +8383,8 @@ class CommonDataServiceForAppsLinkedService(LinkedService): :param deployment_type: Required. The deployment type of the Common Data Service for Apps instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType - string). Possible values include: "Online", "OnPremisesWithIfd". - :type deployment_type: str or ~data_factory_management_client.models.DynamicsDeploymentType + string). + :type deployment_type: object :param host_name: The host name of the on-premises Common Data Service for Apps server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). @@ -8162,10 +8405,8 @@ class CommonDataServiceForAppsLinkedService(LinkedService): :param authentication_type: Required. The authentication type to connect to Common Data Service for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or - Expression with resultType string). Possible values include: "Office365", "Ifd", - "AADServicePrincipal". - :type authentication_type: str or - ~data_factory_management_client.models.DynamicsAuthenticationType + Expression with resultType string). + :type authentication_type: object :param username: User name to access the Common Data Service for Apps instance. Type: string (or Expression with resultType string). :type username: object @@ -8176,10 +8417,8 @@ class CommonDataServiceForAppsLinkedService(LinkedService): :type service_principal_id: object :param service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' - for certificate. Type: string (or Expression with resultType string). Possible values include: - "ServicePrincipalKey", "ServicePrincipalCert". - :type service_principal_credential_type: str or - ~data_factory_management_client.models.DynamicsServicePrincipalCredentialType + for certificate. Type: string (or Expression with resultType string). + :type service_principal_credential_type: object :param service_principal_credential: The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If @@ -8205,16 +8444,16 @@ class CommonDataServiceForAppsLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, - 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'object'}, 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, 'port': {'key': 'typeProperties.port', 'type': 'object'}, 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, - 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, - 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'}, 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -8264,6 +8503,9 @@ class CommonDataServiceForAppsSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Required. The write behavior for the operation. Possible values include: "Upsert". :type write_behavior: str or ~data_factory_management_client.models.DynamicsSinkWriteBehavior @@ -8289,6 +8531,7 @@ class CommonDataServiceForAppsSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, 'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'}, @@ -8324,6 +8567,9 @@ class CommonDataServiceForAppsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: FetchXML is a proprietary query language that is used in Microsoft Common Data Service for Apps (online & on-premises). Type: string (or Expression with resultType string). :type query: object @@ -8342,6 +8588,7 @@ class CommonDataServiceForAppsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -8587,6 +8834,9 @@ class ConcurSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -8608,6 +8858,7 @@ class ConcurSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -9130,6 +9381,9 @@ class CosmosDbMongoDbApiSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Specifies whether the document with same key to be overwritten (upsert) rather than throw exception (insert). The default value is "insert". Type: string (or Expression with resultType string). Type: string (or Expression with resultType string). @@ -9148,6 +9402,7 @@ class CosmosDbMongoDbApiSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, } @@ -9179,6 +9434,9 @@ class CosmosDbMongoDbApiSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param filter: Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). @@ -9208,6 +9466,7 @@ class CosmosDbMongoDbApiSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, @@ -9313,6 +9572,9 @@ class CosmosDbSqlApiSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert. :type write_behavior: object @@ -9330,6 +9592,7 @@ class CosmosDbSqlApiSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, } @@ -9361,6 +9624,9 @@ class CosmosDbSqlApiSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: SQL API query. Type: string (or Expression with resultType string). :type query: object :param page_size: Page size of the result. Type: integer (or Expression with resultType @@ -9387,6 +9653,7 @@ class CosmosDbSqlApiSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'page_size': {'key': 'pageSize', 'type': 'object'}, 'preferred_regions': {'key': 'preferredRegions', 'type': 'object'}, @@ -9482,6 +9749,9 @@ class CouchbaseSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -9503,6 +9773,7 @@ class CouchbaseSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -9691,6 +9962,172 @@ def __init__( self.run_id = kwargs['run_id'] +class Credential(msrest.serialization.Model): + """The Azure Data Factory nested object which contains the information and credential which can be used to connect with related store or compute resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIdentityCredential, ServicePrincipalCredential. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of credential.Constant filled by server. + :type type: str + :param description: Credential description. + :type description: str + :param annotations: List of tags that can be used for describing the Credential. + :type annotations: list[object] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + } + + _subtype_map = { + 'type': {'ManagedIdentity': 'ManagedIdentityCredential', 'ServicePrincipal': 'ServicePrincipalCredential'} + } + + def __init__( + self, + **kwargs + ): + super(Credential, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'Credential' # type: str + self.description = kwargs.get('description', None) + self.annotations = kwargs.get('annotations', None) + + +class CredentialReference(msrest.serialization.Model): + """Credential reference 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. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar type: Required. Credential reference type. Default value: "CredentialReference". + :vartype type: str + :param reference_name: Required. Reference credential name. + :type reference_name: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + type = "CredentialReference" + + def __init__( + self, + **kwargs + ): + super(CredentialReference, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.reference_name = kwargs['reference_name'] + + +class SubResource(msrest.serialization.Model): + """Azure Data Factory 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 CredentialResource(SubResource): + """Credential 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. Properties of credentials. + :type properties: ~data_factory_management_client.models.Credential + """ + + _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': 'Credential'}, + } + + def __init__( + self, + **kwargs + ): + super(CredentialResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + class CustomActivity(ExecutionActivity): """Custom activity type. @@ -10546,46 +10983,6 @@ def __init__( self.dataset_parameters = kwargs.get('dataset_parameters', None) -class SubResource(msrest.serialization.Model): - """Azure Data Factory 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 DataFlowResource(SubResource): """Data flow resource type. @@ -10999,8 +11396,8 @@ class DatasetDeflateCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The Deflate compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The Deflate compression level. + :type level: object """ _validation = { @@ -11010,7 +11407,7 @@ class DatasetDeflateCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( @@ -11051,8 +11448,8 @@ class DatasetGZipCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The GZip compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The GZip compression level. + :type level: object """ _validation = { @@ -11062,7 +11459,7 @@ class DatasetGZipCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( @@ -11250,8 +11647,8 @@ class DatasetTarGZipCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The TarGZip compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The TarGZip compression level. + :type level: object """ _validation = { @@ -11261,7 +11658,7 @@ class DatasetTarGZipCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( @@ -11283,8 +11680,8 @@ class DatasetZipDeflateCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The ZipDeflate compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The ZipDeflate compression level. + :type level: object """ _validation = { @@ -11294,7 +11691,7 @@ class DatasetZipDeflateCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( @@ -11413,6 +11810,9 @@ class Db2Source(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -11433,6 +11833,7 @@ class Db2Source(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -11652,12 +12053,11 @@ class DelimitedTextDataset(Dataset): https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with resultType string). :type encoding_name: object - :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4", "tar", "tarGZip". - :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec - :param compression_level: The data compression method used for DelimitedText. Possible values - include: "Optimal", "Fastest". - :type compression_level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param compression_codec: The data compressionCodec. Type: string (or Expression with + resultType string). + :type compression_codec: object + :param compression_level: The data compression method used for DelimitedText. + :type compression_level: object :param quote_char: The quote character. Type: string (or Expression with resultType string). :type quote_char: object :param escape_char: The escape character. Type: string (or Expression with resultType string). @@ -11689,8 +12089,8 @@ class DelimitedTextDataset(Dataset): 'column_delimiter': {'key': 'typeProperties.columnDelimiter', 'type': 'object'}, 'row_delimiter': {'key': 'typeProperties.rowDelimiter', 'type': 'object'}, 'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'}, - 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, - 'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'str'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'object'}, + 'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'object'}, 'quote_char': {'key': 'typeProperties.quoteChar', 'type': 'object'}, 'escape_char': {'key': 'typeProperties.escapeChar', 'type': 'object'}, 'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'}, @@ -11778,6 +12178,9 @@ class DelimitedTextSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: DelimitedText store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: DelimitedText format settings. @@ -11796,6 +12199,7 @@ class DelimitedTextSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextWriteSettings'}, } @@ -11829,6 +12233,9 @@ class DelimitedTextSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: DelimitedText store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: DelimitedText format settings. @@ -11848,6 +12255,7 @@ class DelimitedTextSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -12070,6 +12478,9 @@ class DocumentDbCollectionSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param nesting_separator: Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string). :type nesting_separator: object @@ -12090,6 +12501,7 @@ class DocumentDbCollectionSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, } @@ -12123,6 +12535,9 @@ class DocumentDbCollectionSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Documents query. Type: string (or Expression with resultType string). :type query: object :param nesting_separator: Nested properties separator. Type: string (or Expression with @@ -12146,6 +12561,7 @@ class DocumentDbCollectionSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, @@ -12239,6 +12655,9 @@ class DrillSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -12260,6 +12679,7 @@ class DrillSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -12552,6 +12972,9 @@ class DynamicsAxSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -12578,6 +13001,7 @@ class DynamicsAxSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -12673,9 +13097,8 @@ class DynamicsCrmLinkedService(LinkedService): :type annotations: list[object] :param deployment_type: Required. The deployment type of the Dynamics CRM instance. 'Online' for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: - string (or Expression with resultType string). Possible values include: "Online", - "OnPremisesWithIfd". - :type deployment_type: str or ~data_factory_management_client.models.DynamicsDeploymentType + string (or Expression with resultType string). + :type deployment_type: object :param host_name: The host name of the on-premises Dynamics CRM server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). @@ -12694,10 +13117,8 @@ class DynamicsCrmLinkedService(LinkedService): :param authentication_type: Required. The authentication type to connect to Dynamics CRM server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or - Expression with resultType string). Possible values include: "Office365", "Ifd", - "AADServicePrincipal". - :type authentication_type: str or - ~data_factory_management_client.models.DynamicsAuthenticationType + Expression with resultType string). + :type authentication_type: object :param username: User name to access the Dynamics CRM instance. Type: string (or Expression with resultType string). :type username: object @@ -12708,10 +13129,8 @@ class DynamicsCrmLinkedService(LinkedService): :type service_principal_id: object :param service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' - for certificate. Type: string (or Expression with resultType string). Possible values include: - "ServicePrincipalKey", "ServicePrincipalCert". - :type service_principal_credential_type: str or - ~data_factory_management_client.models.DynamicsServicePrincipalCredentialType + for certificate. Type: string (or Expression with resultType string). + :type service_principal_credential_type: object :param service_principal_credential: The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If @@ -12737,16 +13156,16 @@ class DynamicsCrmLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, - 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'object'}, 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, 'port': {'key': 'typeProperties.port', 'type': 'object'}, 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, - 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, - 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'}, 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -12796,6 +13215,9 @@ class DynamicsCrmSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Required. The write behavior for the operation. Possible values include: "Upsert". :type write_behavior: str or ~data_factory_management_client.models.DynamicsSinkWriteBehavior @@ -12821,6 +13243,7 @@ class DynamicsCrmSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, 'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'}, @@ -12856,6 +13279,9 @@ class DynamicsCrmSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string). :type query: object @@ -12874,6 +13300,7 @@ class DynamicsCrmSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -12967,8 +13394,8 @@ class DynamicsLinkedService(LinkedService): :type annotations: list[object] :param deployment_type: Required. The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or - Expression with resultType string). Possible values include: "Online", "OnPremisesWithIfd". - :type deployment_type: str or ~data_factory_management_client.models.DynamicsDeploymentType + Expression with resultType string). + :type deployment_type: object :param host_name: The host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). :type host_name: object @@ -12986,9 +13413,8 @@ class DynamicsLinkedService(LinkedService): :param authentication_type: Required. The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with - resultType string). Possible values include: "Office365", "Ifd", "AADServicePrincipal". - :type authentication_type: str or - ~data_factory_management_client.models.DynamicsAuthenticationType + resultType string). + :type authentication_type: object :param username: User name to access the Dynamics instance. Type: string (or Expression with resultType string). :type username: object @@ -12999,10 +13425,8 @@ class DynamicsLinkedService(LinkedService): :type service_principal_id: object :param service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' - for certificate. Type: string (or Expression with resultType string). Possible values include: - "ServicePrincipalKey", "ServicePrincipalCert". - :type service_principal_credential_type: str or - ~data_factory_management_client.models.DynamicsServicePrincipalCredentialType + for certificate. Type: string (or Expression with resultType string). + :type service_principal_credential_type: str :param service_principal_credential: The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If @@ -13028,12 +13452,12 @@ class DynamicsLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, - 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'object'}, 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, 'port': {'key': 'typeProperties.port', 'type': 'object'}, 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, - 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, @@ -13087,6 +13511,9 @@ class DynamicsSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Required. The write behavior for the operation. Possible values include: "Upsert". :type write_behavior: str or ~data_factory_management_client.models.DynamicsSinkWriteBehavior @@ -13112,6 +13539,7 @@ class DynamicsSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, 'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'}, @@ -13147,6 +13575,9 @@ class DynamicsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string). :type query: object @@ -13165,6 +13596,7 @@ class DynamicsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -13334,6 +13766,9 @@ class EloquaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -13355,6 +13790,7 @@ class EloquaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -13498,9 +13934,12 @@ class ExcelDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the excel storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param sheet_name: The sheet of excel file. Type: string (or Expression with resultType + :param sheet_name: The sheet name of excel file. Type: string (or Expression with resultType string). :type sheet_name: object + :param sheet_index: The sheet index of excel file and default value is 0. Type: integer (or + Expression with resultType integer). + :type sheet_index: object :param range: The partial data of one sheet. Type: string (or Expression with resultType string). :type range: object @@ -13531,6 +13970,7 @@ class ExcelDataset(Dataset): 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, 'sheet_name': {'key': 'typeProperties.sheetName', 'type': 'object'}, + 'sheet_index': {'key': 'typeProperties.sheetIndex', 'type': 'object'}, 'range': {'key': 'typeProperties.range', 'type': 'object'}, 'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'}, 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, @@ -13545,6 +13985,7 @@ def __init__( self.type = 'Excel' # type: str self.location = kwargs.get('location', None) self.sheet_name = kwargs.get('sheet_name', None) + self.sheet_index = kwargs.get('sheet_index', None) self.range = kwargs.get('range', None) self.first_row_as_header = kwargs.get('first_row_as_header', None) self.compression = kwargs.get('compression', None) @@ -13570,6 +14011,9 @@ class ExcelSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Excel store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -13587,6 +14031,7 @@ class ExcelSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -14527,6 +14972,9 @@ class FileServerReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -14567,6 +15015,7 @@ class FileServerReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -14610,6 +15059,9 @@ class FileServerWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -14622,6 +15074,7 @@ class FileServerWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -14745,6 +15198,9 @@ class FileSystemSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -14761,6 +15217,7 @@ class FileSystemSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -14792,6 +15249,9 @@ class FileSystemSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -14810,6 +15270,7 @@ class FileSystemSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -14951,6 +15412,9 @@ class FtpReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -14984,6 +15448,7 @@ class FtpReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -15247,6 +15712,8 @@ class GitHubAccessTokenRequest(msrest.serialization.Model): :type git_hub_access_code: str :param git_hub_client_id: GitHub application client ID. :type git_hub_client_id: str + :param git_hub_client_secret: GitHub bring your own app client secret information. + :type git_hub_client_secret: ~data_factory_management_client.models.GitHubClientSecret :param git_hub_access_token_base_url: Required. GitHub access token base URL. :type git_hub_access_token_base_url: str """ @@ -15259,6 +15726,7 @@ class GitHubAccessTokenRequest(msrest.serialization.Model): _attribute_map = { 'git_hub_access_code': {'key': 'gitHubAccessCode', 'type': 'str'}, 'git_hub_client_id': {'key': 'gitHubClientId', 'type': 'str'}, + 'git_hub_client_secret': {'key': 'gitHubClientSecret', 'type': 'GitHubClientSecret'}, 'git_hub_access_token_base_url': {'key': 'gitHubAccessTokenBaseUrl', 'type': 'str'}, } @@ -15269,6 +15737,7 @@ def __init__( super(GitHubAccessTokenRequest, self).__init__(**kwargs) self.git_hub_access_code = kwargs['git_hub_access_code'] self.git_hub_client_id = kwargs.get('git_hub_client_id', None) + self.git_hub_client_secret = kwargs.get('git_hub_client_secret', None) self.git_hub_access_token_base_url = kwargs['git_hub_access_token_base_url'] @@ -15291,6 +15760,29 @@ def __init__( self.git_hub_access_token = kwargs.get('git_hub_access_token', None) +class GitHubClientSecret(msrest.serialization.Model): + """Client secret information for factory's bring your own app repository configuration. + + :param byoa_secret_akv_url: Bring your own app client secret AKV URL. + :type byoa_secret_akv_url: str + :param byoa_secret_name: Bring your own app client secret name in AKV. + :type byoa_secret_name: str + """ + + _attribute_map = { + 'byoa_secret_akv_url': {'key': 'byoaSecretAkvUrl', 'type': 'str'}, + 'byoa_secret_name': {'key': 'byoaSecretName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GitHubClientSecret, self).__init__(**kwargs) + self.byoa_secret_akv_url = kwargs.get('byoa_secret_akv_url', None) + self.byoa_secret_name = kwargs.get('byoa_secret_name', None) + + class GlobalParameterSpecification(msrest.serialization.Model): """Definition of a single parameter for an entity. @@ -15502,6 +15994,9 @@ class GoogleAdWordsSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -15523,6 +16018,7 @@ class GoogleAdWordsSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -15731,6 +16227,9 @@ class GoogleBigQuerySource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -15752,6 +16251,7 @@ class GoogleBigQuerySource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -15890,6 +16390,9 @@ class GoogleCloudStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -15930,6 +16433,7 @@ class GoogleCloudStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -16035,6 +16539,9 @@ class GreenplumSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -16056,6 +16563,7 @@ class GreenplumSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -16313,6 +16821,9 @@ class HBaseSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -16334,6 +16845,7 @@ class HBaseSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -16465,6 +16977,9 @@ class HdfsReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -16504,6 +17019,7 @@ class HdfsReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -16553,6 +17069,9 @@ class HdfsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -16570,6 +17089,7 @@ class HdfsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'distcp_settings': {'key': 'distcpSettings', 'type': 'DistcpSettings'}, } @@ -16952,6 +17472,8 @@ class HdInsightOnDemandLinkedService(LinkedService): :param subnet_name: The ARM resource ID for the subnet in the vNet. If virtualNetworkId was specified, then this property is required. Type: string (or Expression with resultType string). :type subnet_name: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -17005,6 +17527,7 @@ class HdInsightOnDemandLinkedService(LinkedService): 'script_actions': {'key': 'typeProperties.scriptActions', 'type': '[ScriptAction]'}, 'virtual_network_id': {'key': 'typeProperties.virtualNetworkId', 'type': 'object'}, 'subnet_name': {'key': 'typeProperties.subnetName', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -17046,6 +17569,7 @@ def __init__( self.script_actions = kwargs.get('script_actions', None) self.virtual_network_id = kwargs.get('virtual_network_id', None) self.subnet_name = kwargs.get('subnet_name', None) + self.credential = kwargs.get('credential', None) class HdInsightPigActivity(ExecutionActivity): @@ -17530,6 +18054,9 @@ class HiveSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -17551,6 +18078,7 @@ class HiveSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -17755,6 +18283,9 @@ class HttpReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). :type request_method: object @@ -17782,6 +18313,7 @@ class HttpReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'request_method': {'key': 'requestMethod', 'type': 'object'}, 'request_body': {'key': 'requestBody', 'type': 'object'}, 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, @@ -17865,6 +18397,9 @@ class HttpSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param http_request_timeout: Specifies the timeout for a HTTP client to get HTTP response from HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string (or Expression with resultType string), pattern: @@ -17882,6 +18417,7 @@ class HttpSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, } @@ -18053,6 +18589,9 @@ class HubspotSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -18074,6 +18613,7 @@ class HubspotSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -18335,6 +18875,9 @@ class ImpalaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -18356,6 +18899,7 @@ class ImpalaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -18469,6 +19013,9 @@ class InformixSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -18486,6 +19033,7 @@ class InformixSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -18517,6 +19065,9 @@ class InformixSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -18537,6 +19088,7 @@ class InformixSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -19225,6 +19777,8 @@ class IntegrationRuntimeSsisProperties(msrest.serialization.Model): list[~data_factory_management_client.models.CustomSetupBase] :param package_stores: Package stores for the SSIS Integration Runtime. :type package_stores: list[~data_factory_management_client.models.PackageStore] + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _attribute_map = { @@ -19236,6 +19790,7 @@ class IntegrationRuntimeSsisProperties(msrest.serialization.Model): 'edition': {'key': 'edition', 'type': 'str'}, 'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'}, 'package_stores': {'key': 'packageStores', 'type': '[PackageStore]'}, + 'credential': {'key': 'credential', 'type': 'CredentialReference'}, } def __init__( @@ -19251,6 +19806,7 @@ def __init__( self.edition = kwargs.get('edition', None) self.express_custom_setup_properties = kwargs.get('express_custom_setup_properties', None) self.package_stores = kwargs.get('package_stores', None) + self.credential = kwargs.get('credential', None) class IntegrationRuntimeStatus(msrest.serialization.Model): @@ -19560,6 +20116,9 @@ class JiraSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -19581,6 +20140,7 @@ class JiraSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -19680,9 +20240,8 @@ class JsonFormat(DatasetStorageFormat): :param deserializer: Deserializer. Type: string (or Expression with resultType string). :type deserializer: object :param file_pattern: File pattern of JSON. To be more specific, the way of separating a - collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. Possible - values include: "setOfObjects", "arrayOfObjects". - :type file_pattern: str or ~data_factory_management_client.models.JsonFormatFilePattern + collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. + :type file_pattern: object :param nesting_separator: The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string). :type nesting_separator: object @@ -19712,7 +20271,7 @@ class JsonFormat(DatasetStorageFormat): 'type': {'key': 'type', 'type': 'str'}, 'serializer': {'key': 'serializer', 'type': 'object'}, 'deserializer': {'key': 'deserializer', 'type': 'object'}, - 'file_pattern': {'key': 'filePattern', 'type': 'str'}, + 'file_pattern': {'key': 'filePattern', 'type': 'object'}, 'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'}, 'encoding_name': {'key': 'encodingName', 'type': 'object'}, 'json_node_reference': {'key': 'jsonNodeReference', 'type': 'object'}, @@ -19790,6 +20349,9 @@ class JsonSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Json store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: Json format settings. @@ -19808,6 +20370,7 @@ class JsonSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'JsonWriteSettings'}, } @@ -19841,6 +20404,9 @@ class JsonSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Json store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: Json format settings. @@ -19860,6 +20426,7 @@ class JsonSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'JsonReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -19887,9 +20454,8 @@ class JsonWriteSettings(FormatWriteSettings): :param type: Required. The write setting type.Constant filled by server. :type type: str :param file_pattern: File pattern of JSON. This setting controls the way a collection of JSON - objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. Possible - values include: "setOfObjects", "arrayOfObjects". - :type file_pattern: str or ~data_factory_management_client.models.JsonWriteFilePattern + objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. + :type file_pattern: object """ _validation = { @@ -19899,7 +20465,7 @@ class JsonWriteSettings(FormatWriteSettings): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'file_pattern': {'key': 'filePattern', 'type': 'str'}, + 'file_pattern': {'key': 'filePattern', 'type': 'object'}, } def __init__( @@ -20538,6 +21104,9 @@ class MagentoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -20559,6 +21128,7 @@ class MagentoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -20573,6 +21143,45 @@ def __init__( self.query = kwargs.get('query', None) +class ManagedIdentityCredential(Credential): + """Managed identity credential. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of credential.Constant filled by server. + :type type: str + :param description: Credential description. + :type description: str + :param annotations: List of tags that can be used for describing the Credential. + :type annotations: list[object] + :param resource_id: The resource id of user assigned managed identity. + :type resource_id: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'resource_id': {'key': 'typeProperties.resourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedIdentityCredential, self).__init__(**kwargs) + self.type = 'ManagedIdentity' # type: str + self.resource_id = kwargs.get('resource_id', None) + + class ManagedIntegrationRuntime(IntegrationRuntime): """Managed integration runtime, including managed elastic and managed dedicated integration runtimes. @@ -21219,6 +21828,9 @@ class MariaDbSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -21240,6 +21852,7 @@ class MariaDbSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -21466,6 +22079,9 @@ class MarketoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -21487,6 +22103,7 @@ class MarketoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -21501,6 +22118,29 @@ def __init__( self.query = kwargs.get('query', None) +class MetadataItem(msrest.serialization.Model): + """Specify the name and value of custom metadata item. + + :param name: Metadata item key name. Type: string (or Expression with resultType string). + :type name: object + :param value: Metadata item value. Type: string (or Expression with resultType string). + :type value: object + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'object'}, + 'value': {'key': 'value', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MetadataItem, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + class MicrosoftAccessLinkedService(LinkedService): """Microsoft Access linked service. @@ -21600,6 +22240,9 @@ class MicrosoftAccessSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -21617,6 +22260,7 @@ class MicrosoftAccessSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -21648,6 +22292,9 @@ class MicrosoftAccessSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Type: string (or Expression with resultType string). :type query: object :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -21665,6 +22312,7 @@ class MicrosoftAccessSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -21852,6 +22500,65 @@ def __init__( self.database = kwargs['database'] +class MongoDbAtlasSink(CopySink): + """A copy activity MongoDB Atlas sink. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object + :param write_behavior: Specifies whether the document with same key to be overwritten (upsert) + rather than throw exception (insert). The default value is "insert". Type: string (or + Expression with resultType string). Type: string (or Expression with resultType string). + :type write_behavior: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, + 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbAtlasSink, self).__init__(**kwargs) + self.type = 'MongoDbAtlasSink' # type: str + self.write_behavior = kwargs.get('write_behavior', None) + + class MongoDbAtlasSource(CopySource): """A copy activity source for a MongoDB Atlas database. @@ -21871,6 +22578,9 @@ class MongoDbAtlasSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param filter: Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). @@ -21900,6 +22610,7 @@ class MongoDbAtlasSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, @@ -22136,6 +22847,9 @@ class MongoDbSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string). :type query: object @@ -22154,6 +22868,7 @@ class MongoDbSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -22281,6 +22996,65 @@ def __init__( self.database = kwargs['database'] +class MongoDbV2Sink(CopySink): + """A copy activity MongoDB sink. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object + :param write_behavior: Specifies whether the document with same key to be overwritten (upsert) + rather than throw exception (insert). The default value is "insert". Type: string (or + Expression with resultType string). Type: string (or Expression with resultType string). + :type write_behavior: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, + 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbV2Sink, self).__init__(**kwargs) + self.type = 'MongoDbV2Sink' # type: str + self.write_behavior = kwargs.get('write_behavior', None) + + class MongoDbV2Source(CopySource): """A copy activity source for a MongoDB database. @@ -22300,6 +23074,9 @@ class MongoDbV2Source(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param filter: Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). @@ -22329,6 +23106,7 @@ class MongoDbV2Source(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, @@ -22424,6 +23202,9 @@ class MySqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -22444,6 +23225,7 @@ class MySqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -22623,6 +23405,9 @@ class NetezzaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -22649,6 +23434,7 @@ class NetezzaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -22932,6 +23718,9 @@ class ODataSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: OData query. For example, "$top=1". Type: string (or Expression with resultType string). :type query: object @@ -22955,6 +23744,7 @@ class ODataSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -23069,6 +23859,9 @@ class OdbcSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -23086,6 +23879,7 @@ class OdbcSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -23117,6 +23911,9 @@ class OdbcSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -23137,6 +23934,7 @@ class OdbcSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -23363,6 +24161,9 @@ class Office365Source(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param allowed_groups: The groups containing all the users. Type: array of strings (or Expression with resultType array of strings). :type allowed_groups: object @@ -23394,6 +24195,7 @@ class Office365Source(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'allowed_groups': {'key': 'allowedGroups', 'type': 'object'}, 'user_scope_filter_uri': {'key': 'userScopeFilterUri', 'type': 'object'}, 'date_filter_column': {'key': 'dateFilterColumn', 'type': 'object'}, @@ -23783,6 +24585,9 @@ class OracleCloudStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -23823,6 +24628,7 @@ class OracleCloudStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -24103,6 +24909,9 @@ class OracleServiceCloudSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -24124,6 +24933,7 @@ class OracleServiceCloudSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -24163,6 +24973,9 @@ class OracleSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -24180,6 +24993,7 @@ class OracleSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -24211,6 +25025,9 @@ class OracleSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param oracle_reader_query: Oracle reader query. Type: string (or Expression with resultType string). :type oracle_reader_query: object @@ -24237,6 +25054,7 @@ class OracleSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'oracle_reader_query': {'key': 'oracleReaderQuery', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'partition_option': {'key': 'partitionOption', 'type': 'object'}, @@ -24355,8 +25173,9 @@ class OrcDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the ORC data storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param orc_compression_codec: Possible values include: "none", "zlib", "snappy", "lzo". - :type orc_compression_codec: str or ~data_factory_management_client.models.OrcCompressionCodec + :param orc_compression_codec: The data orcCompressionCodec. Type: string (or Expression with + resultType string). + :type orc_compression_codec: object """ _validation = { @@ -24375,7 +25194,7 @@ class OrcDataset(Dataset): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, - 'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'str'}, + 'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'object'}, } def __init__( @@ -24448,6 +25267,9 @@ class OrcSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: ORC store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: ORC format settings. @@ -24466,6 +25288,7 @@ class OrcSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'OrcWriteSettings'}, } @@ -24499,6 +25322,9 @@ class OrcSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: ORC store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -24516,6 +25342,7 @@ class OrcSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -24659,9 +25486,9 @@ class ParquetDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the parquet storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4", "tar", "tarGZip". - :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec + :param compression_codec: The data compressionCodec. Type: string (or Expression with + resultType string). + :type compression_codec: object """ _validation = { @@ -24680,7 +25507,7 @@ class ParquetDataset(Dataset): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, - 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'object'}, } def __init__( @@ -24753,6 +25580,9 @@ class ParquetSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Parquet store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: Parquet format settings. @@ -24771,6 +25601,7 @@ class ParquetSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'ParquetWriteSettings'}, } @@ -24804,6 +25635,9 @@ class ParquetSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Parquet store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -24821,6 +25655,7 @@ class ParquetSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -25029,6 +25864,9 @@ class PaypalSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -25050,6 +25888,7 @@ class PaypalSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -25258,6 +26097,9 @@ class PhoenixSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -25279,6 +26121,7 @@ class PhoenixSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -25598,18 +26441,26 @@ class PipelineRunInvokedBy(msrest.serialization.Model): :vartype id: str :ivar invoked_by_type: The type of the entity that started the run. :vartype invoked_by_type: str + :ivar pipeline_name: The name of the pipeline that triggered the run, if any. + :vartype pipeline_name: str + :ivar pipeline_run_id: The run id of the pipeline that triggered the run, if any. + :vartype pipeline_run_id: str """ _validation = { 'name': {'readonly': True}, 'id': {'readonly': True}, 'invoked_by_type': {'readonly': True}, + 'pipeline_name': {'readonly': True}, + 'pipeline_run_id': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, 'invoked_by_type': {'key': 'invokedByType', 'type': 'str'}, + 'pipeline_name': {'key': 'pipelineName', 'type': 'str'}, + 'pipeline_run_id': {'key': 'pipelineRunId', 'type': 'str'}, } def __init__( @@ -25620,6 +26471,8 @@ def __init__( self.name = None self.id = None self.invoked_by_type = None + self.pipeline_name = None + self.pipeline_run_id = None class PipelineRunsQueryResponse(msrest.serialization.Model): @@ -25768,6 +26621,9 @@ class PostgreSqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -25788,6 +26644,7 @@ class PostgreSqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -26072,6 +26929,9 @@ class PrestoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -26093,6 +26953,7 @@ class PrestoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -26544,6 +27405,9 @@ class QuickBooksSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -26565,6 +27429,7 @@ class QuickBooksSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -26739,6 +27604,9 @@ class RelationalSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Type: string (or Expression with resultType string). :type query: object :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -26756,6 +27624,7 @@ class RelationalSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -27085,6 +27954,9 @@ class ResponsysSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -27106,6 +27978,7 @@ class ResponsysSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -27254,6 +28127,8 @@ class RestServiceLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -27281,6 +28156,7 @@ class RestServiceLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -27301,6 +28177,7 @@ def __init__( self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.aad_resource_id = kwargs.get('aad_resource_id', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.credential = kwargs.get('credential', None) class RestSink(CopySink): @@ -27328,6 +28205,9 @@ class RestSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param request_method: The HTTP method used to call the RESTful API. The default is POST. Type: string (or Expression with resultType string). :type request_method: object @@ -27358,6 +28238,7 @@ class RestSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'request_method': {'key': 'requestMethod', 'type': 'object'}, 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, @@ -27397,6 +28278,9 @@ class RestSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). :type request_method: object @@ -27431,6 +28315,7 @@ class RestSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'request_method': {'key': 'requestMethod', 'type': 'object'}, 'request_body': {'key': 'requestBody', 'type': 'object'}, 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, @@ -27832,6 +28717,9 @@ class SalesforceMarketingCloudSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -27853,6 +28741,7 @@ class SalesforceMarketingCloudSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -28087,6 +28976,9 @@ class SalesforceServiceCloudSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: The write behavior for the operation. Default is Insert. Possible values include: "Insert", "Upsert". :type write_behavior: str or ~data_factory_management_client.models.SalesforceSinkWriteBehavior @@ -28114,6 +29006,7 @@ class SalesforceServiceCloudSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, @@ -28149,6 +29042,9 @@ class SalesforceServiceCloudSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Type: string (or Expression with resultType string). :type query: object :param read_behavior: The read behavior for the operation. Default is Query. Possible values @@ -28169,6 +29065,7 @@ class SalesforceServiceCloudSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'read_behavior': {'key': 'readBehavior', 'type': 'str'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -28210,6 +29107,9 @@ class SalesforceSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: The write behavior for the operation. Default is Insert. Possible values include: "Insert", "Upsert". :type write_behavior: str or ~data_factory_management_client.models.SalesforceSinkWriteBehavior @@ -28237,6 +29137,7 @@ class SalesforceSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, @@ -28272,6 +29173,9 @@ class SalesforceSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -28295,6 +29199,7 @@ class SalesforceSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -28458,6 +29363,9 @@ class SapBwSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -28478,6 +29386,7 @@ class SapBwSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -28640,6 +29549,9 @@ class SapCloudForCustomerSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: The write behavior for the operation. Default is 'Insert'. Possible values include: "Insert", "Update". :type write_behavior: str or @@ -28663,6 +29575,7 @@ class SapCloudForCustomerSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, } @@ -28696,6 +29609,9 @@ class SapCloudForCustomerSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -28722,6 +29638,7 @@ class SapCloudForCustomerSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -28880,6 +29797,9 @@ class SapEccSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -28906,6 +29826,7 @@ class SapEccSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -29033,6 +29954,9 @@ class SapHanaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -29062,6 +29986,7 @@ class SapHanaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -29263,6 +30188,9 @@ class SapOpenHubSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -29295,6 +30223,7 @@ class SapOpenHubSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'exclude_last_request': {'key': 'excludeLastRequest', 'type': 'object'}, @@ -29625,6 +30554,9 @@ class SapTableSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -29672,6 +30604,7 @@ class SapTableSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'row_count': {'key': 'rowCount', 'type': 'object'}, @@ -29806,9 +30739,8 @@ class ScriptAction(msrest.serialization.Model): :type name: str :param uri: Required. The URI for the script action. :type uri: str - :param roles: Required. The node types on which the script action should be executed. Possible - values include: "Headnode", "Workernode", "Zookeeper". - :type roles: str or ~data_factory_management_client.models.HdiNodeTypes + :param roles: Required. The node types on which the script action should be executed. + :type roles: str :param parameters: The parameters for the script action. :type parameters: str """ @@ -30364,6 +31296,9 @@ class ServiceNowSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -30385,6 +31320,7 @@ class ServiceNowSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -30399,6 +31335,54 @@ def __init__( self.query = kwargs.get('query', None) +class ServicePrincipalCredential(Credential): + """Service principal credential. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of credential.Constant filled by server. + :type type: str + :param description: Credential description. + :type description: str + :param annotations: List of tags that can be used for describing the Credential. + :type annotations: list[object] + :param service_principal_id: The app ID of the service principal used to authenticate. + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate. + :type service_principal_key: + ~data_factory_management_client.models.AzureKeyVaultSecretReference + :param tenant: The ID of the tenant to which the service principal belongs. + :type tenant: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'AzureKeyVaultSecretReference'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ServicePrincipalCredential, self).__init__(**kwargs) + self.type = 'ServicePrincipal' # type: str + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + + class SetVariableActivity(Activity): """Set value for a Variable. @@ -30499,6 +31483,9 @@ class SftpReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -30536,6 +31523,7 @@ class SftpReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -30678,6 +31666,9 @@ class SftpWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param operation_timeout: Specifies the timeout for writing each chunk to SFTP server. Default @@ -30697,6 +31688,7 @@ class SftpWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'operation_timeout': {'key': 'operationTimeout', 'type': 'object'}, 'use_temp_file_rename': {'key': 'useTempFileRename', 'type': 'object'}, @@ -30864,6 +31856,9 @@ class SharePointOnlineListSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: The OData query to filter the data in SharePoint Online list. For example, "$top=1". Type: string (or Expression with resultType string). :type query: object @@ -30883,6 +31878,7 @@ class SharePointOnlineListSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, } @@ -31047,6 +32043,9 @@ class ShopifySource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -31068,6 +32067,7 @@ class ShopifySource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -31339,6 +32339,9 @@ class SnowflakeSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -31358,6 +32361,7 @@ class SnowflakeSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, 'import_settings': {'key': 'importSettings', 'type': 'SnowflakeImportCopyCommand'}, } @@ -31391,6 +32395,9 @@ class SnowflakeSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Snowflake Sql query. Type: string (or Expression with resultType string). :type query: object :param export_settings: Snowflake export settings. @@ -31407,6 +32414,7 @@ class SnowflakeSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'export_settings': {'key': 'exportSettings', 'type': 'SnowflakeExportCopyCommand'}, } @@ -31624,6 +32632,9 @@ class SparkSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -31645,6 +32656,7 @@ class SparkSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -31722,6 +32734,9 @@ class SqlDwSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -31753,6 +32768,7 @@ class SqlDwSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, 'allow_poly_base': {'key': 'allowPolyBase', 'type': 'object'}, 'poly_base_settings': {'key': 'polyBaseSettings', 'type': 'PolybaseSettings'}, @@ -31794,6 +32810,9 @@ class SqlDwSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -31828,6 +32847,7 @@ class SqlDwSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -31875,6 +32895,9 @@ class SqlMiSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -31907,6 +32930,7 @@ class SqlMiSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -31948,6 +32972,9 @@ class SqlMiSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -31983,6 +33010,7 @@ class SqlMiSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -32134,6 +33162,9 @@ class SqlServerSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -32166,6 +33197,7 @@ class SqlServerSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -32207,6 +33239,9 @@ class SqlServerSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -32242,6 +33277,7 @@ class SqlServerSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -32420,6 +33456,9 @@ class SqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -32452,6 +33491,7 @@ class SqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -32493,6 +33533,9 @@ class SqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -32530,6 +33573,7 @@ class SqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -32716,6 +33760,9 @@ class SquareSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -32737,6 +33784,7 @@ class SquareSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -33679,6 +34727,9 @@ class SybaseSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -33699,6 +34750,7 @@ class SybaseSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -34030,6 +35082,9 @@ class TeradataSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -34056,6 +35111,7 @@ class TeradataSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -35107,6 +36163,9 @@ class VerticaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -35128,6 +36187,7 @@ class VerticaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -35348,10 +36408,7 @@ def __init__( class WebActivityAuthentication(msrest.serialization.Model): """Web activity authentication properties. - All required parameters must be populated in order to send to Azure. - - :param type: Required. Web activity authentication - (Basic/ClientCertificate/MSI/ServicePrincipal). + :param type: Web activity authentication (Basic/ClientCertificate/MSI/ServicePrincipal). :type type: str :param pfx: Base64-encoded contents of a PFX file or Certificate when used for ServicePrincipal. @@ -35368,12 +36425,10 @@ class WebActivityAuthentication(msrest.serialization.Model): :param user_tenant: TenantId for which Azure Auth token will be requested when using ServicePrincipal Authentication. Type: string (or Expression with resultType string). :type user_tenant: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ - _validation = { - 'type': {'required': True}, - } - _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, @@ -35381,6 +36436,7 @@ class WebActivityAuthentication(msrest.serialization.Model): 'password': {'key': 'password', 'type': 'SecretBase'}, 'resource': {'key': 'resource', 'type': 'object'}, 'user_tenant': {'key': 'userTenant', 'type': 'object'}, + 'credential': {'key': 'credential', 'type': 'CredentialReference'}, } def __init__( @@ -35388,12 +36444,13 @@ def __init__( **kwargs ): super(WebActivityAuthentication, self).__init__(**kwargs) - self.type = kwargs['type'] + self.type = kwargs.get('type', None) self.pfx = kwargs.get('pfx', None) self.username = kwargs.get('username', None) self.password = kwargs.get('password', None) self.resource = kwargs.get('resource', None) self.user_tenant = kwargs.get('user_tenant', None) + self.credential = kwargs.get('credential', None) class WebLinkedServiceTypeProperties(msrest.serialization.Model): @@ -35699,6 +36756,9 @@ class WebSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param additional_columns: Specifies the additional columns to be added to source data. Type: array of objects (or Expression with resultType array of objects). :type additional_columns: list[~data_factory_management_client.models.AdditionalColumns] @@ -35714,6 +36774,7 @@ class WebSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -35950,6 +37011,9 @@ class XeroSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -35971,6 +37035,7 @@ class XeroSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -36133,6 +37198,9 @@ class XmlSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Xml store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: Xml format settings. @@ -36152,6 +37220,7 @@ class XmlSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'XmlReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -36355,6 +37424,9 @@ class ZohoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -36376,6 +37448,7 @@ class ZohoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py index f6ebc8328ae..b3e5d2bc134 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py @@ -711,6 +711,9 @@ class CopySource(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -723,6 +726,7 @@ class CopySource(msrest.serialization.Model): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } _subtype_map = { @@ -736,6 +740,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, **kwargs ): super(CopySource, self).__init__(**kwargs) @@ -744,6 +749,7 @@ def __init__( self.source_retry_count = source_retry_count self.source_retry_wait = source_retry_wait self.max_concurrent_connections = max_concurrent_connections + self.disable_metrics_collection = disable_metrics_collection class TabularSource(CopySource): @@ -768,6 +774,9 @@ class TabularSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -786,6 +795,7 @@ class TabularSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -801,11 +811,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(TabularSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(TabularSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'TabularSource' # type: str self.query_timeout = query_timeout self.additional_columns = additional_columns @@ -830,6 +841,9 @@ class AmazonMwsSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -851,6 +865,7 @@ class AmazonMwsSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -863,12 +878,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(AmazonMwsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AmazonMwsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AmazonMWSSource' # type: str self.query = query @@ -977,6 +993,9 @@ class AmazonRedshiftSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -1001,6 +1020,7 @@ class AmazonRedshiftSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -1014,13 +1034,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, redshift_unload_settings: Optional["RedshiftUnloadSettings"] = None, **kwargs ): - super(AmazonRedshiftSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AmazonRedshiftSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AmazonRedshiftSource' # type: str self.query = query self.redshift_unload_settings = redshift_unload_settings @@ -1307,6 +1328,9 @@ class StoreReadSettings(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -1317,6 +1341,7 @@ class StoreReadSettings(msrest.serialization.Model): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } _subtype_map = { @@ -1328,12 +1353,14 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, **kwargs ): super(StoreReadSettings, self).__init__(**kwargs) self.additional_properties = additional_properties self.type = 'StoreReadSettings' # type: str self.max_concurrent_connections = max_concurrent_connections + self.disable_metrics_collection = disable_metrics_collection class AmazonS3CompatibleReadSettings(StoreReadSettings): @@ -1349,6 +1376,9 @@ class AmazonS3CompatibleReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -1389,6 +1419,7 @@ class AmazonS3CompatibleReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -1406,6 +1437,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -1418,7 +1450,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(AmazonS3CompatibleReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AmazonS3CompatibleReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AmazonS3CompatibleReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -1692,6 +1724,9 @@ class AmazonS3ReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -1732,6 +1767,7 @@ class AmazonS3ReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -1749,6 +1785,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -1761,7 +1798,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(AmazonS3ReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AmazonS3ReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AmazonS3ReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -1887,10 +1924,9 @@ class AvroDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the avro storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param avro_compression_codec: Possible values include: "none", "deflate", "snappy", "xz", - "bzip2". - :type avro_compression_codec: str or - ~data_factory_management_client.models.AvroCompressionCodec + :param avro_compression_codec: The data avroCompressionCodec. Type: string (or Expression with + resultType string). + :type avro_compression_codec: object :param avro_compression_level: :type avro_compression_level: int """ @@ -1912,7 +1948,7 @@ class AvroDataset(Dataset): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, - 'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'str'}, + 'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'object'}, 'avro_compression_level': {'key': 'typeProperties.avroCompressionLevel', 'type': 'int'}, } @@ -1928,7 +1964,7 @@ def __init__( annotations: Optional[List[object]] = None, folder: Optional["DatasetFolder"] = None, location: Optional["DatasetLocation"] = None, - avro_compression_codec: Optional[Union[str, "AvroCompressionCodec"]] = None, + avro_compression_codec: Optional[object] = None, avro_compression_level: Optional[int] = None, **kwargs ): @@ -2031,7 +2067,7 @@ class CopySink(msrest.serialization.Model): """A copy activity sink. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureDatabricksDeltaLakeSink, AzureMySqlSink, AzurePostgreSqlSink, AzureQueueSink, AzureSearchIndexSink, AzureSqlSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDbMongoDbApiSink, CosmosDbSqlApiSink, DelimitedTextSink, DocumentDbCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SqlDwSink, SqlMiSink, SqlServerSink, SqlSink. + sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureDatabricksDeltaLakeSink, AzureMySqlSink, AzurePostgreSqlSink, AzureQueueSink, AzureSearchIndexSink, AzureSqlSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDbMongoDbApiSink, CosmosDbSqlApiSink, DelimitedTextSink, DocumentDbCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, MongoDbAtlasSink, MongoDbV2Sink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SqlDwSink, SqlMiSink, SqlServerSink, SqlSink. All required parameters must be populated in order to send to Azure. @@ -2055,6 +2091,9 @@ class CopySink(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -2069,10 +2108,11 @@ class CopySink(msrest.serialization.Model): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } _subtype_map = { - 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureDatabricksDeltaLakeSink': 'AzureDatabricksDeltaLakeSink', 'AzureMySqlSink': 'AzureMySqlSink', 'AzurePostgreSqlSink': 'AzurePostgreSqlSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSqlSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDbMongoDbApiSink', 'CosmosDbSqlApiSink': 'CosmosDbSqlApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDbCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SqlDwSink', 'SqlMISink': 'SqlMiSink', 'SqlServerSink': 'SqlServerSink', 'SqlSink': 'SqlSink'} + 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureDatabricksDeltaLakeSink': 'AzureDatabricksDeltaLakeSink', 'AzureMySqlSink': 'AzureMySqlSink', 'AzurePostgreSqlSink': 'AzurePostgreSqlSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSqlSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDbMongoDbApiSink', 'CosmosDbSqlApiSink': 'CosmosDbSqlApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDbCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'MongoDbAtlasSink': 'MongoDbAtlasSink', 'MongoDbV2Sink': 'MongoDbV2Sink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SqlDwSink', 'SqlMISink': 'SqlMiSink', 'SqlServerSink': 'SqlServerSink', 'SqlSink': 'SqlSink'} } def __init__( @@ -2084,6 +2124,7 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, **kwargs ): super(CopySink, self).__init__(**kwargs) @@ -2094,6 +2135,7 @@ def __init__( self.sink_retry_count = sink_retry_count self.sink_retry_wait = sink_retry_wait self.max_concurrent_connections = max_concurrent_connections + self.disable_metrics_collection = disable_metrics_collection class AvroSink(CopySink): @@ -2121,6 +2163,9 @@ class AvroSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Avro store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: Avro format settings. @@ -2139,6 +2184,7 @@ class AvroSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'AvroWriteSettings'}, } @@ -2152,11 +2198,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, format_settings: Optional["AvroWriteSettings"] = None, **kwargs ): - super(AvroSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AvroSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AvroSink' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -2181,6 +2228,9 @@ class AvroSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Avro store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -2198,6 +2248,7 @@ class AvroSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -2209,11 +2260,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(AvroSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AvroSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AvroSource' # type: str self.store_settings = store_settings self.additional_columns = additional_columns @@ -2411,6 +2463,8 @@ class AzureBatchLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -2434,6 +2488,7 @@ class AzureBatchLinkedService(LinkedService): 'pool_name': {'key': 'typeProperties.poolName', 'type': 'object'}, 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -2450,6 +2505,7 @@ def __init__( annotations: Optional[List[object]] = None, access_key: Optional["SecretBase"] = None, encrypted_credential: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureBatchLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -2460,6 +2516,7 @@ def __init__( self.pool_name = pool_name self.linked_service_name = linked_service_name self.encrypted_credential = encrypted_credential + self.credential = credential class AzureBlobDataset(Dataset): @@ -2691,6 +2748,8 @@ class AzureBlobFsLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -2712,6 +2771,7 @@ class AzureBlobFsLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -2729,6 +2789,7 @@ def __init__( tenant: Optional[object] = None, azure_cloud_type: Optional[object] = None, encrypted_credential: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureBlobFsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -2740,6 +2801,7 @@ def __init__( self.tenant = tenant self.azure_cloud_type = azure_cloud_type self.encrypted_credential = encrypted_credential + self.credential = credential class AzureBlobFsLocation(DatasetLocation): @@ -2802,6 +2864,9 @@ class AzureBlobFsReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -2839,6 +2904,7 @@ class AzureBlobFsReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -2855,6 +2921,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -2866,7 +2933,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(AzureBlobFsReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureBlobFsReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureBlobFSReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -2904,8 +2971,14 @@ class AzureBlobFsSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object + :param metadata: Specify the custom metadata to be added to sink data. Type: array of objects + (or Expression with resultType array of objects). + :type metadata: list[~data_factory_management_client.models.MetadataItem] """ _validation = { @@ -2920,7 +2993,9 @@ class AzureBlobFsSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': '[MetadataItem]'}, } def __init__( @@ -2932,12 +3007,15 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, + metadata: Optional[List["MetadataItem"]] = None, **kwargs ): - super(AzureBlobFsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureBlobFsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureBlobFSSink' # type: str self.copy_behavior = copy_behavior + self.metadata = metadata class AzureBlobFsSource(CopySource): @@ -2959,6 +3037,9 @@ class AzureBlobFsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType boolean). :type treat_empty_as_null: object @@ -2980,6 +3061,7 @@ class AzureBlobFsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'}, 'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, @@ -2992,12 +3074,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, treat_empty_as_null: Optional[object] = None, skip_header_line_count: Optional[object] = None, recursive: Optional[object] = None, **kwargs ): - super(AzureBlobFsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureBlobFsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureBlobFSSource' # type: str self.treat_empty_as_null = treat_empty_as_null self.skip_header_line_count = skip_header_line_count @@ -3020,6 +3103,9 @@ class StoreWriteSettings(msrest.serialization.Model): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -3032,6 +3118,7 @@ class StoreWriteSettings(msrest.serialization.Model): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -3044,6 +3131,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, **kwargs ): @@ -3051,6 +3139,7 @@ def __init__( self.additional_properties = additional_properties self.type = 'StoreWriteSettings' # type: str self.max_concurrent_connections = max_concurrent_connections + self.disable_metrics_collection = disable_metrics_collection self.copy_behavior = copy_behavior @@ -3067,6 +3156,9 @@ class AzureBlobFsWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer @@ -3082,6 +3174,7 @@ class AzureBlobFsWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'}, } @@ -3091,11 +3184,12 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, block_size_in_mb: Optional[object] = None, **kwargs ): - super(AzureBlobFsWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs) + super(AzureBlobFsWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, copy_behavior=copy_behavior, **kwargs) self.type = 'AzureBlobFSWriteSettings' # type: str self.block_size_in_mb = block_size_in_mb @@ -3153,6 +3247,8 @@ class AzureBlobStorageLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: str + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -3177,6 +3273,7 @@ class AzureBlobStorageLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'account_kind': {'key': 'typeProperties.accountKind', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -3198,6 +3295,7 @@ def __init__( azure_cloud_type: Optional[object] = None, account_kind: Optional[str] = None, encrypted_credential: Optional[str] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureBlobStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -3213,6 +3311,7 @@ def __init__( self.azure_cloud_type = azure_cloud_type self.account_kind = account_kind self.encrypted_credential = encrypted_credential + self.credential = credential class AzureBlobStorageLocation(DatasetLocation): @@ -3275,6 +3374,9 @@ class AzureBlobStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -3315,6 +3417,7 @@ class AzureBlobStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -3332,6 +3435,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -3344,7 +3448,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(AzureBlobStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureBlobStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureBlobStorageReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -3371,6 +3475,9 @@ class AzureBlobStorageWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer @@ -3386,6 +3493,7 @@ class AzureBlobStorageWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'}, } @@ -3395,11 +3503,12 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, block_size_in_mb: Optional[object] = None, **kwargs ): - super(AzureBlobStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs) + super(AzureBlobStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, copy_behavior=copy_behavior, **kwargs) self.type = 'AzureBlobStorageWriteSettings' # type: str self.block_size_in_mb = block_size_in_mb @@ -3741,6 +3850,9 @@ class AzureDatabricksDeltaLakeSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -3761,6 +3873,7 @@ class AzureDatabricksDeltaLakeSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, 'import_settings': {'key': 'importSettings', 'type': 'AzureDatabricksDeltaLakeImportCommand'}, } @@ -3774,11 +3887,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, import_settings: Optional["AzureDatabricksDeltaLakeImportCommand"] = None, **kwargs ): - super(AzureDatabricksDeltaLakeSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureDatabricksDeltaLakeSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureDatabricksDeltaLakeSink' # type: str self.pre_copy_script = pre_copy_script self.import_settings = import_settings @@ -3803,6 +3917,9 @@ class AzureDatabricksDeltaLakeSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Azure Databricks Delta Lake Sql query. Type: string (or Expression with resultType string). :type query: object @@ -3821,6 +3938,7 @@ class AzureDatabricksDeltaLakeSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'export_settings': {'key': 'exportSettings', 'type': 'AzureDatabricksDeltaLakeExportCommand'}, } @@ -3832,11 +3950,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, export_settings: Optional["AzureDatabricksDeltaLakeExportCommand"] = None, **kwargs ): - super(AzureDatabricksDeltaLakeSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureDatabricksDeltaLakeSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureDatabricksDeltaLakeSource' # type: str self.query = query self.export_settings = export_settings @@ -3925,6 +4044,8 @@ class AzureDatabricksLinkedService(LinkedService): :param policy_id: The policy id for limiting the ability to configure clusters based on a user defined set of rules. Type: string (or Expression with resultType string). :type policy_id: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -3957,6 +4078,7 @@ class AzureDatabricksLinkedService(LinkedService): 'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, 'policy_id': {'key': 'typeProperties.policyId', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -3985,6 +4107,7 @@ def __init__( new_cluster_enable_elastic_disk: Optional[object] = None, encrypted_credential: Optional[object] = None, policy_id: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureDatabricksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -4007,6 +4130,7 @@ def __init__( self.new_cluster_enable_elastic_disk = new_cluster_enable_elastic_disk self.encrypted_credential = encrypted_credential self.policy_id = policy_id + self.credential = credential class ExecutionActivity(Activity): @@ -4177,6 +4301,8 @@ class AzureDataExplorerLinkedService(LinkedService): :param tenant: The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). :type tenant: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -4197,6 +4323,7 @@ class AzureDataExplorerLinkedService(LinkedService): 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'database': {'key': 'typeProperties.database', 'type': 'object'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -4212,6 +4339,7 @@ def __init__( service_principal_id: Optional[object] = None, service_principal_key: Optional["SecretBase"] = None, tenant: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureDataExplorerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -4221,6 +4349,7 @@ def __init__( self.service_principal_key = service_principal_key self.database = database self.tenant = tenant + self.credential = credential class AzureDataExplorerSink(CopySink): @@ -4248,6 +4377,9 @@ class AzureDataExplorerSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param ingestion_mapping_name: A name of a pre-created csv mapping that was defined on the target Kusto table. Type: string. :type ingestion_mapping_name: object @@ -4271,6 +4403,7 @@ class AzureDataExplorerSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'ingestion_mapping_name': {'key': 'ingestionMappingName', 'type': 'object'}, 'ingestion_mapping_as_json': {'key': 'ingestionMappingAsJson', 'type': 'object'}, 'flush_immediately': {'key': 'flushImmediately', 'type': 'object'}, @@ -4285,12 +4418,13 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, ingestion_mapping_name: Optional[object] = None, ingestion_mapping_as_json: Optional[object] = None, flush_immediately: Optional[object] = None, **kwargs ): - super(AzureDataExplorerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureDataExplorerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureDataExplorerSink' # type: str self.ingestion_mapping_name = ingestion_mapping_name self.ingestion_mapping_as_json = ingestion_mapping_as_json @@ -4316,6 +4450,9 @@ class AzureDataExplorerSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Required. Database query. Should be a Kusto Query Language (KQL) query. Type: string (or Expression with resultType string). :type query: object @@ -4341,6 +4478,7 @@ class AzureDataExplorerSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'no_truncation': {'key': 'noTruncation', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, @@ -4355,12 +4493,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, no_truncation: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(AzureDataExplorerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureDataExplorerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureDataExplorerSource' # type: str self.query = query self.no_truncation = no_truncation @@ -4668,6 +4807,8 @@ class AzureDataLakeStoreLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -4691,6 +4832,7 @@ class AzureDataLakeStoreLinkedService(LinkedService): 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -4710,6 +4852,7 @@ def __init__( subscription_id: Optional[object] = None, resource_group_name: Optional[object] = None, encrypted_credential: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureDataLakeStoreLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -4723,6 +4866,7 @@ def __init__( self.subscription_id = subscription_id self.resource_group_name = resource_group_name self.encrypted_credential = encrypted_credential + self.credential = credential class AzureDataLakeStoreLocation(DatasetLocation): @@ -4779,6 +4923,9 @@ class AzureDataLakeStoreReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -4824,6 +4971,7 @@ class AzureDataLakeStoreReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -4842,6 +4990,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -4855,7 +5004,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(AzureDataLakeStoreReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureDataLakeStoreReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureDataLakeStoreReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -4895,6 +5044,9 @@ class AzureDataLakeStoreSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param enable_adls_single_file_parallel: Single File Parallel. @@ -4913,6 +5065,7 @@ class AzureDataLakeStoreSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'enable_adls_single_file_parallel': {'key': 'enableAdlsSingleFileParallel', 'type': 'object'}, } @@ -4926,11 +5079,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, enable_adls_single_file_parallel: Optional[object] = None, **kwargs ): - super(AzureDataLakeStoreSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureDataLakeStoreSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureDataLakeStoreSink' # type: str self.copy_behavior = copy_behavior self.enable_adls_single_file_parallel = enable_adls_single_file_parallel @@ -4955,6 +5109,9 @@ class AzureDataLakeStoreSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -4970,6 +5127,7 @@ class AzureDataLakeStoreSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, } @@ -4980,10 +5138,11 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, **kwargs ): - super(AzureDataLakeStoreSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureDataLakeStoreSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureDataLakeStoreSource' # type: str self.recursive = recursive @@ -5001,6 +5160,9 @@ class AzureDataLakeStoreWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param expiry_date_time: Specifies the expiry time of the written files. The time is applied to @@ -5017,6 +5179,7 @@ class AzureDataLakeStoreWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'expiry_date_time': {'key': 'expiryDateTime', 'type': 'object'}, } @@ -5026,11 +5189,12 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, expiry_date_time: Optional[object] = None, **kwargs ): - super(AzureDataLakeStoreWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs) + super(AzureDataLakeStoreWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, copy_behavior=copy_behavior, **kwargs) self.type = 'AzureDataLakeStoreWriteSettings' # type: str self.expiry_date_time = expiry_date_time @@ -5193,6 +5357,9 @@ class AzureFileStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -5233,6 +5400,7 @@ class AzureFileStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -5250,6 +5418,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -5262,7 +5431,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(AzureFileStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureFileStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureFileStorageReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -5289,6 +5458,9 @@ class AzureFileStorageWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -5301,6 +5473,7 @@ class AzureFileStorageWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -5309,10 +5482,11 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, **kwargs ): - super(AzureFileStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs) + super(AzureFileStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, copy_behavior=copy_behavior, **kwargs) self.type = 'AzureFileStorageWriteSettings' # type: str @@ -5426,6 +5600,13 @@ class AzureFunctionLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference + :param resource_id: Allowed token audiences for azure function. + :type resource_id: object + :param authentication: Type of authentication (Required to specify MSI) used to connect to + AzureFunction. Type: string (or Expression with resultType string). + :type authentication: object """ _validation = { @@ -5443,6 +5624,9 @@ class AzureFunctionLinkedService(LinkedService): 'function_app_url': {'key': 'typeProperties.functionAppUrl', 'type': 'object'}, 'function_key': {'key': 'typeProperties.functionKey', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, + 'resource_id': {'key': 'typeProperties.resourceId', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'object'}, } def __init__( @@ -5456,6 +5640,9 @@ def __init__( annotations: Optional[List[object]] = None, function_key: Optional["SecretBase"] = None, encrypted_credential: Optional[object] = None, + credential: Optional["CredentialReference"] = None, + resource_id: Optional[object] = None, + authentication: Optional[object] = None, **kwargs ): super(AzureFunctionLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -5463,6 +5650,9 @@ def __init__( self.function_app_url = function_app_url self.function_key = function_key self.encrypted_credential = encrypted_credential + self.credential = credential + self.resource_id = resource_id + self.authentication = authentication class AzureKeyVaultLinkedService(LinkedService): @@ -5486,6 +5676,8 @@ class AzureKeyVaultLinkedService(LinkedService): :param base_url: Required. The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string). :type base_url: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -5501,6 +5693,7 @@ class AzureKeyVaultLinkedService(LinkedService): 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, 'base_url': {'key': 'typeProperties.baseUrl', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -5512,11 +5705,13 @@ def __init__( description: Optional[str] = None, parameters: Optional[Dict[str, "ParameterSpecification"]] = None, annotations: Optional[List[object]] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureKeyVaultLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzureKeyVault' # type: str self.base_url = base_url + self.credential = credential class SecretBase(msrest.serialization.Model): @@ -5680,6 +5875,9 @@ class AzureMariaDbSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -5701,6 +5899,7 @@ class AzureMariaDbSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -5713,12 +5912,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(AzureMariaDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzureMariaDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzureMariaDBSource' # type: str self.query = query @@ -6024,6 +6224,9 @@ class AzureMlLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param authentication: Type of authentication (Required to specify MSI) used to connect to + AzureML. Type: string (or Expression with resultType string). + :type authentication: object """ _validation = { @@ -6046,6 +6249,7 @@ class AzureMlLinkedService(LinkedService): 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'object'}, } def __init__( @@ -6063,6 +6267,7 @@ def __init__( service_principal_key: Optional["SecretBase"] = None, tenant: Optional[object] = None, encrypted_credential: Optional[object] = None, + authentication: Optional[object] = None, **kwargs ): super(AzureMlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -6074,6 +6279,7 @@ def __init__( self.service_principal_key = service_principal_key self.tenant = tenant self.encrypted_credential = encrypted_credential + self.authentication = authentication class AzureMlServiceLinkedService(LinkedService): @@ -6375,6 +6581,9 @@ class AzureMySqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -6392,6 +6601,7 @@ class AzureMySqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -6404,10 +6614,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, **kwargs ): - super(AzureMySqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureMySqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureMySqlSink' # type: str self.pre_copy_script = pre_copy_script @@ -6431,6 +6642,9 @@ class AzureMySqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -6451,6 +6665,7 @@ class AzureMySqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -6463,12 +6678,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(AzureMySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzureMySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzureMySqlSource' # type: str self.query = query @@ -6638,6 +6854,9 @@ class AzurePostgreSqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -6655,6 +6874,7 @@ class AzurePostgreSqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -6667,10 +6887,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, **kwargs ): - super(AzurePostgreSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzurePostgreSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzurePostgreSqlSink' # type: str self.pre_copy_script = pre_copy_script @@ -6694,6 +6915,9 @@ class AzurePostgreSqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -6715,6 +6939,7 @@ class AzurePostgreSqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -6727,12 +6952,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(AzurePostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzurePostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzurePostgreSqlSource' # type: str self.query = query @@ -6843,6 +7069,9 @@ class AzureQueueSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object """ _validation = { @@ -6857,6 +7086,7 @@ class AzureQueueSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, } def __init__( @@ -6868,9 +7098,10 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, **kwargs ): - super(AzureQueueSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureQueueSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureQueueSink' # type: str @@ -6969,6 +7200,9 @@ class AzureSearchIndexSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Specify the write behavior when upserting documents into Azure Search Index. Possible values include: "Merge", "Upload". :type write_behavior: str or @@ -6987,6 +7221,7 @@ class AzureSearchIndexSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, } @@ -6999,10 +7234,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, write_behavior: Optional[Union[str, "AzureSearchIndexWriteBehaviorType"]] = None, **kwargs ): - super(AzureSearchIndexSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureSearchIndexSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureSearchIndexSink' # type: str self.write_behavior = write_behavior @@ -7116,6 +7352,8 @@ class AzureSqlDatabaseLinkedService(LinkedService): :param always_encrypted_settings: Sql always encrypted properties. :type always_encrypted_settings: ~data_factory_management_client.models.SqlAlwaysEncryptedProperties + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -7138,6 +7376,7 @@ class AzureSqlDatabaseLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -7156,6 +7395,7 @@ def __init__( azure_cloud_type: Optional[object] = None, encrypted_credential: Optional[object] = None, always_encrypted_settings: Optional["SqlAlwaysEncryptedProperties"] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureSqlDatabaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -7168,6 +7408,7 @@ def __init__( self.azure_cloud_type = azure_cloud_type self.encrypted_credential = encrypted_credential self.always_encrypted_settings = always_encrypted_settings + self.credential = credential class AzureSqlDwLinkedService(LinkedService): @@ -7210,6 +7451,8 @@ class AzureSqlDwLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -7231,6 +7474,7 @@ class AzureSqlDwLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -7248,6 +7492,7 @@ def __init__( tenant: Optional[object] = None, azure_cloud_type: Optional[object] = None, encrypted_credential: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureSqlDwLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -7259,6 +7504,7 @@ def __init__( self.tenant = tenant self.azure_cloud_type = azure_cloud_type self.encrypted_credential = encrypted_credential + self.credential = credential class AzureSqlDwTableDataset(Dataset): @@ -7385,6 +7631,8 @@ class AzureSqlMiLinkedService(LinkedService): :param always_encrypted_settings: Sql always encrypted properties. :type always_encrypted_settings: ~data_factory_management_client.models.SqlAlwaysEncryptedProperties + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -7407,6 +7655,7 @@ class AzureSqlMiLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -7425,6 +7674,7 @@ def __init__( azure_cloud_type: Optional[object] = None, encrypted_credential: Optional[object] = None, always_encrypted_settings: Optional["SqlAlwaysEncryptedProperties"] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(AzureSqlMiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -7437,6 +7687,7 @@ def __init__( self.azure_cloud_type = azure_cloud_type self.encrypted_credential = encrypted_credential self.always_encrypted_settings = always_encrypted_settings + self.credential = credential class AzureSqlMiTableDataset(Dataset): @@ -7545,6 +7796,9 @@ class AzureSqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -7577,6 +7831,7 @@ class AzureSqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -7594,6 +7849,7 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, sql_writer_stored_procedure_name: Optional[object] = None, sql_writer_table_type: Optional[object] = None, pre_copy_script: Optional[object] = None, @@ -7602,7 +7858,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(AzureSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureSqlSink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -7631,6 +7887,9 @@ class AzureSqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -7666,6 +7925,7 @@ class AzureSqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -7683,6 +7943,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, sql_reader_query: Optional[object] = None, @@ -7693,7 +7954,7 @@ def __init__( partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(AzureSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzureSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzureSqlSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -7955,6 +8216,9 @@ class AzureTableSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param azure_table_default_partition_key_value: Azure Table default partition key value. Type: string (or Expression with resultType string). :type azure_table_default_partition_key_value: object @@ -7981,6 +8245,7 @@ class AzureTableSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'azure_table_default_partition_key_value': {'key': 'azureTableDefaultPartitionKeyValue', 'type': 'object'}, 'azure_table_partition_key_name': {'key': 'azureTablePartitionKeyName', 'type': 'object'}, 'azure_table_row_key_name': {'key': 'azureTableRowKeyName', 'type': 'object'}, @@ -7996,13 +8261,14 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, azure_table_default_partition_key_value: Optional[object] = None, azure_table_partition_key_name: Optional[object] = None, azure_table_row_key_name: Optional[object] = None, azure_table_insert_type: Optional[object] = None, **kwargs ): - super(AzureTableSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureTableSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'AzureTableSink' # type: str self.azure_table_default_partition_key_value = azure_table_default_partition_key_value self.azure_table_partition_key_name = azure_table_partition_key_name @@ -8029,6 +8295,9 @@ class AzureTableSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -8053,6 +8322,7 @@ class AzureTableSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'azure_table_source_query': {'key': 'azureTableSourceQuery', 'type': 'object'}, @@ -8066,13 +8336,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, azure_table_source_query: Optional[object] = None, azure_table_source_ignore_table_not_found: Optional[object] = None, **kwargs ): - super(AzureTableSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzureTableSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzureTableSource' # type: str self.azure_table_source_query = azure_table_source_query self.azure_table_source_ignore_table_not_found = azure_table_source_ignore_table_not_found @@ -8327,6 +8598,9 @@ class BinarySink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Binary store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings """ @@ -8343,6 +8617,7 @@ class BinarySink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, } @@ -8355,10 +8630,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, **kwargs ): - super(BinarySink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(BinarySink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'BinarySink' # type: str self.store_settings = store_settings @@ -8382,6 +8658,9 @@ class BinarySource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Binary store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: Binary format settings. @@ -8398,6 +8677,7 @@ class BinarySource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'BinaryReadSettings'}, } @@ -8409,11 +8689,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, format_settings: Optional["BinaryReadSettings"] = None, **kwargs ): - super(BinarySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(BinarySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'BinarySource' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -8641,6 +8922,9 @@ class BlobSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param blob_writer_overwrite_files: Blob writer overwrite files. Type: boolean (or Expression with resultType boolean). :type blob_writer_overwrite_files: object @@ -8652,6 +8936,9 @@ class BlobSink(CopySink): :type blob_writer_add_header: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object + :param metadata: Specify the custom metadata to be added to sink data. Type: array of objects + (or Expression with resultType array of objects). + :type metadata: list[~data_factory_management_client.models.MetadataItem] """ _validation = { @@ -8666,10 +8953,12 @@ class BlobSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'blob_writer_overwrite_files': {'key': 'blobWriterOverwriteFiles', 'type': 'object'}, 'blob_writer_date_time_format': {'key': 'blobWriterDateTimeFormat', 'type': 'object'}, 'blob_writer_add_header': {'key': 'blobWriterAddHeader', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, + 'metadata': {'key': 'metadata', 'type': '[MetadataItem]'}, } def __init__( @@ -8681,18 +8970,21 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, blob_writer_overwrite_files: Optional[object] = None, blob_writer_date_time_format: Optional[object] = None, blob_writer_add_header: Optional[object] = None, copy_behavior: Optional[object] = None, + metadata: Optional[List["MetadataItem"]] = None, **kwargs ): - super(BlobSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(BlobSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'BlobSink' # type: str self.blob_writer_overwrite_files = blob_writer_overwrite_files self.blob_writer_date_time_format = blob_writer_date_time_format self.blob_writer_add_header = blob_writer_add_header self.copy_behavior = copy_behavior + self.metadata = metadata class BlobSource(CopySource): @@ -8714,6 +9006,9 @@ class BlobSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType boolean). :type treat_empty_as_null: object @@ -8735,6 +9030,7 @@ class BlobSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'}, 'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, @@ -8747,12 +9043,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, treat_empty_as_null: Optional[object] = None, skip_header_line_count: Optional[object] = None, recursive: Optional[object] = None, **kwargs ): - super(BlobSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(BlobSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'BlobSource' # type: str self.treat_empty_as_null = treat_empty_as_null self.skip_header_line_count = skip_header_line_count @@ -8931,6 +9228,9 @@ class CassandraSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -8960,6 +9260,7 @@ class CassandraSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -8973,13 +9274,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, consistency_level: Optional[Union[str, "CassandraSourceReadConsistencyLevels"]] = None, **kwargs ): - super(CassandraSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(CassandraSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'CassandraSource' # type: str self.query = query self.consistency_level = consistency_level @@ -9325,8 +9627,8 @@ class CommonDataServiceForAppsLinkedService(LinkedService): :param deployment_type: Required. The deployment type of the Common Data Service for Apps instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType - string). Possible values include: "Online", "OnPremisesWithIfd". - :type deployment_type: str or ~data_factory_management_client.models.DynamicsDeploymentType + string). + :type deployment_type: object :param host_name: The host name of the on-premises Common Data Service for Apps server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). @@ -9347,10 +9649,8 @@ class CommonDataServiceForAppsLinkedService(LinkedService): :param authentication_type: Required. The authentication type to connect to Common Data Service for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or - Expression with resultType string). Possible values include: "Office365", "Ifd", - "AADServicePrincipal". - :type authentication_type: str or - ~data_factory_management_client.models.DynamicsAuthenticationType + Expression with resultType string). + :type authentication_type: object :param username: User name to access the Common Data Service for Apps instance. Type: string (or Expression with resultType string). :type username: object @@ -9361,10 +9661,8 @@ class CommonDataServiceForAppsLinkedService(LinkedService): :type service_principal_id: object :param service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' - for certificate. Type: string (or Expression with resultType string). Possible values include: - "ServicePrincipalKey", "ServicePrincipalCert". - :type service_principal_credential_type: str or - ~data_factory_management_client.models.DynamicsServicePrincipalCredentialType + for certificate. Type: string (or Expression with resultType string). + :type service_principal_credential_type: object :param service_principal_credential: The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If @@ -9390,16 +9688,16 @@ class CommonDataServiceForAppsLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, - 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'object'}, 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, 'port': {'key': 'typeProperties.port', 'type': 'object'}, 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, - 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, - 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'}, 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -9407,8 +9705,8 @@ class CommonDataServiceForAppsLinkedService(LinkedService): def __init__( self, *, - deployment_type: Union[str, "DynamicsDeploymentType"], - authentication_type: Union[str, "DynamicsAuthenticationType"], + deployment_type: object, + authentication_type: object, additional_properties: Optional[Dict[str, object]] = None, connect_via: Optional["IntegrationRuntimeReference"] = None, description: Optional[str] = None, @@ -9421,7 +9719,7 @@ def __init__( username: Optional[object] = None, password: Optional["SecretBase"] = None, service_principal_id: Optional[object] = None, - service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None, + service_principal_credential_type: Optional[object] = None, service_principal_credential: Optional["SecretBase"] = None, encrypted_credential: Optional[object] = None, **kwargs @@ -9467,6 +9765,9 @@ class CommonDataServiceForAppsSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Required. The write behavior for the operation. Possible values include: "Upsert". :type write_behavior: str or ~data_factory_management_client.models.DynamicsSinkWriteBehavior @@ -9492,6 +9793,7 @@ class CommonDataServiceForAppsSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, 'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'}, @@ -9507,11 +9809,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, ignore_null_values: Optional[object] = None, alternate_key_name: Optional[object] = None, **kwargs ): - super(CommonDataServiceForAppsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CommonDataServiceForAppsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'CommonDataServiceForAppsSink' # type: str self.write_behavior = write_behavior self.ignore_null_values = ignore_null_values @@ -9537,6 +9840,9 @@ class CommonDataServiceForAppsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: FetchXML is a proprietary query language that is used in Microsoft Common Data Service for Apps (online & on-premises). Type: string (or Expression with resultType string). :type query: object @@ -9555,6 +9861,7 @@ class CommonDataServiceForAppsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -9566,11 +9873,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(CommonDataServiceForAppsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CommonDataServiceForAppsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'CommonDataServiceForAppsSource' # type: str self.query = query self.additional_columns = additional_columns @@ -9836,6 +10144,9 @@ class ConcurSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -9857,6 +10168,7 @@ class ConcurSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -9869,12 +10181,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(ConcurSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(ConcurSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'ConcurSource' # type: str self.query = query @@ -10458,6 +10771,9 @@ class CosmosDbMongoDbApiSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Specifies whether the document with same key to be overwritten (upsert) rather than throw exception (insert). The default value is "insert". Type: string (or Expression with resultType string). Type: string (or Expression with resultType string). @@ -10476,6 +10792,7 @@ class CosmosDbMongoDbApiSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, } @@ -10488,10 +10805,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, write_behavior: Optional[object] = None, **kwargs ): - super(CosmosDbMongoDbApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbMongoDbApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'CosmosDbMongoDbApiSink' # type: str self.write_behavior = write_behavior @@ -10515,6 +10833,9 @@ class CosmosDbMongoDbApiSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param filter: Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). @@ -10544,6 +10865,7 @@ class CosmosDbMongoDbApiSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, @@ -10558,6 +10880,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, filter: Optional[object] = None, cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None, batch_size: Optional[object] = None, @@ -10565,7 +10888,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(CosmosDbMongoDbApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbMongoDbApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'CosmosDbMongoDbApiSource' # type: str self.filter = filter self.cursor_methods = cursor_methods @@ -10669,6 +10992,9 @@ class CosmosDbSqlApiSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert. :type write_behavior: object @@ -10686,6 +11012,7 @@ class CosmosDbSqlApiSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, } @@ -10698,10 +11025,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, write_behavior: Optional[object] = None, **kwargs ): - super(CosmosDbSqlApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbSqlApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'CosmosDbSqlApiSink' # type: str self.write_behavior = write_behavior @@ -10725,6 +11053,9 @@ class CosmosDbSqlApiSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: SQL API query. Type: string (or Expression with resultType string). :type query: object :param page_size: Page size of the result. Type: integer (or Expression with resultType @@ -10751,6 +11082,7 @@ class CosmosDbSqlApiSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'page_size': {'key': 'pageSize', 'type': 'object'}, 'preferred_regions': {'key': 'preferredRegions', 'type': 'object'}, @@ -10765,6 +11097,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, page_size: Optional[object] = None, preferred_regions: Optional[object] = None, @@ -10772,7 +11105,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(CosmosDbSqlApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbSqlApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'CosmosDbSqlApiSource' # type: str self.query = query self.page_size = page_size @@ -10865,6 +11198,9 @@ class CouchbaseSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -10886,6 +11222,7 @@ class CouchbaseSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -10898,12 +11235,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(CouchbaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(CouchbaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'CouchbaseSource' # type: str self.query = query @@ -11107,6 +11445,181 @@ def __init__( self.run_id = run_id +class Credential(msrest.serialization.Model): + """The Azure Data Factory nested object which contains the information and credential which can be used to connect with related store or compute resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIdentityCredential, ServicePrincipalCredential. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of credential.Constant filled by server. + :type type: str + :param description: Credential description. + :type description: str + :param annotations: List of tags that can be used for describing the Credential. + :type annotations: list[object] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + } + + _subtype_map = { + 'type': {'ManagedIdentity': 'ManagedIdentityCredential', 'ServicePrincipal': 'ServicePrincipalCredential'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(Credential, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'Credential' # type: str + self.description = description + self.annotations = annotations + + +class CredentialReference(msrest.serialization.Model): + """Credential reference 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. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar type: Required. Credential reference type. Default value: "CredentialReference". + :vartype type: str + :param reference_name: Required. Reference credential name. + :type reference_name: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + type = "CredentialReference" + + def __init__( + self, + *, + reference_name: str, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(CredentialReference, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.reference_name = reference_name + + +class SubResource(msrest.serialization.Model): + """Azure Data Factory 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 CredentialResource(SubResource): + """Credential 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. Properties of credentials. + :type properties: ~data_factory_management_client.models.Credential + """ + + _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': 'Credential'}, + } + + def __init__( + self, + *, + properties: "Credential", + **kwargs + ): + super(CredentialResource, self).__init__(**kwargs) + self.properties = properties + + class CustomActivity(ExecutionActivity): """Custom activity type. @@ -12092,46 +12605,6 @@ def __init__( self.dataset_parameters = dataset_parameters -class SubResource(msrest.serialization.Model): - """Azure Data Factory 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 DataFlowResource(SubResource): """Data flow resource type. @@ -12594,8 +13067,8 @@ class DatasetDeflateCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The Deflate compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The Deflate compression level. + :type level: object """ _validation = { @@ -12605,14 +13078,14 @@ class DatasetDeflateCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( self, *, additional_properties: Optional[Dict[str, object]] = None, - level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + level: Optional[object] = None, **kwargs ): super(DatasetDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs) @@ -12651,8 +13124,8 @@ class DatasetGZipCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The GZip compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The GZip compression level. + :type level: object """ _validation = { @@ -12662,14 +13135,14 @@ class DatasetGZipCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( self, *, additional_properties: Optional[Dict[str, object]] = None, - level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + level: Optional[object] = None, **kwargs ): super(DatasetGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs) @@ -12867,8 +13340,8 @@ class DatasetTarGZipCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The TarGZip compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The TarGZip compression level. + :type level: object """ _validation = { @@ -12878,14 +13351,14 @@ class DatasetTarGZipCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( self, *, additional_properties: Optional[Dict[str, object]] = None, - level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + level: Optional[object] = None, **kwargs ): super(DatasetTarGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs) @@ -12903,8 +13376,8 @@ class DatasetZipDeflateCompression(DatasetCompression): :type additional_properties: dict[str, object] :param type: Required. Type of dataset compression.Constant filled by server. :type type: str - :param level: The ZipDeflate compression level. Possible values include: "Optimal", "Fastest". - :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param level: The ZipDeflate compression level. + :type level: object """ _validation = { @@ -12914,14 +13387,14 @@ class DatasetZipDeflateCompression(DatasetCompression): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'object'}, } def __init__( self, *, additional_properties: Optional[Dict[str, object]] = None, - level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + level: Optional[object] = None, **kwargs ): super(DatasetZipDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs) @@ -13051,6 +13524,9 @@ class Db2Source(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -13071,6 +13547,7 @@ class Db2Source(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -13083,12 +13560,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(Db2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(Db2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'Db2Source' # type: str self.query = query @@ -13326,12 +13804,11 @@ class DelimitedTextDataset(Dataset): https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with resultType string). :type encoding_name: object - :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4", "tar", "tarGZip". - :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec - :param compression_level: The data compression method used for DelimitedText. Possible values - include: "Optimal", "Fastest". - :type compression_level: str or ~data_factory_management_client.models.DatasetCompressionLevel + :param compression_codec: The data compressionCodec. Type: string (or Expression with + resultType string). + :type compression_codec: object + :param compression_level: The data compression method used for DelimitedText. + :type compression_level: object :param quote_char: The quote character. Type: string (or Expression with resultType string). :type quote_char: object :param escape_char: The escape character. Type: string (or Expression with resultType string). @@ -13363,8 +13840,8 @@ class DelimitedTextDataset(Dataset): 'column_delimiter': {'key': 'typeProperties.columnDelimiter', 'type': 'object'}, 'row_delimiter': {'key': 'typeProperties.rowDelimiter', 'type': 'object'}, 'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'}, - 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, - 'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'str'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'object'}, + 'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'object'}, 'quote_char': {'key': 'typeProperties.quoteChar', 'type': 'object'}, 'escape_char': {'key': 'typeProperties.escapeChar', 'type': 'object'}, 'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'}, @@ -13386,8 +13863,8 @@ def __init__( column_delimiter: Optional[object] = None, row_delimiter: Optional[object] = None, encoding_name: Optional[object] = None, - compression_codec: Optional[Union[str, "CompressionCodec"]] = None, - compression_level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + compression_codec: Optional[object] = None, + compression_level: Optional[object] = None, quote_char: Optional[object] = None, escape_char: Optional[object] = None, first_row_as_header: Optional[object] = None, @@ -13475,6 +13952,9 @@ class DelimitedTextSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: DelimitedText store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: DelimitedText format settings. @@ -13493,6 +13973,7 @@ class DelimitedTextSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextWriteSettings'}, } @@ -13506,11 +13987,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, format_settings: Optional["DelimitedTextWriteSettings"] = None, **kwargs ): - super(DelimitedTextSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DelimitedTextSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DelimitedTextSink' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -13535,6 +14017,9 @@ class DelimitedTextSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: DelimitedText store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: DelimitedText format settings. @@ -13554,6 +14039,7 @@ class DelimitedTextSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -13566,12 +14052,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, format_settings: Optional["DelimitedTextReadSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(DelimitedTextSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DelimitedTextSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DelimitedTextSource' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -13804,6 +14291,9 @@ class DocumentDbCollectionSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param nesting_separator: Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string). :type nesting_separator: object @@ -13824,6 +14314,7 @@ class DocumentDbCollectionSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, } @@ -13837,11 +14328,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, nesting_separator: Optional[object] = None, write_behavior: Optional[object] = None, **kwargs ): - super(DocumentDbCollectionSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DocumentDbCollectionSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DocumentDbCollectionSink' # type: str self.nesting_separator = nesting_separator self.write_behavior = write_behavior @@ -13866,6 +14358,9 @@ class DocumentDbCollectionSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Documents query. Type: string (or Expression with resultType string). :type query: object :param nesting_separator: Nested properties separator. Type: string (or Expression with @@ -13889,6 +14384,7 @@ class DocumentDbCollectionSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, @@ -13902,13 +14398,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, nesting_separator: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(DocumentDbCollectionSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DocumentDbCollectionSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DocumentDbCollectionSource' # type: str self.query = query self.nesting_separator = nesting_separator @@ -14000,6 +14497,9 @@ class DrillSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -14021,6 +14521,7 @@ class DrillSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -14033,12 +14534,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(DrillSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(DrillSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'DrillSource' # type: str self.query = query @@ -14361,6 +14863,9 @@ class DynamicsAxSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -14387,6 +14892,7 @@ class DynamicsAxSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -14400,13 +14906,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, http_request_timeout: Optional[object] = None, **kwargs ): - super(DynamicsAxSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(DynamicsAxSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'DynamicsAXSource' # type: str self.query = query self.http_request_timeout = http_request_timeout @@ -14501,9 +15008,8 @@ class DynamicsCrmLinkedService(LinkedService): :type annotations: list[object] :param deployment_type: Required. The deployment type of the Dynamics CRM instance. 'Online' for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: - string (or Expression with resultType string). Possible values include: "Online", - "OnPremisesWithIfd". - :type deployment_type: str or ~data_factory_management_client.models.DynamicsDeploymentType + string (or Expression with resultType string). + :type deployment_type: object :param host_name: The host name of the on-premises Dynamics CRM server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). @@ -14522,10 +15028,8 @@ class DynamicsCrmLinkedService(LinkedService): :param authentication_type: Required. The authentication type to connect to Dynamics CRM server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or - Expression with resultType string). Possible values include: "Office365", "Ifd", - "AADServicePrincipal". - :type authentication_type: str or - ~data_factory_management_client.models.DynamicsAuthenticationType + Expression with resultType string). + :type authentication_type: object :param username: User name to access the Dynamics CRM instance. Type: string (or Expression with resultType string). :type username: object @@ -14536,10 +15040,8 @@ class DynamicsCrmLinkedService(LinkedService): :type service_principal_id: object :param service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' - for certificate. Type: string (or Expression with resultType string). Possible values include: - "ServicePrincipalKey", "ServicePrincipalCert". - :type service_principal_credential_type: str or - ~data_factory_management_client.models.DynamicsServicePrincipalCredentialType + for certificate. Type: string (or Expression with resultType string). + :type service_principal_credential_type: object :param service_principal_credential: The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If @@ -14565,16 +15067,16 @@ class DynamicsCrmLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, - 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'object'}, 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, 'port': {'key': 'typeProperties.port', 'type': 'object'}, 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, - 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, - 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'}, 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -14582,8 +15084,8 @@ class DynamicsCrmLinkedService(LinkedService): def __init__( self, *, - deployment_type: Union[str, "DynamicsDeploymentType"], - authentication_type: Union[str, "DynamicsAuthenticationType"], + deployment_type: object, + authentication_type: object, additional_properties: Optional[Dict[str, object]] = None, connect_via: Optional["IntegrationRuntimeReference"] = None, description: Optional[str] = None, @@ -14596,7 +15098,7 @@ def __init__( username: Optional[object] = None, password: Optional["SecretBase"] = None, service_principal_id: Optional[object] = None, - service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None, + service_principal_credential_type: Optional[object] = None, service_principal_credential: Optional["SecretBase"] = None, encrypted_credential: Optional[object] = None, **kwargs @@ -14642,6 +15144,9 @@ class DynamicsCrmSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Required. The write behavior for the operation. Possible values include: "Upsert". :type write_behavior: str or ~data_factory_management_client.models.DynamicsSinkWriteBehavior @@ -14667,6 +15172,7 @@ class DynamicsCrmSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, 'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'}, @@ -14682,11 +15188,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, ignore_null_values: Optional[object] = None, alternate_key_name: Optional[object] = None, **kwargs ): - super(DynamicsCrmSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DynamicsCrmSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DynamicsCrmSink' # type: str self.write_behavior = write_behavior self.ignore_null_values = ignore_null_values @@ -14712,6 +15219,9 @@ class DynamicsCrmSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string). :type query: object @@ -14730,6 +15240,7 @@ class DynamicsCrmSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -14741,11 +15252,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(DynamicsCrmSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DynamicsCrmSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DynamicsCrmSource' # type: str self.query = query self.additional_columns = additional_columns @@ -14840,8 +15352,8 @@ class DynamicsLinkedService(LinkedService): :type annotations: list[object] :param deployment_type: Required. The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or - Expression with resultType string). Possible values include: "Online", "OnPremisesWithIfd". - :type deployment_type: str or ~data_factory_management_client.models.DynamicsDeploymentType + Expression with resultType string). + :type deployment_type: object :param host_name: The host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). :type host_name: object @@ -14859,9 +15371,8 @@ class DynamicsLinkedService(LinkedService): :param authentication_type: Required. The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with - resultType string). Possible values include: "Office365", "Ifd", "AADServicePrincipal". - :type authentication_type: str or - ~data_factory_management_client.models.DynamicsAuthenticationType + resultType string). + :type authentication_type: object :param username: User name to access the Dynamics instance. Type: string (or Expression with resultType string). :type username: object @@ -14872,10 +15383,8 @@ class DynamicsLinkedService(LinkedService): :type service_principal_id: object :param service_principal_credential_type: The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' - for certificate. Type: string (or Expression with resultType string). Possible values include: - "ServicePrincipalKey", "ServicePrincipalCert". - :type service_principal_credential_type: str or - ~data_factory_management_client.models.DynamicsServicePrincipalCredentialType + for certificate. Type: string (or Expression with resultType string). + :type service_principal_credential_type: str :param service_principal_credential: The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If @@ -14901,12 +15410,12 @@ class DynamicsLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, - 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'object'}, 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, 'port': {'key': 'typeProperties.port', 'type': 'object'}, 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, - 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, @@ -14918,8 +15427,8 @@ class DynamicsLinkedService(LinkedService): def __init__( self, *, - deployment_type: Union[str, "DynamicsDeploymentType"], - authentication_type: Union[str, "DynamicsAuthenticationType"], + deployment_type: object, + authentication_type: object, additional_properties: Optional[Dict[str, object]] = None, connect_via: Optional["IntegrationRuntimeReference"] = None, description: Optional[str] = None, @@ -14932,7 +15441,7 @@ def __init__( username: Optional[object] = None, password: Optional["SecretBase"] = None, service_principal_id: Optional[object] = None, - service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None, + service_principal_credential_type: Optional[str] = None, service_principal_credential: Optional["SecretBase"] = None, encrypted_credential: Optional[object] = None, **kwargs @@ -14978,6 +15487,9 @@ class DynamicsSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: Required. The write behavior for the operation. Possible values include: "Upsert". :type write_behavior: str or ~data_factory_management_client.models.DynamicsSinkWriteBehavior @@ -15003,6 +15515,7 @@ class DynamicsSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, 'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'}, @@ -15018,11 +15531,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, ignore_null_values: Optional[object] = None, alternate_key_name: Optional[object] = None, **kwargs ): - super(DynamicsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DynamicsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DynamicsSink' # type: str self.write_behavior = write_behavior self.ignore_null_values = ignore_null_values @@ -15048,6 +15562,9 @@ class DynamicsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string). :type query: object @@ -15066,6 +15583,7 @@ class DynamicsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -15077,11 +15595,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(DynamicsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DynamicsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'DynamicsSource' # type: str self.query = query self.additional_columns = additional_columns @@ -15265,6 +15784,9 @@ class EloquaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -15286,6 +15808,7 @@ class EloquaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -15298,12 +15821,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(EloquaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(EloquaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'EloquaSource' # type: str self.query = query @@ -15448,9 +15972,12 @@ class ExcelDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the excel storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param sheet_name: The sheet of excel file. Type: string (or Expression with resultType + :param sheet_name: The sheet name of excel file. Type: string (or Expression with resultType string). :type sheet_name: object + :param sheet_index: The sheet index of excel file and default value is 0. Type: integer (or + Expression with resultType integer). + :type sheet_index: object :param range: The partial data of one sheet. Type: string (or Expression with resultType string). :type range: object @@ -15481,6 +16008,7 @@ class ExcelDataset(Dataset): 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, 'sheet_name': {'key': 'typeProperties.sheetName', 'type': 'object'}, + 'sheet_index': {'key': 'typeProperties.sheetIndex', 'type': 'object'}, 'range': {'key': 'typeProperties.range', 'type': 'object'}, 'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'}, 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, @@ -15500,6 +16028,7 @@ def __init__( folder: Optional["DatasetFolder"] = None, location: Optional["DatasetLocation"] = None, sheet_name: Optional[object] = None, + sheet_index: Optional[object] = None, range: Optional[object] = None, first_row_as_header: Optional[object] = None, compression: Optional["DatasetCompression"] = None, @@ -15510,6 +16039,7 @@ def __init__( self.type = 'Excel' # type: str self.location = location self.sheet_name = sheet_name + self.sheet_index = sheet_index self.range = range self.first_row_as_header = first_row_as_header self.compression = compression @@ -15535,6 +16065,9 @@ class ExcelSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Excel store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -15552,6 +16085,7 @@ class ExcelSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -15563,11 +16097,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(ExcelSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(ExcelSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'ExcelSource' # type: str self.store_settings = store_settings self.additional_columns = additional_columns @@ -16614,6 +17149,9 @@ class FileServerReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -16654,6 +17192,7 @@ class FileServerReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -16671,6 +17210,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -16683,7 +17223,7 @@ def __init__( file_filter: Optional[object] = None, **kwargs ): - super(FileServerReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(FileServerReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'FileServerReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -16710,6 +17250,9 @@ class FileServerWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -16722,6 +17265,7 @@ class FileServerWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -16730,10 +17274,11 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, **kwargs ): - super(FileServerWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs) + super(FileServerWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, copy_behavior=copy_behavior, **kwargs) self.type = 'FileServerWriteSettings' # type: str @@ -16865,6 +17410,9 @@ class FileSystemSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object """ @@ -16881,6 +17429,7 @@ class FileSystemSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, } @@ -16893,10 +17442,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, **kwargs ): - super(FileSystemSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(FileSystemSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'FileSystemSink' # type: str self.copy_behavior = copy_behavior @@ -16920,6 +17470,9 @@ class FileSystemSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -16938,6 +17491,7 @@ class FileSystemSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -16949,11 +17503,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(FileSystemSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(FileSystemSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'FileSystemSource' # type: str self.recursive = recursive self.additional_columns = additional_columns @@ -17104,6 +17659,9 @@ class FtpReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -17137,6 +17695,7 @@ class FtpReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -17152,6 +17711,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -17162,7 +17722,7 @@ def __init__( use_binary_transfer: Optional[bool] = None, **kwargs ): - super(FtpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(FtpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'FtpReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -17446,6 +18006,8 @@ class GitHubAccessTokenRequest(msrest.serialization.Model): :type git_hub_access_code: str :param git_hub_client_id: GitHub application client ID. :type git_hub_client_id: str + :param git_hub_client_secret: GitHub bring your own app client secret information. + :type git_hub_client_secret: ~data_factory_management_client.models.GitHubClientSecret :param git_hub_access_token_base_url: Required. GitHub access token base URL. :type git_hub_access_token_base_url: str """ @@ -17458,6 +18020,7 @@ class GitHubAccessTokenRequest(msrest.serialization.Model): _attribute_map = { 'git_hub_access_code': {'key': 'gitHubAccessCode', 'type': 'str'}, 'git_hub_client_id': {'key': 'gitHubClientId', 'type': 'str'}, + 'git_hub_client_secret': {'key': 'gitHubClientSecret', 'type': 'GitHubClientSecret'}, 'git_hub_access_token_base_url': {'key': 'gitHubAccessTokenBaseUrl', 'type': 'str'}, } @@ -17467,11 +18030,13 @@ def __init__( git_hub_access_code: str, git_hub_access_token_base_url: str, git_hub_client_id: Optional[str] = None, + git_hub_client_secret: Optional["GitHubClientSecret"] = None, **kwargs ): super(GitHubAccessTokenRequest, self).__init__(**kwargs) self.git_hub_access_code = git_hub_access_code self.git_hub_client_id = git_hub_client_id + self.git_hub_client_secret = git_hub_client_secret self.git_hub_access_token_base_url = git_hub_access_token_base_url @@ -17496,6 +18061,32 @@ def __init__( self.git_hub_access_token = git_hub_access_token +class GitHubClientSecret(msrest.serialization.Model): + """Client secret information for factory's bring your own app repository configuration. + + :param byoa_secret_akv_url: Bring your own app client secret AKV URL. + :type byoa_secret_akv_url: str + :param byoa_secret_name: Bring your own app client secret name in AKV. + :type byoa_secret_name: str + """ + + _attribute_map = { + 'byoa_secret_akv_url': {'key': 'byoaSecretAkvUrl', 'type': 'str'}, + 'byoa_secret_name': {'key': 'byoaSecretName', 'type': 'str'}, + } + + def __init__( + self, + *, + byoa_secret_akv_url: Optional[str] = None, + byoa_secret_name: Optional[str] = None, + **kwargs + ): + super(GitHubClientSecret, self).__init__(**kwargs) + self.byoa_secret_akv_url = byoa_secret_akv_url + self.byoa_secret_name = byoa_secret_name + + class GlobalParameterSpecification(msrest.serialization.Model): """Definition of a single parameter for an entity. @@ -17737,6 +18328,9 @@ class GoogleAdWordsSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -17758,6 +18352,7 @@ class GoogleAdWordsSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -17770,12 +18365,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(GoogleAdWordsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(GoogleAdWordsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'GoogleAdWordsSource' # type: str self.query = query @@ -18004,6 +18600,9 @@ class GoogleBigQuerySource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -18025,6 +18624,7 @@ class GoogleBigQuerySource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -18037,12 +18637,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(GoogleBigQuerySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(GoogleBigQuerySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'GoogleBigQuerySource' # type: str self.query = query @@ -18187,6 +18788,9 @@ class GoogleCloudStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -18227,6 +18831,7 @@ class GoogleCloudStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -18244,6 +18849,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -18256,7 +18862,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(GoogleCloudStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(GoogleCloudStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'GoogleCloudStorageReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -18354,6 +18960,9 @@ class GreenplumSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -18375,6 +18984,7 @@ class GreenplumSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -18387,12 +18997,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(GreenplumSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(GreenplumSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'GreenplumSource' # type: str self.query = query @@ -18679,6 +19290,9 @@ class HBaseSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -18700,6 +19314,7 @@ class HBaseSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -18712,12 +19327,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(HBaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(HBaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'HBaseSource' # type: str self.query = query @@ -18854,6 +19470,9 @@ class HdfsReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -18893,6 +19512,7 @@ class HdfsReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -18910,6 +19530,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -18922,7 +19543,7 @@ def __init__( delete_files_after_completion: Optional[object] = None, **kwargs ): - super(HdfsReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(HdfsReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'HdfsReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -18955,6 +19576,9 @@ class HdfsSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -18972,6 +19596,7 @@ class HdfsSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'distcp_settings': {'key': 'distcpSettings', 'type': 'DistcpSettings'}, } @@ -18983,11 +19608,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, distcp_settings: Optional["DistcpSettings"] = None, **kwargs ): - super(HdfsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(HdfsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'HdfsSource' # type: str self.recursive = recursive self.distcp_settings = distcp_settings @@ -19407,6 +20033,8 @@ class HdInsightOnDemandLinkedService(LinkedService): :param subnet_name: The ARM resource ID for the subnet in the vNet. If virtualNetworkId was specified, then this property is required. Type: string (or Expression with resultType string). :type subnet_name: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -19460,6 +20088,7 @@ class HdInsightOnDemandLinkedService(LinkedService): 'script_actions': {'key': 'typeProperties.scriptActions', 'type': '[ScriptAction]'}, 'virtual_network_id': {'key': 'typeProperties.virtualNetworkId', 'type': 'object'}, 'subnet_name': {'key': 'typeProperties.subnetName', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -19503,6 +20132,7 @@ def __init__( script_actions: Optional[List["ScriptAction"]] = None, virtual_network_id: Optional[object] = None, subnet_name: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(HdInsightOnDemandLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -19540,6 +20170,7 @@ def __init__( self.script_actions = script_actions self.virtual_network_id = virtual_network_id self.subnet_name = subnet_name + self.credential = credential class HdInsightPigActivity(ExecutionActivity): @@ -20109,6 +20740,9 @@ class HiveSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -20130,6 +20764,7 @@ class HiveSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -20142,12 +20777,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(HiveSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(HiveSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'HiveSource' # type: str self.query = query @@ -20372,6 +21008,9 @@ class HttpReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). :type request_method: object @@ -20399,6 +21038,7 @@ class HttpReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'request_method': {'key': 'requestMethod', 'type': 'object'}, 'request_body': {'key': 'requestBody', 'type': 'object'}, 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, @@ -20412,6 +21052,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, request_method: Optional[object] = None, request_body: Optional[object] = None, additional_headers: Optional[object] = None, @@ -20420,7 +21061,7 @@ def __init__( partition_root_path: Optional[object] = None, **kwargs ): - super(HttpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(HttpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'HttpReadSettings' # type: str self.request_method = request_method self.request_body = request_body @@ -20496,6 +21137,9 @@ class HttpSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param http_request_timeout: Specifies the timeout for a HTTP client to get HTTP response from HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string (or Expression with resultType string), pattern: @@ -20513,6 +21157,7 @@ class HttpSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, } @@ -20523,10 +21168,11 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, http_request_timeout: Optional[object] = None, **kwargs ): - super(HttpSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(HttpSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'HttpSource' # type: str self.http_request_timeout = http_request_timeout @@ -20714,6 +21360,9 @@ class HubspotSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -20735,6 +21384,7 @@ class HubspotSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -20747,12 +21397,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(HubspotSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(HubspotSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'HubspotSource' # type: str self.query = query @@ -21042,6 +21693,9 @@ class ImpalaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -21063,6 +21717,7 @@ class ImpalaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -21075,12 +21730,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(ImpalaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(ImpalaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'ImpalaSource' # type: str self.query = query @@ -21196,6 +21852,9 @@ class InformixSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -21213,6 +21872,7 @@ class InformixSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -21225,10 +21885,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, **kwargs ): - super(InformixSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(InformixSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'InformixSink' # type: str self.pre_copy_script = pre_copy_script @@ -21252,6 +21913,9 @@ class InformixSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -21272,6 +21936,7 @@ class InformixSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -21284,12 +21949,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(InformixSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(InformixSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'InformixSource' # type: str self.query = query @@ -22031,6 +22697,8 @@ class IntegrationRuntimeSsisProperties(msrest.serialization.Model): list[~data_factory_management_client.models.CustomSetupBase] :param package_stores: Package stores for the SSIS Integration Runtime. :type package_stores: list[~data_factory_management_client.models.PackageStore] + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _attribute_map = { @@ -22042,6 +22710,7 @@ class IntegrationRuntimeSsisProperties(msrest.serialization.Model): 'edition': {'key': 'edition', 'type': 'str'}, 'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'}, 'package_stores': {'key': 'packageStores', 'type': '[PackageStore]'}, + 'credential': {'key': 'credential', 'type': 'CredentialReference'}, } def __init__( @@ -22055,6 +22724,7 @@ def __init__( edition: Optional[Union[str, "IntegrationRuntimeEdition"]] = None, express_custom_setup_properties: Optional[List["CustomSetupBase"]] = None, package_stores: Optional[List["PackageStore"]] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(IntegrationRuntimeSsisProperties, self).__init__(**kwargs) @@ -22066,6 +22736,7 @@ def __init__( self.edition = edition self.express_custom_setup_properties = express_custom_setup_properties self.package_stores = package_stores + self.credential = credential class IntegrationRuntimeStatus(msrest.serialization.Model): @@ -22411,6 +23082,9 @@ class JiraSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -22432,6 +23106,7 @@ class JiraSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -22444,12 +23119,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(JiraSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(JiraSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'JiraSource' # type: str self.query = query @@ -22551,9 +23227,8 @@ class JsonFormat(DatasetStorageFormat): :param deserializer: Deserializer. Type: string (or Expression with resultType string). :type deserializer: object :param file_pattern: File pattern of JSON. To be more specific, the way of separating a - collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. Possible - values include: "setOfObjects", "arrayOfObjects". - :type file_pattern: str or ~data_factory_management_client.models.JsonFormatFilePattern + collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. + :type file_pattern: object :param nesting_separator: The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string). :type nesting_separator: object @@ -22583,7 +23258,7 @@ class JsonFormat(DatasetStorageFormat): 'type': {'key': 'type', 'type': 'str'}, 'serializer': {'key': 'serializer', 'type': 'object'}, 'deserializer': {'key': 'deserializer', 'type': 'object'}, - 'file_pattern': {'key': 'filePattern', 'type': 'str'}, + 'file_pattern': {'key': 'filePattern', 'type': 'object'}, 'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'}, 'encoding_name': {'key': 'encodingName', 'type': 'object'}, 'json_node_reference': {'key': 'jsonNodeReference', 'type': 'object'}, @@ -22596,7 +23271,7 @@ def __init__( additional_properties: Optional[Dict[str, object]] = None, serializer: Optional[object] = None, deserializer: Optional[object] = None, - file_pattern: Optional[Union[str, "JsonFormatFilePattern"]] = None, + file_pattern: Optional[object] = None, nesting_separator: Optional[object] = None, encoding_name: Optional[object] = None, json_node_reference: Optional[object] = None, @@ -22673,6 +23348,9 @@ class JsonSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Json store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: Json format settings. @@ -22691,6 +23369,7 @@ class JsonSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'JsonWriteSettings'}, } @@ -22704,11 +23383,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, format_settings: Optional["JsonWriteSettings"] = None, **kwargs ): - super(JsonSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(JsonSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'JsonSink' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -22733,6 +23413,9 @@ class JsonSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Json store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: Json format settings. @@ -22752,6 +23435,7 @@ class JsonSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'JsonReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -22764,12 +23448,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, format_settings: Optional["JsonReadSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(JsonSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(JsonSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'JsonSource' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -22787,9 +23472,8 @@ class JsonWriteSettings(FormatWriteSettings): :param type: Required. The write setting type.Constant filled by server. :type type: str :param file_pattern: File pattern of JSON. This setting controls the way a collection of JSON - objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. Possible - values include: "setOfObjects", "arrayOfObjects". - :type file_pattern: str or ~data_factory_management_client.models.JsonWriteFilePattern + objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. + :type file_pattern: object """ _validation = { @@ -22799,14 +23483,14 @@ class JsonWriteSettings(FormatWriteSettings): _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, - 'file_pattern': {'key': 'filePattern', 'type': 'str'}, + 'file_pattern': {'key': 'filePattern', 'type': 'object'}, } def __init__( self, *, additional_properties: Optional[Dict[str, object]] = None, - file_pattern: Optional[Union[str, "JsonWriteFilePattern"]] = None, + file_pattern: Optional[object] = None, **kwargs ): super(JsonWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs) @@ -23504,6 +24188,9 @@ class MagentoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -23525,6 +24212,7 @@ class MagentoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -23537,16 +24225,61 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(MagentoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(MagentoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'MagentoSource' # type: str self.query = query +class ManagedIdentityCredential(Credential): + """Managed identity credential. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of credential.Constant filled by server. + :type type: str + :param description: Credential description. + :type description: str + :param annotations: List of tags that can be used for describing the Credential. + :type annotations: list[object] + :param resource_id: The resource id of user assigned managed identity. + :type resource_id: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'resource_id': {'key': 'typeProperties.resourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + resource_id: Optional[str] = None, + **kwargs + ): + super(ManagedIdentityCredential, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs) + self.type = 'ManagedIdentity' # type: str + self.resource_id = resource_id + + class ManagedIntegrationRuntime(IntegrationRuntime): """Managed integration runtime, including managed elastic and managed dedicated integration runtimes. @@ -24245,6 +24978,9 @@ class MariaDbSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -24266,6 +25002,7 @@ class MariaDbSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -24278,12 +25015,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(MariaDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(MariaDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'MariaDBSource' # type: str self.query = query @@ -24533,6 +25271,9 @@ class MarketoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -24554,6 +25295,7 @@ class MarketoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -24566,16 +25308,43 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(MarketoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(MarketoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'MarketoSource' # type: str self.query = query +class MetadataItem(msrest.serialization.Model): + """Specify the name and value of custom metadata item. + + :param name: Metadata item key name. Type: string (or Expression with resultType string). + :type name: object + :param value: Metadata item value. Type: string (or Expression with resultType string). + :type value: object + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'object'}, + 'value': {'key': 'value', 'type': 'object'}, + } + + def __init__( + self, + *, + name: Optional[object] = None, + value: Optional[object] = None, + **kwargs + ): + super(MetadataItem, self).__init__(**kwargs) + self.name = name + self.value = value + + class MicrosoftAccessLinkedService(LinkedService): """Microsoft Access linked service. @@ -24687,6 +25456,9 @@ class MicrosoftAccessSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -24704,6 +25476,7 @@ class MicrosoftAccessSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -24716,10 +25489,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, **kwargs ): - super(MicrosoftAccessSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(MicrosoftAccessSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'MicrosoftAccessSink' # type: str self.pre_copy_script = pre_copy_script @@ -24743,6 +25517,9 @@ class MicrosoftAccessSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Type: string (or Expression with resultType string). :type query: object :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -24760,6 +25537,7 @@ class MicrosoftAccessSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -24771,11 +25549,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(MicrosoftAccessSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(MicrosoftAccessSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'MicrosoftAccessSource' # type: str self.query = query self.additional_columns = additional_columns @@ -24982,6 +25761,74 @@ def __init__( self.database = database +class MongoDbAtlasSink(CopySink): + """A copy activity MongoDB Atlas sink. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object + :param write_behavior: Specifies whether the document with same key to be overwritten (upsert) + rather than throw exception (insert). The default value is "insert". Type: string (or + Expression with resultType string). Type: string (or Expression with resultType string). + :type write_behavior: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, + 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + write_batch_size: Optional[object] = None, + write_batch_timeout: Optional[object] = None, + sink_retry_count: Optional[object] = None, + sink_retry_wait: Optional[object] = None, + max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, + write_behavior: Optional[object] = None, + **kwargs + ): + super(MongoDbAtlasSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) + self.type = 'MongoDbAtlasSink' # type: str + self.write_behavior = write_behavior + + class MongoDbAtlasSource(CopySource): """A copy activity source for a MongoDB Atlas database. @@ -25001,6 +25848,9 @@ class MongoDbAtlasSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param filter: Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). @@ -25030,6 +25880,7 @@ class MongoDbAtlasSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, @@ -25044,6 +25895,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, filter: Optional[object] = None, cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None, batch_size: Optional[object] = None, @@ -25051,7 +25903,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(MongoDbAtlasSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(MongoDbAtlasSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'MongoDbAtlasSource' # type: str self.filter = filter self.cursor_methods = cursor_methods @@ -25308,6 +26160,9 @@ class MongoDbSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string). :type query: object @@ -25326,6 +26181,7 @@ class MongoDbSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -25337,11 +26193,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(MongoDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(MongoDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'MongoDbSource' # type: str self.query = query self.additional_columns = additional_columns @@ -25478,6 +26335,74 @@ def __init__( self.database = database +class MongoDbV2Sink(CopySink): + """A copy activity MongoDB sink. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object + :param write_behavior: Specifies whether the document with same key to be overwritten (upsert) + rather than throw exception (insert). The default value is "insert". Type: string (or + Expression with resultType string). Type: string (or Expression with resultType string). + :type write_behavior: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, + 'write_behavior': {'key': 'writeBehavior', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + write_batch_size: Optional[object] = None, + write_batch_timeout: Optional[object] = None, + sink_retry_count: Optional[object] = None, + sink_retry_wait: Optional[object] = None, + max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, + write_behavior: Optional[object] = None, + **kwargs + ): + super(MongoDbV2Sink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) + self.type = 'MongoDbV2Sink' # type: str + self.write_behavior = write_behavior + + class MongoDbV2Source(CopySource): """A copy activity source for a MongoDB database. @@ -25497,6 +26422,9 @@ class MongoDbV2Source(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param filter: Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). @@ -25526,6 +26454,7 @@ class MongoDbV2Source(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, @@ -25540,6 +26469,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, filter: Optional[object] = None, cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None, batch_size: Optional[object] = None, @@ -25547,7 +26477,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(MongoDbV2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(MongoDbV2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'MongoDbV2Source' # type: str self.filter = filter self.cursor_methods = cursor_methods @@ -25640,6 +26570,9 @@ class MySqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -25660,6 +26593,7 @@ class MySqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -25672,12 +26606,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(MySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(MySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'MySqlSource' # type: str self.query = query @@ -25870,6 +26805,9 @@ class NetezzaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -25896,6 +26834,7 @@ class NetezzaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -25910,6 +26849,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, @@ -25917,7 +26857,7 @@ def __init__( partition_settings: Optional["NetezzaPartitionSettings"] = None, **kwargs ): - super(NetezzaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(NetezzaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'NetezzaSource' # type: str self.query = query self.partition_option = partition_option @@ -26231,6 +27171,9 @@ class ODataSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: OData query. For example, "$top=1". Type: string (or Expression with resultType string). :type query: object @@ -26254,6 +27197,7 @@ class ODataSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -26266,12 +27210,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, http_request_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(ODataSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(ODataSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'ODataSource' # type: str self.query = query self.http_request_timeout = http_request_timeout @@ -26388,6 +27333,9 @@ class OdbcSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: A query to execute before starting the copy. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -26405,6 +27353,7 @@ class OdbcSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -26417,10 +27366,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, **kwargs ): - super(OdbcSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(OdbcSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'OdbcSink' # type: str self.pre_copy_script = pre_copy_script @@ -26444,6 +27394,9 @@ class OdbcSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -26464,6 +27417,7 @@ class OdbcSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -26476,12 +27430,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(OdbcSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(OdbcSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'OdbcSource' # type: str self.query = query @@ -26730,6 +27685,9 @@ class Office365Source(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param allowed_groups: The groups containing all the users. Type: array of strings (or Expression with resultType array of strings). :type allowed_groups: object @@ -26761,6 +27719,7 @@ class Office365Source(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'allowed_groups': {'key': 'allowedGroups', 'type': 'object'}, 'user_scope_filter_uri': {'key': 'userScopeFilterUri', 'type': 'object'}, 'date_filter_column': {'key': 'dateFilterColumn', 'type': 'object'}, @@ -26776,6 +27735,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, allowed_groups: Optional[object] = None, user_scope_filter_uri: Optional[object] = None, date_filter_column: Optional[object] = None, @@ -26784,7 +27744,7 @@ def __init__( output_columns: Optional[object] = None, **kwargs ): - super(Office365Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(Office365Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'Office365Source' # type: str self.allowed_groups = allowed_groups self.user_scope_filter_uri = user_scope_filter_uri @@ -27215,6 +28175,9 @@ class OracleCloudStorageReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -27255,6 +28218,7 @@ class OracleCloudStorageReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -27272,6 +28236,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -27284,7 +28249,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(OracleCloudStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(OracleCloudStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'OracleCloudStorageReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -27585,6 +28550,9 @@ class OracleServiceCloudSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -27606,6 +28574,7 @@ class OracleServiceCloudSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -27618,12 +28587,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(OracleServiceCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(OracleServiceCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'OracleServiceCloudSource' # type: str self.query = query @@ -27653,6 +28623,9 @@ class OracleSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -27670,6 +28643,7 @@ class OracleSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, } @@ -27682,10 +28656,11 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, **kwargs ): - super(OracleSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(OracleSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'OracleSink' # type: str self.pre_copy_script = pre_copy_script @@ -27709,6 +28684,9 @@ class OracleSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param oracle_reader_query: Oracle reader query. Type: string (or Expression with resultType string). :type oracle_reader_query: object @@ -27735,6 +28713,7 @@ class OracleSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'oracle_reader_query': {'key': 'oracleReaderQuery', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'partition_option': {'key': 'partitionOption', 'type': 'object'}, @@ -27749,6 +28728,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, oracle_reader_query: Optional[object] = None, query_timeout: Optional[object] = None, partition_option: Optional[object] = None, @@ -27756,7 +28736,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(OracleSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(OracleSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'OracleSource' # type: str self.oracle_reader_query = oracle_reader_query self.query_timeout = query_timeout @@ -27875,8 +28855,9 @@ class OrcDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the ORC data storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param orc_compression_codec: Possible values include: "none", "zlib", "snappy", "lzo". - :type orc_compression_codec: str or ~data_factory_management_client.models.OrcCompressionCodec + :param orc_compression_codec: The data orcCompressionCodec. Type: string (or Expression with + resultType string). + :type orc_compression_codec: object """ _validation = { @@ -27895,7 +28876,7 @@ class OrcDataset(Dataset): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, - 'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'str'}, + 'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'object'}, } def __init__( @@ -27910,7 +28891,7 @@ def __init__( annotations: Optional[List[object]] = None, folder: Optional["DatasetFolder"] = None, location: Optional["DatasetLocation"] = None, - orc_compression_codec: Optional[Union[str, "OrcCompressionCodec"]] = None, + orc_compression_codec: Optional[object] = None, **kwargs ): super(OrcDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) @@ -27983,6 +28964,9 @@ class OrcSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: ORC store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: ORC format settings. @@ -28001,6 +28985,7 @@ class OrcSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'OrcWriteSettings'}, } @@ -28014,11 +28999,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, format_settings: Optional["OrcWriteSettings"] = None, **kwargs ): - super(OrcSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(OrcSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'OrcSink' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -28043,6 +29029,9 @@ class OrcSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: ORC store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -28060,6 +29049,7 @@ class OrcSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -28071,11 +29061,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(OrcSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(OrcSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'OrcSource' # type: str self.store_settings = store_settings self.additional_columns = additional_columns @@ -28220,9 +29211,9 @@ class ParquetDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the parquet storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4", "tar", "tarGZip". - :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec + :param compression_codec: The data compressionCodec. Type: string (or Expression with + resultType string). + :type compression_codec: object """ _validation = { @@ -28241,7 +29232,7 @@ class ParquetDataset(Dataset): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, - 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'object'}, } def __init__( @@ -28256,7 +29247,7 @@ def __init__( annotations: Optional[List[object]] = None, folder: Optional["DatasetFolder"] = None, location: Optional["DatasetLocation"] = None, - compression_codec: Optional[Union[str, "CompressionCodec"]] = None, + compression_codec: Optional[object] = None, **kwargs ): super(ParquetDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) @@ -28329,6 +29320,9 @@ class ParquetSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Parquet store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings :param format_settings: Parquet format settings. @@ -28347,6 +29341,7 @@ class ParquetSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'ParquetWriteSettings'}, } @@ -28360,11 +29355,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, format_settings: Optional["ParquetWriteSettings"] = None, **kwargs ): - super(ParquetSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(ParquetSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'ParquetSink' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -28389,6 +29385,9 @@ class ParquetSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Parquet store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -28406,6 +29405,7 @@ class ParquetSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -28417,11 +29417,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(ParquetSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(ParquetSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'ParquetSource' # type: str self.store_settings = store_settings self.additional_columns = additional_columns @@ -28648,6 +29649,9 @@ class PaypalSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -28669,6 +29673,7 @@ class PaypalSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -28681,12 +29686,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(PaypalSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(PaypalSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'PaypalSource' # type: str self.query = query @@ -28915,6 +29921,9 @@ class PhoenixSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -28936,6 +29945,7 @@ class PhoenixSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -28948,12 +29958,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(PhoenixSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(PhoenixSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'PhoenixSource' # type: str self.query = query @@ -29288,18 +30299,26 @@ class PipelineRunInvokedBy(msrest.serialization.Model): :vartype id: str :ivar invoked_by_type: The type of the entity that started the run. :vartype invoked_by_type: str + :ivar pipeline_name: The name of the pipeline that triggered the run, if any. + :vartype pipeline_name: str + :ivar pipeline_run_id: The run id of the pipeline that triggered the run, if any. + :vartype pipeline_run_id: str """ _validation = { 'name': {'readonly': True}, 'id': {'readonly': True}, 'invoked_by_type': {'readonly': True}, + 'pipeline_name': {'readonly': True}, + 'pipeline_run_id': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, 'invoked_by_type': {'key': 'invokedByType', 'type': 'str'}, + 'pipeline_name': {'key': 'pipelineName', 'type': 'str'}, + 'pipeline_run_id': {'key': 'pipelineRunId', 'type': 'str'}, } def __init__( @@ -29310,6 +30329,8 @@ def __init__( self.name = None self.id = None self.invoked_by_type = None + self.pipeline_name = None + self.pipeline_run_id = None class PipelineRunsQueryResponse(msrest.serialization.Model): @@ -29476,6 +30497,9 @@ class PostgreSqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -29496,6 +30520,7 @@ class PostgreSqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -29508,12 +30533,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(PostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(PostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'PostgreSqlSource' # type: str self.query = query @@ -29832,6 +30858,9 @@ class PrestoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -29853,6 +30882,7 @@ class PrestoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -29865,12 +30895,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(PrestoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(PrestoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'PrestoSource' # type: str self.query = query @@ -30357,6 +31388,9 @@ class QuickBooksSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -30378,6 +31412,7 @@ class QuickBooksSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -30390,12 +31425,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(QuickBooksSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(QuickBooksSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'QuickBooksSource' # type: str self.query = query @@ -30578,6 +31614,9 @@ class RelationalSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Type: string (or Expression with resultType string). :type query: object :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -30595,6 +31634,7 @@ class RelationalSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -30606,11 +31646,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(RelationalSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(RelationalSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'RelationalSource' # type: str self.query = query self.additional_columns = additional_columns @@ -30975,6 +32016,9 @@ class ResponsysSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -30996,6 +32040,7 @@ class ResponsysSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -31008,12 +32053,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(ResponsysSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(ResponsysSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'ResponsysSource' # type: str self.query = query @@ -31166,6 +32212,8 @@ class RestServiceLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ _validation = { @@ -31193,6 +32241,7 @@ class RestServiceLinkedService(LinkedService): 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'CredentialReference'}, } def __init__( @@ -31215,6 +32264,7 @@ def __init__( azure_cloud_type: Optional[object] = None, aad_resource_id: Optional[object] = None, encrypted_credential: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(RestServiceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -31231,6 +32281,7 @@ def __init__( self.azure_cloud_type = azure_cloud_type self.aad_resource_id = aad_resource_id self.encrypted_credential = encrypted_credential + self.credential = credential class RestSink(CopySink): @@ -31258,6 +32309,9 @@ class RestSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param request_method: The HTTP method used to call the RESTful API. The default is POST. Type: string (or Expression with resultType string). :type request_method: object @@ -31288,6 +32342,7 @@ class RestSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'request_method': {'key': 'requestMethod', 'type': 'object'}, 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, @@ -31304,6 +32359,7 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, request_method: Optional[object] = None, additional_headers: Optional[object] = None, http_request_timeout: Optional[object] = None, @@ -31311,7 +32367,7 @@ def __init__( http_compression_type: Optional[object] = None, **kwargs ): - super(RestSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(RestSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'RestSink' # type: str self.request_method = request_method self.additional_headers = additional_headers @@ -31339,6 +32395,9 @@ class RestSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). :type request_method: object @@ -31373,6 +32432,7 @@ class RestSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'request_method': {'key': 'requestMethod', 'type': 'object'}, 'request_body': {'key': 'requestBody', 'type': 'object'}, 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, @@ -31389,6 +32449,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, request_method: Optional[object] = None, request_body: Optional[object] = None, additional_headers: Optional[object] = None, @@ -31398,7 +32459,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(RestSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(RestSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'RestSource' # type: str self.request_method = request_method self.request_body = request_body @@ -31837,6 +32898,9 @@ class SalesforceMarketingCloudSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -31858,6 +32922,7 @@ class SalesforceMarketingCloudSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -31870,12 +32935,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(SalesforceMarketingCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SalesforceMarketingCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SalesforceMarketingCloudSource' # type: str self.query = query @@ -32133,6 +33199,9 @@ class SalesforceServiceCloudSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: The write behavior for the operation. Default is Insert. Possible values include: "Insert", "Upsert". :type write_behavior: str or ~data_factory_management_client.models.SalesforceSinkWriteBehavior @@ -32160,6 +33229,7 @@ class SalesforceServiceCloudSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, @@ -32174,12 +33244,13 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, write_behavior: Optional[Union[str, "SalesforceSinkWriteBehavior"]] = None, external_id_field_name: Optional[object] = None, ignore_null_values: Optional[object] = None, **kwargs ): - super(SalesforceServiceCloudSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SalesforceServiceCloudSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SalesforceServiceCloudSink' # type: str self.write_behavior = write_behavior self.external_id_field_name = external_id_field_name @@ -32205,6 +33276,9 @@ class SalesforceServiceCloudSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Database query. Type: string (or Expression with resultType string). :type query: object :param read_behavior: The read behavior for the operation. Default is Query. Possible values @@ -32225,6 +33299,7 @@ class SalesforceServiceCloudSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'read_behavior': {'key': 'readBehavior', 'type': 'str'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -32237,12 +33312,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, read_behavior: Optional[Union[str, "SalesforceSourceReadBehavior"]] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(SalesforceServiceCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SalesforceServiceCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SalesforceServiceCloudSource' # type: str self.query = query self.read_behavior = read_behavior @@ -32274,6 +33350,9 @@ class SalesforceSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: The write behavior for the operation. Default is Insert. Possible values include: "Insert", "Upsert". :type write_behavior: str or ~data_factory_management_client.models.SalesforceSinkWriteBehavior @@ -32301,6 +33380,7 @@ class SalesforceSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'}, 'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'}, @@ -32315,12 +33395,13 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, write_behavior: Optional[Union[str, "SalesforceSinkWriteBehavior"]] = None, external_id_field_name: Optional[object] = None, ignore_null_values: Optional[object] = None, **kwargs ): - super(SalesforceSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SalesforceSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SalesforceSink' # type: str self.write_behavior = write_behavior self.external_id_field_name = external_id_field_name @@ -32346,6 +33427,9 @@ class SalesforceSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -32369,6 +33453,7 @@ class SalesforceSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -32382,13 +33467,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, read_behavior: Optional[Union[str, "SalesforceSourceReadBehavior"]] = None, **kwargs ): - super(SalesforceSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SalesforceSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SalesforceSource' # type: str self.query = query self.read_behavior = read_behavior @@ -32562,6 +33648,9 @@ class SapBwSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -32582,6 +33671,7 @@ class SapBwSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -32594,12 +33684,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(SapBwSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SapBwSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SapBwSource' # type: str self.query = query @@ -32772,6 +33863,9 @@ class SapCloudForCustomerSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param write_behavior: The write behavior for the operation. Default is 'Insert'. Possible values include: "Insert", "Update". :type write_behavior: str or @@ -32795,6 +33889,7 @@ class SapCloudForCustomerSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'write_behavior': {'key': 'writeBehavior', 'type': 'str'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, } @@ -32808,11 +33903,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, write_behavior: Optional[Union[str, "SapCloudForCustomerSinkWriteBehavior"]] = None, http_request_timeout: Optional[object] = None, **kwargs ): - super(SapCloudForCustomerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SapCloudForCustomerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SapCloudForCustomerSink' # type: str self.write_behavior = write_behavior self.http_request_timeout = http_request_timeout @@ -32837,6 +33933,9 @@ class SapCloudForCustomerSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -32863,6 +33962,7 @@ class SapCloudForCustomerSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -32876,13 +33976,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, http_request_timeout: Optional[object] = None, **kwargs ): - super(SapCloudForCustomerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SapCloudForCustomerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SapCloudForCustomerSource' # type: str self.query = query self.http_request_timeout = http_request_timeout @@ -33050,6 +34151,9 @@ class SapEccSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -33076,6 +34180,7 @@ class SapEccSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -33089,13 +34194,14 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, http_request_timeout: Optional[object] = None, **kwargs ): - super(SapEccSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SapEccSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SapEccSource' # type: str self.query = query self.http_request_timeout = http_request_timeout @@ -33226,6 +34332,9 @@ class SapHanaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -33255,6 +34364,7 @@ class SapHanaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -33270,6 +34380,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, @@ -33278,7 +34389,7 @@ def __init__( partition_settings: Optional["SapHanaPartitionSettings"] = None, **kwargs ): - super(SapHanaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SapHanaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SapHanaSource' # type: str self.query = query self.packet_size = packet_size @@ -33495,6 +34606,9 @@ class SapOpenHubSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -33527,6 +34641,7 @@ class SapOpenHubSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'exclude_last_request': {'key': 'excludeLastRequest', 'type': 'object'}, @@ -33542,6 +34657,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, exclude_last_request: Optional[object] = None, @@ -33550,7 +34666,7 @@ def __init__( sap_data_column_delimiter: Optional[object] = None, **kwargs ): - super(SapOpenHubSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SapOpenHubSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SapOpenHubSource' # type: str self.exclude_last_request = exclude_last_request self.base_request_id = base_request_id @@ -33917,6 +35033,9 @@ class SapTableSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -33964,6 +35083,7 @@ class SapTableSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'row_count': {'key': 'rowCount', 'type': 'object'}, @@ -33984,6 +35104,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, row_count: Optional[object] = None, @@ -33997,7 +35118,7 @@ def __init__( partition_settings: Optional["SapTablePartitionSettings"] = None, **kwargs ): - super(SapTableSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SapTableSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SapTableSource' # type: str self.row_count = row_count self.row_skips = row_skips @@ -34128,9 +35249,8 @@ class ScriptAction(msrest.serialization.Model): :type name: str :param uri: Required. The URI for the script action. :type uri: str - :param roles: Required. The node types on which the script action should be executed. Possible - values include: "Headnode", "Workernode", "Zookeeper". - :type roles: str or ~data_factory_management_client.models.HdiNodeTypes + :param roles: Required. The node types on which the script action should be executed. + :type roles: str :param parameters: The parameters for the script action. :type parameters: str """ @@ -34153,7 +35273,7 @@ def __init__( *, name: str, uri: str, - roles: Union[str, "HdiNodeTypes"], + roles: str, parameters: Optional[str] = None, **kwargs ): @@ -34732,6 +35852,9 @@ class ServiceNowSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -34753,6 +35876,7 @@ class ServiceNowSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -34765,16 +35889,72 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(ServiceNowSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(ServiceNowSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'ServiceNowSource' # type: str self.query = query +class ServicePrincipalCredential(Credential): + """Service principal credential. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of credential.Constant filled by server. + :type type: str + :param description: Credential description. + :type description: str + :param annotations: List of tags that can be used for describing the Credential. + :type annotations: list[object] + :param service_principal_id: The app ID of the service principal used to authenticate. + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate. + :type service_principal_key: + ~data_factory_management_client.models.AzureKeyVaultSecretReference + :param tenant: The ID of the tenant to which the service principal belongs. + :type tenant: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'AzureKeyVaultSecretReference'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["AzureKeyVaultSecretReference"] = None, + tenant: Optional[object] = None, + **kwargs + ): + super(ServicePrincipalCredential, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs) + self.type = 'ServicePrincipal' # type: str + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + + class SetVariableActivity(Activity): """Set value for a Variable. @@ -34887,6 +36067,9 @@ class SftpReadSettings(StoreReadSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param recursive: If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). :type recursive: object @@ -34924,6 +36107,7 @@ class SftpReadSettings(StoreReadSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'recursive': {'key': 'recursive', 'type': 'object'}, 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, @@ -34940,6 +36124,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, recursive: Optional[object] = None, wildcard_folder_path: Optional[object] = None, wildcard_file_name: Optional[object] = None, @@ -34951,7 +36136,7 @@ def __init__( modified_datetime_end: Optional[object] = None, **kwargs ): - super(SftpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SftpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SftpReadSettings' # type: str self.recursive = recursive self.wildcard_folder_path = wildcard_folder_path @@ -35095,6 +36280,9 @@ class SftpWriteSettings(StoreWriteSettings): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param copy_behavior: The type of copy behavior for copy sink. :type copy_behavior: object :param operation_timeout: Specifies the timeout for writing each chunk to SFTP server. Default @@ -35114,6 +36302,7 @@ class SftpWriteSettings(StoreWriteSettings): 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'copy_behavior': {'key': 'copyBehavior', 'type': 'object'}, 'operation_timeout': {'key': 'operationTimeout', 'type': 'object'}, 'use_temp_file_rename': {'key': 'useTempFileRename', 'type': 'object'}, @@ -35124,12 +36313,13 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, copy_behavior: Optional[object] = None, operation_timeout: Optional[object] = None, use_temp_file_rename: Optional[object] = None, **kwargs ): - super(SftpWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs) + super(SftpWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, copy_behavior=copy_behavior, **kwargs) self.type = 'SftpWriteSettings' # type: str self.operation_timeout = operation_timeout self.use_temp_file_rename = use_temp_file_rename @@ -35308,6 +36498,9 @@ class SharePointOnlineListSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: The OData query to filter the data in SharePoint Online list. For example, "$top=1". Type: string (or Expression with resultType string). :type query: object @@ -35327,6 +36520,7 @@ class SharePointOnlineListSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, } @@ -35338,11 +36532,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, http_request_timeout: Optional[object] = None, **kwargs ): - super(SharePointOnlineListSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SharePointOnlineListSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SharePointOnlineListSource' # type: str self.query = query self.http_request_timeout = http_request_timeout @@ -35520,6 +36715,9 @@ class ShopifySource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -35541,6 +36739,7 @@ class ShopifySource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -35553,12 +36752,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(ShopifySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(ShopifySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'ShopifySource' # type: str self.query = query @@ -35851,6 +37051,9 @@ class SnowflakeSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -35870,6 +37073,7 @@ class SnowflakeSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, 'import_settings': {'key': 'importSettings', 'type': 'SnowflakeImportCopyCommand'}, } @@ -35883,11 +37087,12 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, import_settings: Optional["SnowflakeImportCopyCommand"] = None, **kwargs ): - super(SnowflakeSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SnowflakeSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SnowflakeSink' # type: str self.pre_copy_script = pre_copy_script self.import_settings = import_settings @@ -35912,6 +37117,9 @@ class SnowflakeSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query: Snowflake Sql query. Type: string (or Expression with resultType string). :type query: object :param export_settings: Snowflake export settings. @@ -35928,6 +37136,7 @@ class SnowflakeSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query': {'key': 'query', 'type': 'object'}, 'export_settings': {'key': 'exportSettings', 'type': 'SnowflakeExportCopyCommand'}, } @@ -35939,11 +37148,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query: Optional[object] = None, export_settings: Optional["SnowflakeExportCopyCommand"] = None, **kwargs ): - super(SnowflakeSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SnowflakeSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SnowflakeSource' # type: str self.query = query self.export_settings = export_settings @@ -36184,6 +37394,9 @@ class SparkSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -36205,6 +37418,7 @@ class SparkSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -36217,12 +37431,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(SparkSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SparkSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SparkSource' # type: str self.query = query @@ -36294,6 +37509,9 @@ class SqlDwSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType string). :type pre_copy_script: object @@ -36325,6 +37543,7 @@ class SqlDwSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, 'allow_poly_base': {'key': 'allowPolyBase', 'type': 'object'}, 'poly_base_settings': {'key': 'polyBaseSettings', 'type': 'PolybaseSettings'}, @@ -36342,6 +37561,7 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, pre_copy_script: Optional[object] = None, allow_poly_base: Optional[object] = None, poly_base_settings: Optional["PolybaseSettings"] = None, @@ -36350,7 +37570,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(SqlDwSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlDwSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SqlDWSink' # type: str self.pre_copy_script = pre_copy_script self.allow_poly_base = allow_poly_base @@ -36379,6 +37599,9 @@ class SqlDwSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -36413,6 +37636,7 @@ class SqlDwSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -36429,6 +37653,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, sql_reader_query: Optional[object] = None, @@ -36438,7 +37663,7 @@ def __init__( partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SqlDwSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlDwSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlDWSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -36472,6 +37697,9 @@ class SqlMiSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -36504,6 +37732,7 @@ class SqlMiSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -36521,6 +37750,7 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, sql_writer_stored_procedure_name: Optional[object] = None, sql_writer_table_type: Optional[object] = None, pre_copy_script: Optional[object] = None, @@ -36529,7 +37759,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(SqlMiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlMiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SqlMISink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -36558,6 +37788,9 @@ class SqlMiSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -36593,6 +37826,7 @@ class SqlMiSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -36610,6 +37844,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, sql_reader_query: Optional[object] = None, @@ -36620,7 +37855,7 @@ def __init__( partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SqlMiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlMiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlMISource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -36772,6 +38007,9 @@ class SqlServerSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -36804,6 +38042,7 @@ class SqlServerSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -36821,6 +38060,7 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, sql_writer_stored_procedure_name: Optional[object] = None, sql_writer_table_type: Optional[object] = None, pre_copy_script: Optional[object] = None, @@ -36829,7 +38069,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(SqlServerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlServerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SqlServerSink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -36858,6 +38098,9 @@ class SqlServerSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -36893,6 +38136,7 @@ class SqlServerSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -36910,6 +38154,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, sql_reader_query: Optional[object] = None, @@ -36920,7 +38165,7 @@ def __init__( partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SqlServerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlServerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlServerSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -37106,6 +38351,9 @@ class SqlSink(CopySink): :param max_concurrent_connections: The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or Expression with resultType string). :type sql_writer_stored_procedure_name: object @@ -37138,6 +38386,7 @@ class SqlSink(CopySink): 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'}, 'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'}, 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, @@ -37155,6 +38404,7 @@ def __init__( sink_retry_count: Optional[object] = None, sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, sql_writer_stored_procedure_name: Optional[object] = None, sql_writer_table_type: Optional[object] = None, pre_copy_script: Optional[object] = None, @@ -37163,7 +38413,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(SqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'SqlSink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -37192,6 +38442,9 @@ class SqlSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -37229,6 +38482,7 @@ class SqlSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, @@ -37246,6 +38500,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, sql_reader_query: Optional[object] = None, @@ -37256,7 +38511,7 @@ def __init__( partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -37453,6 +38708,9 @@ class SquareSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -37474,6 +38732,7 @@ class SquareSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -37486,12 +38745,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(SquareSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SquareSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SquareSource' # type: str self.query = query @@ -38555,6 +39815,9 @@ class SybaseSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -38575,6 +39838,7 @@ class SybaseSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -38587,12 +39851,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(SybaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SybaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SybaseSource' # type: str self.query = query @@ -38955,6 +40220,9 @@ class TeradataSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -38981,6 +40249,7 @@ class TeradataSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -38995,6 +40264,7 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, @@ -39002,7 +40272,7 @@ def __init__( partition_settings: Optional["TeradataPartitionSettings"] = None, **kwargs ): - super(TeradataSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(TeradataSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'TeradataSource' # type: str self.query = query self.partition_option = partition_option @@ -40159,6 +41429,9 @@ class VerticaSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -40180,6 +41453,7 @@ class VerticaSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -40192,12 +41466,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(VerticaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(VerticaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'VerticaSource' # type: str self.query = query @@ -40443,10 +41718,7 @@ def __init__( class WebActivityAuthentication(msrest.serialization.Model): """Web activity authentication properties. - All required parameters must be populated in order to send to Azure. - - :param type: Required. Web activity authentication - (Basic/ClientCertificate/MSI/ServicePrincipal). + :param type: Web activity authentication (Basic/ClientCertificate/MSI/ServicePrincipal). :type type: str :param pfx: Base64-encoded contents of a PFX file or Certificate when used for ServicePrincipal. @@ -40463,12 +41735,10 @@ class WebActivityAuthentication(msrest.serialization.Model): :param user_tenant: TenantId for which Azure Auth token will be requested when using ServicePrincipal Authentication. Type: string (or Expression with resultType string). :type user_tenant: object + :param credential: The credential reference containing authentication information. + :type credential: ~data_factory_management_client.models.CredentialReference """ - _validation = { - 'type': {'required': True}, - } - _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, @@ -40476,17 +41746,19 @@ class WebActivityAuthentication(msrest.serialization.Model): 'password': {'key': 'password', 'type': 'SecretBase'}, 'resource': {'key': 'resource', 'type': 'object'}, 'user_tenant': {'key': 'userTenant', 'type': 'object'}, + 'credential': {'key': 'credential', 'type': 'CredentialReference'}, } def __init__( self, *, - type: str, + type: Optional[str] = None, pfx: Optional["SecretBase"] = None, username: Optional[object] = None, password: Optional["SecretBase"] = None, resource: Optional[object] = None, user_tenant: Optional[object] = None, + credential: Optional["CredentialReference"] = None, **kwargs ): super(WebActivityAuthentication, self).__init__(**kwargs) @@ -40496,6 +41768,7 @@ def __init__( self.password = password self.resource = resource self.user_tenant = user_tenant + self.credential = credential class WebLinkedServiceTypeProperties(msrest.serialization.Model): @@ -40833,6 +42106,9 @@ class WebSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param additional_columns: Specifies the additional columns to be added to source data. Type: array of objects (or Expression with resultType array of objects). :type additional_columns: list[~data_factory_management_client.models.AdditionalColumns] @@ -40848,6 +42124,7 @@ class WebSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -40858,10 +42135,11 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(WebSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(WebSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'WebSource' # type: str self.additional_columns = additional_columns @@ -41125,6 +42403,9 @@ class XeroSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -41146,6 +42427,7 @@ class XeroSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -41158,12 +42440,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(XeroSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(XeroSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'XeroSource' # type: str self.query = query @@ -41336,6 +42619,9 @@ class XmlSource(CopySource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param store_settings: Xml store settings. :type store_settings: ~data_factory_management_client.models.StoreReadSettings :param format_settings: Xml format settings. @@ -41355,6 +42641,7 @@ class XmlSource(CopySource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'}, 'format_settings': {'key': 'formatSettings', 'type': 'XmlReadSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -41367,12 +42654,13 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, store_settings: Optional["StoreReadSettings"] = None, format_settings: Optional["XmlReadSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(XmlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(XmlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, **kwargs) self.type = 'XmlSource' # type: str self.store_settings = store_settings self.format_settings = format_settings @@ -41592,6 +42880,9 @@ class ZohoSource(TabularSource): :param max_concurrent_connections: The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). :type max_concurrent_connections: object + :param disable_metrics_collection: If true, disable data store metrics collection. Default is + false. Type: boolean (or Expression with resultType boolean). + :type disable_metrics_collection: object :param query_timeout: Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). :type query_timeout: object @@ -41613,6 +42904,7 @@ class ZohoSource(TabularSource): 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'disable_metrics_collection': {'key': 'disableMetricsCollection', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, @@ -41625,11 +42917,12 @@ def __init__( source_retry_count: Optional[object] = None, source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, + disable_metrics_collection: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, **kwargs ): - super(ZohoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(ZohoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, disable_metrics_collection=disable_metrics_collection, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'ZohoSource' # type: str self.query = query diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_run_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_run_operations.py deleted file mode 100644 index 192e09232ad..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_run_operations.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. -# -------------------------------------------------------------------------- -import datetime -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 - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class ActivityRunOperations(object): - """ActivityRunOperations 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_factory_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 query_by_pipeline_run( - self, - resource_group_name, # type: str - factory_name, # type: str - run_id, # type: str - last_updated_after, # type: datetime.datetime - last_updated_before, # type: datetime.datetime - continuation_token_parameter=None, # type: Optional[str] - filters=None, # type: Optional[List["models.RunQueryFilter"]] - order_by=None, # type: Optional[List["models.RunQueryOrderBy"]] - **kwargs # type: Any - ): - # type: (...) -> "models.ActivityRunsQueryResponse" - """Query activity runs based on input filter conditions. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param run_id: The pipeline run identifier. - :type run_id: str - :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' - format. - :type last_updated_after: ~datetime.datetime - :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' - format. - :type last_updated_before: ~datetime.datetime - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param filters: List of filters. - :type filters: list[~data_factory_management_client.models.RunQueryFilter] - :param order_by: List of OrderBy option. - :type order_by: list[~data_factory_management_client.models.RunQueryOrderBy] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActivityRunsQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ActivityRunsQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ActivityRunsQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.RunFilterParameters(continuation_token=continuation_token_parameter, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_pipeline_run.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'runId': self._serialize.url("run_id", run_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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') - 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('ActivityRunsQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_pipeline_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/queryActivityruns'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_operations.py deleted file mode 100644 index e0bd3be1783..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_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. -# -------------------------------------------------------------------------- -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 DataFlowOperations(object): - """DataFlowOperations 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_factory_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 create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - data_flow_name, # type: str - properties, # type: "models.DataFlow" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.DataFlowResource" - """Creates or updates a data flow. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param data_flow_name: The data flow name. - :type data_flow_name: str - :param properties: Data flow properties. - :type properties: ~data_factory_management_client.models.DataFlow - :param if_match: ETag of the data flow entity. Should only be specified for update, for which - it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataFlowResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DataFlowResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - data_flow = models.DataFlowResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(data_flow, 'DataFlowResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('DataFlowResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - data_flow_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.DataFlowResource" - """Gets a data flow. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param data_flow_name: The data flow name. - :type data_flow_name: str - :param if_none_match: ETag of the data flow 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataFlowResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DataFlowResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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('DataFlowResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - data_flow_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a data flow. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param data_flow_name: The data flow name. - :type data_flow_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore - - def list_by_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.DataFlowListResponse"] - """Lists data flows. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DataFlowListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.DataFlowListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('DataFlowListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_dataset_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_dataset_operations.py deleted file mode 100644 index 2f866416c74..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_dataset_operations.py +++ /dev/null @@ -1,319 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 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_factory_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_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.DatasetListResponse"] - """Lists datasets. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DatasetListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.DatasetListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('DatasetListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - dataset_name, # type: str - properties, # type: "models.Dataset" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.DatasetResource" - """Creates or updates a dataset. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param dataset_name: The dataset name. - :type dataset_name: str - :param properties: Dataset properties. - :type properties: ~data_factory_management_client.models.Dataset - :param if_match: ETag of the dataset entity. Should only be specified for update, for which it - should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DatasetResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DatasetResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - dataset = models.DatasetResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(dataset, 'DatasetResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('DatasetResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - dataset_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Optional["models.DatasetResource"] - """Gets a dataset. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param dataset_name: The dataset name. - :type dataset_name: str - :param if_none_match: ETag of the dataset 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DatasetResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.DatasetResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DatasetResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('DatasetResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - dataset_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a dataset. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param dataset_name: The dataset name. - :type dataset_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factory_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factory_operations.py deleted file mode 100644 index 5b8622e97f9..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factory_operations.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 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 FactoryOperations(object): - """FactoryOperations 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_factory_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: (...) -> Iterable["models.FactoryListResponse"] - """Lists factories under the specified subscription. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either FactoryListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.FactoryListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('FactoryListResponse', 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.DataFactory/factories'} # type: ignore - - def configure_factory_repo( - self, - location_id, # type: str - factory_resource_id=None, # type: Optional[str] - repo_configuration=None, # type: Optional["models.FactoryRepoConfiguration"] - **kwargs # type: Any - ): - # type: (...) -> "models.Factory" - """Updates a factory's repo information. - - :param location_id: The location identifier. - :type location_id: str - :param factory_resource_id: The factory resource id. - :type factory_resource_id: str - :param repo_configuration: Git repo information of the factory. - :type repo_configuration: ~data_factory_management_client.models.FactoryRepoConfiguration - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - factory_repo_update = models.FactoryRepoUpdate(factory_resource_id=factory_resource_id, repo_configuration=repo_configuration) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.configure_factory_repo.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'locationId': self._serialize.url("location_id", location_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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(factory_repo_update, 'FactoryRepoUpdate') - 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('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - configure_factory_repo.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.FactoryListResponse"] - """Lists factories. - - :param resource_group_name: The resource group name. - :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 FactoryListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.FactoryListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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'), - '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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('FactoryListResponse', 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.DataFactory/factories'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - if_match=None, # type: Optional[str] - location=None, # type: Optional[str] - tags=None, # type: Optional[Dict[str, str]] - identity=None, # type: Optional["models.FactoryIdentity"] - repo_configuration=None, # type: Optional["models.FactoryRepoConfiguration"] - global_parameters=None, # type: Optional[Dict[str, "models.GlobalParameterSpecification"]] - **kwargs # type: Any - ): - # type: (...) -> "models.Factory" - """Creates or updates a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param if_match: ETag of the factory 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 location: The resource location. - :type location: str - :param tags: The resource tags. - :type tags: dict[str, str] - :param identity: Managed service identity of the factory. - :type identity: ~data_factory_management_client.models.FactoryIdentity - :param repo_configuration: Git repo information of the factory. - :type repo_configuration: ~data_factory_management_client.models.FactoryRepoConfiguration - :param global_parameters: List of parameters for factory. - :type global_parameters: dict[str, ~data_factory_management_client.models.GlobalParameterSpecification] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - factory = models.Factory(location=location, tags=tags, identity=identity, repo_configuration=repo_configuration, global_parameters=global_parameters) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(factory, 'Factory') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore - - def update( - self, - resource_group_name, # type: str - factory_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - identity=None, # type: Optional["models.FactoryIdentity"] - **kwargs # type: Any - ): - # type: (...) -> "models.Factory" - """Updates a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param tags: The resource tags. - :type tags: dict[str, str] - :param identity: Managed service identity of the factory. - :type identity: ~data_factory_management_client.models.FactoryIdentity - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - factory_update_parameters = models.FactoryUpdateParameters(tags=tags, identity=identity) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(factory_update_parameters, 'FactoryUpdateParameters') - 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('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Optional["models.Factory"] - """Gets a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param if_none_match: ETag of the factory 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Factory, or the result of cls(response) - :rtype: ~data_factory_management_client.models.Factory or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.Factory"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('Factory', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a factory. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}'} # type: ignore - - def get_git_hub_access_token( - self, - resource_group_name, # type: str - factory_name, # type: str - git_hub_access_code, # type: str - git_hub_access_token_base_url, # type: str - git_hub_client_id=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.GitHubAccessTokenResponse" - """Get GitHub Access Token. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param git_hub_access_code: GitHub access code. - :type git_hub_access_code: str - :param git_hub_access_token_base_url: GitHub access token base URL. - :type git_hub_access_token_base_url: str - :param git_hub_client_id: GitHub application client ID. - :type git_hub_client_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: GitHubAccessTokenResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.GitHubAccessTokenResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.GitHubAccessTokenResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - git_hub_access_token_request = models.GitHubAccessTokenRequest(git_hub_access_code=git_hub_access_code, git_hub_client_id=git_hub_client_id, git_hub_access_token_base_url=git_hub_access_token_base_url) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.get_git_hub_access_token.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(git_hub_access_token_request, 'GitHubAccessTokenRequest') - 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('GitHubAccessTokenResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_git_hub_access_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getGitHubAccessToken'} # type: ignore - - def get_data_plane_access( - self, - resource_group_name, # type: str - factory_name, # type: str - permissions=None, # type: Optional[str] - access_resource_path=None, # type: Optional[str] - profile_name=None, # type: Optional[str] - start_time=None, # type: Optional[str] - expire_time=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.AccessPolicyResponse" - """Get Data Plane access. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param permissions: The string with permissions for Data Plane access. Currently only 'r' is - supported which grants read only access. - :type permissions: str - :param access_resource_path: The resource path to get access relative to factory. Currently - only empty string is supported which corresponds to the factory resource. - :type access_resource_path: str - :param profile_name: The name of the profile. Currently only the default is supported. The - default value is DefaultProfile. - :type profile_name: str - :param start_time: Start time for the token. If not specified the current time will be used. - :type start_time: str - :param expire_time: Expiration time for the token. Maximum duration for the token is eight - hours and by default the token will expire in eight hours. - :type expire_time: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AccessPolicyResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.AccessPolicyResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.AccessPolicyResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - policy = models.UserAccessPolicy(permissions=permissions, access_resource_path=access_resource_path, profile_name=profile_name, start_time=start_time, expire_time=expire_time) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.get_data_plane_access.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(policy, 'UserAccessPolicy') - 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('AccessPolicyResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_data_plane_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getDataPlaneAccess'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_node_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_node_operations.py deleted file mode 100644 index a7903633080..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_node_operations.py +++ /dev/null @@ -1,309 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 IntegrationRuntimeNodeOperations(object): - """IntegrationRuntimeNodeOperations 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_factory_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 - factory_name, # type: str - integration_runtime_name, # type: str - node_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.SelfHostedIntegrationRuntimeNode" - """Gets a self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The integration runtime node name. - :type node_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) - :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('SelfHostedIntegrationRuntimeNode', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - node_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The integration runtime node name. - :type node_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore - - def update( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - node_name, # type: str - concurrent_jobs_limit=None, # type: Optional[int] - **kwargs # type: Any - ): - # type: (...) -> "models.SelfHostedIntegrationRuntimeNode" - """Updates a self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) - :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - update_integration_runtime_node_request = models.UpdateIntegrationRuntimeNodeRequest(concurrent_jobs_limit=concurrent_jobs_limit) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_integration_runtime_node_request, 'UpdateIntegrationRuntimeNodeRequest') - 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('SelfHostedIntegrationRuntimeNode', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore - - def get_ip_address( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - node_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeNodeIpAddress" - """Get the IP address of self-hosted integration runtime node. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param node_name: The integration runtime node name. - :type node_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeNodeIpAddress, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeNodeIpAddress - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeNodeIpAddress"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_ip_address.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeNodeIpAddress', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_operations.py deleted file mode 100644 index 1fb5fc6b30d..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_operations.py +++ /dev/null @@ -1,1198 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class IntegrationRuntimeOperations(object): - """IntegrationRuntimeOperations 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_factory_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_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.IntegrationRuntimeListResponse"] - """Lists integration runtimes. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either IntegrationRuntimeListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.IntegrationRuntimeListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('IntegrationRuntimeListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - properties, # type: "models.IntegrationRuntime" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeResource" - """Creates or updates an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param properties: Integration runtime properties. - :type properties: ~data_factory_management_client.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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - integration_runtime = models.IntegrationRuntimeResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(integration_runtime, 'IntegrationRuntimeResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Optional["models.IntegrationRuntimeResource"] - """Gets an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('IntegrationRuntimeResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - def update( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - auto_update=None, # type: Optional[Union[str, "models.IntegrationRuntimeAutoUpdate"]] - update_delay_offset=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeResource" - """Updates an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The 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. - :type auto_update: str or ~data_factory_management_client.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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - update_integration_runtime_request = models.UpdateIntegrationRuntimeRequest(auto_update=auto_update, update_delay_offset=update_delay_offset) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_integration_runtime_request, 'UpdateIntegrationRuntimeRequest') - 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('IntegrationRuntimeResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore - - def get_status( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeStatusResponse" - """Gets detailed status information for an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeStatusResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_status.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus'} # type: ignore - - def get_connection_info( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeConnectionInfo" - """Gets the on-premises integration runtime connection information for encrypting the on-premises - data source credentials. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeConnectionInfo, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeConnectionInfo - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeConnectionInfo"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_connection_info.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeConnectionInfo', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo'} # type: ignore - - def regenerate_auth_key( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - key_name=None, # type: Optional[Union[str, "models.IntegrationRuntimeAuthKeyName"]] - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeAuthKeys" - """Regenerates the authentication key for an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param key_name: The name of the authentication key to regenerate. - :type key_name: str or ~data_factory_management_client.models.IntegrationRuntimeAuthKeyName - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeAuthKeys, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - regenerate_key_parameters = models.IntegrationRuntimeRegenerateKeyParameters(key_name=key_name) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.regenerate_auth_key.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(regenerate_key_parameters, 'IntegrationRuntimeRegenerateKeyParameters') - 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('IntegrationRuntimeAuthKeys', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - regenerate_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey'} # type: ignore - - def list_auth_key( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeAuthKeys" - """Retrieves the authentication keys for an integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeAuthKeys, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.list_auth_key.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeAuthKeys', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys'} # type: ignore - - def _start_initial( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["models.IntegrationRuntimeStatusResponse"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeStatusResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._start_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore - - def begin_start( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["models.IntegrationRuntimeStatusResponse"] - """Starts a ManagedReserved type integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either IntegrationRuntimeStatusResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~data_factory_management_client.models.IntegrationRuntimeStatusResponse] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._start_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - integration_runtime_name=integration_runtime_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore - - def _stop_initial( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._stop_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore - - def begin_stop( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Stops a ManagedReserved type integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - integration_runtime_name=integration_runtime_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore - - def sync_credentials( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """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 resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_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 = "2018-06-01" - - # Construct URL - url = self.sync_credentials.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - sync_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials'} # type: ignore - - def get_monitoring_data( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeMonitoringData" - """Get the integration runtime monitoring data, which includes the monitor data for all the nodes - under this integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeMonitoringData, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeMonitoringData - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeMonitoringData"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_monitoring_data.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('IntegrationRuntimeMonitoringData', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData'} # type: ignore - - def upgrade( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Upgrade self-hosted integration runtime to latest version if availability. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_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 = "2018-06-01" - - # Construct URL - url = self.upgrade.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - upgrade.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade'} # type: ignore - - def remove_link( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - linked_factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Remove all linked integration runtimes under specific data factory in a self-hosted integration - runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param linked_factory_name: The data factory name for linked integration runtime. - :type linked_factory_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', {})) - - linked_integration_runtime_request = models.LinkedIntegrationRuntimeRequest(linked_factory_name=linked_factory_name) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.remove_link.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(linked_integration_runtime_request, 'LinkedIntegrationRuntimeRequest') - 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, {}) - - remove_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeLinks'} # type: ignore - - def create_linked_integration_runtime( - self, - resource_group_name, # type: str - factory_name, # type: str - integration_runtime_name, # type: str - name=None, # type: Optional[str] - subscription_id=None, # type: Optional[str] - data_factory_name=None, # type: Optional[str] - data_factory_location=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.IntegrationRuntimeStatusResponse" - """Create a linked integration runtime entry in a shared integration runtime. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param integration_runtime_name: The integration runtime name. - :type integration_runtime_name: str - :param name: The name of the linked integration runtime. - :type name: str - :param subscription_id: The ID of the subscription that the linked integration runtime belongs - to. - :type subscription_id: str - :param data_factory_name: The name of the data factory that the linked integration runtime - belongs to. - :type data_factory_name: str - :param data_factory_location: The location of the data factory that the linked integration - runtime belongs to. - :type data_factory_location: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: IntegrationRuntimeStatusResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - create_linked_integration_runtime_request = models.CreateLinkedIntegrationRuntimeRequest(name=name, subscription_id=subscription_id, data_factory_name=data_factory_name, data_factory_location=data_factory_location) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.create_linked_integration_runtime.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_linked_integration_runtime_request, 'CreateLinkedIntegrationRuntimeRequest') - 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('IntegrationRuntimeStatusResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_linked_integration_runtime.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/linkedIntegrationRuntime'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_service_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_service_operations.py deleted file mode 100644 index 7124cb588eb..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_service_operations.py +++ /dev/null @@ -1,320 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 LinkedServiceOperations(object): - """LinkedServiceOperations 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_factory_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_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.LinkedServiceListResponse"] - """Lists linked services. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either LinkedServiceListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.LinkedServiceListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('LinkedServiceListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - linked_service_name, # type: str - properties, # type: "models.LinkedService" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.LinkedServiceResource" - """Creates or updates a linked service. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param linked_service_name: The linked service name. - :type linked_service_name: str - :param properties: Properties of linked service. - :type properties: ~data_factory_management_client.models.LinkedService - :param if_match: ETag of the linkedService entity. Should only be specified for update, for - which it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LinkedServiceResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.LinkedServiceResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - linked_service = models.LinkedServiceResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(linked_service, 'LinkedServiceResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('LinkedServiceResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - linked_service_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Optional["models.LinkedServiceResource"] - """Gets a linked service. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param linked_service_name: The linked service name. - :type linked_service_name: str - :param if_none_match: ETag of the linked service 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LinkedServiceResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.LinkedServiceResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.LinkedServiceResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('LinkedServiceResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - linked_service_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a linked service. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param linked_service_name: The linked service name. - :type linked_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 = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoint_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoint_operations.py deleted file mode 100644 index 29be0bd0e6d..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoint_operations.py +++ /dev/null @@ -1,344 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class ManagedPrivateEndpointOperations(object): - """ManagedPrivateEndpointOperations 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_factory_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_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - managed_virtual_network_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.ManagedPrivateEndpointListResponse"] - """Lists managed private endpoints. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedPrivateEndpointListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.ManagedPrivateEndpointListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedPrivateEndpointListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - managed_virtual_network_name, # type: str - managed_private_endpoint_name, # type: str - if_match=None, # type: Optional[str] - connection_state=None, # type: Optional["models.ConnectionStateProperties"] - fqdns=None, # type: Optional[List[str]] - group_id=None, # type: Optional[str] - private_link_resource_id=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.ManagedPrivateEndpointResource" - """Creates or updates a managed private endpoint. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param managed_private_endpoint_name: Managed private endpoint name. - :type managed_private_endpoint_name: str - :param if_match: ETag of the managed private endpoint 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 connection_state: The managed private endpoint connection state. - :type connection_state: ~data_factory_management_client.models.ConnectionStateProperties - :param fqdns: Fully qualified domain names. - :type fqdns: list[str] - :param group_id: The groupId to which the managed private endpoint is created. - :type group_id: str - :param private_link_resource_id: The ARM resource ID of the resource to which the managed - private endpoint is created. - :type private_link_resource_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedPrivateEndpointResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - managed_private_endpoint = models.ManagedPrivateEndpointResource(connection_state=connection_state, fqdns=fqdns, group_id=group_id, private_link_resource_id=private_link_resource_id) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(managed_private_endpoint, 'ManagedPrivateEndpointResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('ManagedPrivateEndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - managed_virtual_network_name, # type: str - managed_private_endpoint_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.ManagedPrivateEndpointResource" - """Gets a managed private endpoint. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param managed_private_endpoint_name: Managed private endpoint name. - :type managed_private_endpoint_name: str - :param if_none_match: ETag of the managed private endpoint 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedPrivateEndpointResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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('ManagedPrivateEndpointResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - managed_virtual_network_name, # type: str - managed_private_endpoint_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a managed private endpoint. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param managed_private_endpoint_name: Managed private endpoint name. - :type managed_private_endpoint_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_network_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_network_operations.py deleted file mode 100644 index fa043ca3e59..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_network_operations.py +++ /dev/null @@ -1,262 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 ManagedVirtualNetworkOperations(object): - """ManagedVirtualNetworkOperations 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_factory_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_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.ManagedVirtualNetworkListResponse"] - """Lists managed Virtual Networks. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ManagedVirtualNetworkListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.ManagedVirtualNetworkListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedVirtualNetworkListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - managed_virtual_network_name, # type: str - properties, # type: "models.ManagedVirtualNetwork" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.ManagedVirtualNetworkResource" - """Creates or updates a managed Virtual Network. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param properties: Managed Virtual Network properties. - :type properties: ~data_factory_management_client.models.ManagedVirtualNetwork - :param if_match: ETag of the managed Virtual Network entity. Should only be specified for - update, for which it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedVirtualNetworkResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - managed_virtual_network = models.ManagedVirtualNetworkResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(managed_virtual_network, 'ManagedVirtualNetworkResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('ManagedVirtualNetworkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - managed_virtual_network_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.ManagedVirtualNetworkResource" - """Gets a managed Virtual Network. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param managed_virtual_network_name: Managed virtual network name. - :type managed_virtual_network_name: str - :param if_none_match: ETag of the managed Virtual Network 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedVirtualNetworkResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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('ManagedVirtualNetworkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operation_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operation_operations.py deleted file mode 100644 index c5cf3d43f6d..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operation_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. -# -------------------------------------------------------------------------- -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 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_factory_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: (...) -> Iterable["models.OperationListResponse"] - """Lists the available Azure Data Factory API operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.OperationListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # 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') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('OperationListResponse', 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.DataFactory/operations'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_operations.py deleted file mode 100644 index d82f423f2cb..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_operations.py +++ /dev/null @@ -1,414 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 PipelineOperations(object): - """PipelineOperations 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_factory_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_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.PipelineListResponse"] - """Lists pipelines. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PipelineListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.PipelineListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('PipelineListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - pipeline_name, # type: str - pipeline, # type: "models.PipelineResource" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.PipelineResource" - """Creates or updates a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_name: str - :param pipeline: Pipeline resource definition. - :type pipeline: ~data_factory_management_client.models.PipelineResource - :param if_match: ETag of the pipeline entity. Should only be specified for update, for which - it should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(pipeline, 'PipelineResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PipelineResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - pipeline_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Optional["models.PipelineResource"] - """Gets a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_name: str - :param if_none_match: ETag of the pipeline 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.PipelineResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('PipelineResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - pipeline_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_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 = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore - - def create_run( - self, - resource_group_name, # type: str - factory_name, # type: str - pipeline_name, # type: str - reference_pipeline_run_id=None, # type: Optional[str] - is_recovery=None, # type: Optional[bool] - start_activity_name=None, # type: Optional[str] - start_from_failure=None, # type: Optional[bool] - parameters=None, # type: Optional[Dict[str, object]] - **kwargs # type: Any - ): - # type: (...) -> "models.CreateRunResponse" - """Creates a run of a pipeline. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param pipeline_name: The pipeline name. - :type pipeline_name: str - :param reference_pipeline_run_id: The pipeline run identifier. If run ID is specified the - parameters of the specified run will be used to create a new run. - :type reference_pipeline_run_id: str - :param is_recovery: Recovery mode flag. If recovery mode is set to true, the specified - referenced pipeline run and the new run will be grouped under the same groupId. - :type is_recovery: bool - :param start_activity_name: In recovery mode, the rerun will start from this activity. If not - specified, all activities will run. - :type start_activity_name: str - :param start_from_failure: In recovery mode, if set to true, the rerun will start from failed - activities. The property will be used only if startActivityName is not specified. - :type start_from_failure: bool - :param parameters: Parameters of the pipeline run. These parameters will be used only if the - runId is not specified. - :type parameters: dict[str, object] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CreateRunResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.CreateRunResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.CreateRunResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.create_run.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(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 reference_pipeline_run_id is not None: - query_parameters['referencePipelineRunId'] = self._serialize.query("reference_pipeline_run_id", reference_pipeline_run_id, 'str') - if is_recovery is not None: - query_parameters['isRecovery'] = self._serialize.query("is_recovery", is_recovery, 'bool') - if start_activity_name is not None: - query_parameters['startActivityName'] = self._serialize.query("start_activity_name", start_activity_name, 'str') - if start_from_failure is not None: - query_parameters['startFromFailure'] = self._serialize.query("start_from_failure", start_from_failure, 'bool') - - # 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' - - body_content_kwargs = {} # type: Dict[str, Any] - if parameters is not None: - body_content = self._serialize.body(parameters, '{object}') - 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('CreateRunResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_run_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_run_operations.py deleted file mode 100644 index 75634fde5ac..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_run_operations.py +++ /dev/null @@ -1,250 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 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 - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class PipelineRunOperations(object): - """PipelineRunOperations 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_factory_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 query_by_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - last_updated_after, # type: datetime.datetime - last_updated_before, # type: datetime.datetime - continuation_token_parameter=None, # type: Optional[str] - filters=None, # type: Optional[List["models.RunQueryFilter"]] - order_by=None, # type: Optional[List["models.RunQueryOrderBy"]] - **kwargs # type: Any - ): - # type: (...) -> "models.PipelineRunsQueryResponse" - """Query pipeline runs in the factory based on input filter conditions. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' - format. - :type last_updated_after: ~datetime.datetime - :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' - format. - :type last_updated_before: ~datetime.datetime - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param filters: List of filters. - :type filters: list[~data_factory_management_client.models.RunQueryFilter] - :param order_by: List of OrderBy option. - :type order_by: list[~data_factory_management_client.models.RunQueryOrderBy] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineRunsQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineRunsQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRunsQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.RunFilterParameters(continuation_token=continuation_token_parameter, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') - 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('PipelineRunsQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryPipelineRuns'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - run_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.PipelineRun" - """Get a pipeline run by its run ID. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param run_id: The pipeline run identifier. - :type run_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PipelineRun, or the result of cls(response) - :rtype: ~data_factory_management_client.models.PipelineRun - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRun"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'runId': self._serialize.url("run_id", run_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' - - 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('PipelineRun', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}'} # type: ignore - - def cancel( - self, - resource_group_name, # type: str - factory_name, # type: str - run_id, # type: str - is_recursive=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None - """Cancel a pipeline run by its run ID. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param run_id: The pipeline run identifier. - :type run_id: str - :param is_recursive: If true, cancel all the Child pipelines that are triggered by the current - pipeline. - :type is_recursive: 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 = "2018-06-01" - - # Construct URL - url = self.cancel.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'runId': self._serialize.url("run_id", run_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - if is_recursive is not None: - query_parameters['isRecursive'] = self._serialize.query("is_recursive", is_recursive, 'bool') - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/cancel'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_operations.py deleted file mode 100644 index 142f32f2c31..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_operations.py +++ /dev/null @@ -1,895 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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, Iterable, Optional, TypeVar, Union - - 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_factory_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_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.TriggerListResponse"] - """Lists triggers. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either TriggerListResponse or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.TriggerListResponse] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('TriggerListResponse', 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_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers'} # type: ignore - - def query_by_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - continuation_token_parameter=None, # type: Optional[str] - parent_trigger_name=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.TriggerQueryResponse" - """Query triggers. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param parent_trigger_name: The name of the parent TumblingWindowTrigger to get the child rerun - triggers. - :type parent_trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.TriggerFilterParameters(continuation_token=continuation_token_parameter, parent_trigger_name=parent_trigger_name) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'TriggerFilterParameters') - 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('TriggerQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/querytriggers'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - properties, # type: "models.Trigger" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.TriggerResource" - """Creates or updates a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param properties: Properties of the trigger. - :type properties: ~data_factory_management_client.models.Trigger - :param if_match: ETag of the trigger entity. Should only be specified for update, for which it - should match existing entity or can be * for unconditional update. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - trigger = models.TriggerResource(properties=properties) - api_version = "2018-06-01" - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_match is not None: - header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(trigger, 'TriggerResource') - 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]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('TriggerResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - if_none_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Optional["models.TriggerResource"] - """Gets a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param if_none_match: ETag of the trigger 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerResource, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerResource or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerResource"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - if if_none_match is not None: - header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') - header_parameters['Accept'] = 'application/json' - - 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, 304]: - 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('TriggerResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The 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 = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore - - def _subscribe_to_event_initial( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["models.TriggerSubscriptionOperationStatus"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._subscribe_to_event_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _subscribe_to_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore - - def begin_subscribe_to_event( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["models.TriggerSubscriptionOperationStatus"] - """Subscribe event trigger to events. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._subscribe_to_event_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_subscribe_to_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore - - def get_event_subscription_status( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.TriggerSubscriptionOperationStatus" - """Get a trigger's event subscription status. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerSubscriptionOperationStatus, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerSubscriptionOperationStatus - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self.get_event_subscription_status.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_event_subscription_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/getEventSubscriptionStatus'} # type: ignore - - def _unsubscribe_from_event_initial( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["models.TriggerSubscriptionOperationStatus"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._unsubscribe_from_event_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _unsubscribe_from_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore - - def begin_unsubscribe_from_event( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["models.TriggerSubscriptionOperationStatus"] - """Unsubscribe event trigger from events. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._unsubscribe_from_event_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_unsubscribe_from_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore - - def _start_initial( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._start_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore - - def begin_start( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Starts a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._start_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore - - def _stop_initial( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-06-01" - - # Construct URL - url = self._stop_initial.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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, {}) - - _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore - - def begin_stop( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Stops a trigger. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :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] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - factory_name=factory_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_run_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_run_operations.py deleted file mode 100644 index 3290d8196ab..00000000000 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_run_operations.py +++ /dev/null @@ -1,248 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license 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 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 - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class TriggerRunOperations(object): - """TriggerRunOperations 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_factory_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 rerun( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - run_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Rerun single trigger instance by runId. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param run_id: The pipeline run identifier. - :type run_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 = "2018-06-01" - - # Construct URL - url = self.rerun.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - 'runId': self._serialize.url("run_id", run_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] - - 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, {}) - - rerun.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/rerun'} # type: ignore - - def cancel( - self, - resource_group_name, # type: str - factory_name, # type: str - trigger_name, # type: str - run_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Cancel a single trigger instance by runId. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param trigger_name: The trigger name. - :type trigger_name: str - :param run_id: The pipeline run identifier. - :type run_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 = "2018-06-01" - - # Construct URL - url = self.cancel.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), - 'runId': self._serialize.url("run_id", run_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] - - 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, {}) - - cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/cancel'} # type: ignore - - def query_by_factory( - self, - resource_group_name, # type: str - factory_name, # type: str - last_updated_after, # type: datetime.datetime - last_updated_before, # type: datetime.datetime - continuation_token_parameter=None, # type: Optional[str] - filters=None, # type: Optional[List["models.RunQueryFilter"]] - order_by=None, # type: Optional[List["models.RunQueryOrderBy"]] - **kwargs # type: Any - ): - # type: (...) -> "models.TriggerRunsQueryResponse" - """Query trigger runs. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param factory_name: The factory name. - :type factory_name: str - :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' - format. - :type last_updated_after: ~datetime.datetime - :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' - format. - :type last_updated_before: ~datetime.datetime - :param continuation_token_parameter: The continuation token for getting the next page of - results. Null for first page. - :type continuation_token_parameter: str - :param filters: List of filters. - :type filters: list[~data_factory_management_client.models.RunQueryFilter] - :param order_by: List of OrderBy option. - :type order_by: list[~data_factory_management_client.models.RunQueryOrderBy] - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerRunsQueryResponse, or the result of cls(response) - :rtype: ~data_factory_management_client.models.TriggerRunsQueryResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerRunsQueryResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - filter_parameters = models.RunFilterParameters(continuation_token=continuation_token_parameter, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) - api_version = "2018-06-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.query_by_factory.metadata['url'] # type: ignore - path_format_arguments = { - '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\._\(\)]+$'), - 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[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' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') - 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('TriggerRunsQueryResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns'} # type: ignore diff --git a/src/datafactory/gen.zip b/src/datafactory/gen.zip deleted file mode 100644 index 296cd2dfd073b40b800d50721ca0621a581fdee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39102 zcmeG_O>^VQak7)RQYs%DR}Q|tG4~+JB~To^~azH*Y@_iR+}^zAY384k^4P z2^s+PmTyaE-+jm-S6AhpUyzIMIp^P`d%ge+2LvdQkaiPoaY+C(-90@$(;w3_xcKI; z{(5~4|9*b)$4mA@{P#=vc7CKEBfINFPS0^8KbY=ZWS0Mxv3x|sD4bL4t2wm>4%SXo z{=4V@emVKmU#y+U+8X=hSEe7G;dnspFrwqII-Wiu*3$mgpO9z%cp7;9>xgW+TjZ7J z27c)GBDf!n{lJMle^ezWg8^ZMLK4uB1~;@@g}N_2mySZ(C6iH?1|+(s+% zl&Xv9V??|WD>DxK@2MM+!1p84^8P!xe|b)E+vci8Fv_PsrK7p1itv zd3Hp0&YA3bG~5|aqWH>w7EoZzo8avjB%H2)odD3KJ%S=*yR6J63gR{i`rE|4rtXLE z__aTxTSw~z{-DkLCbXE~eSRAsiTlUo-FsFP!BpL0cXPw}ktBu{;b_PPD}^=L--cxk ze3$hnshl~$-?vv4L!pr~q@?m`IOQ#!-kJ)5==qbtrB*-iCu1lc^lvL0+i8rVb^L29 zlaGCxqwzqkwU#OIV<&R26LZJBIb*`+la;rcqnYhxtI%{1IsK3b?bvqu#})DW_s(EK zS3Q4>L02T0`OF{ny#6GhV*a|MW8W-Kt}JN_gTxM??8;fK&{_g5$ky05us(h)CR?vd zDm&q%6S{#nMspzC`INl0z3%Of6jU~lpa9IwJD}!oJg^JG9c5KiPr(plEYkG^7-k$Z zD!CjzAW6Id!_1Nm<2uH1U4Jr)m;fDDPEOA&#PtUQrz1=ms}ndQ_xiXp1YJaf3K_sR zz!(m_$nv_!m07tF)`|crt}0*_fCzYKQHm#c18##&WA*$2wEMWSQy~!@IY5sYv`IPM zQJ-n@2nr2ZeKBxG^u%>(7@DOK)F3mC?J<_LfqhVP<-!P9EwmjhhSlO&4YF8h8sN3# zsS@V7YtRw~aP;HY3#b)&XlpcT^_EqyTlHGIc6hY6f7GZ|8~e?}-MxcvO_j$q70qQ#ErZgFPdIXV76xco4jNH^MnS|r_&2>Ob6bGLMd|xgV({p z*ui9E{{bu6ovA$*)$s1hyIPW90W!i!usTyqlECiHjzp;-3Uxly0NfJkT22qNf|wj? z`&NCwU8^1K?jP;#Rd;vyng`96adJq(=uq%sF!C(|q; zIEzD#vYbqTF5B6JIT$AD2#g4D4?lhPT_u{1DSREl=j2DQ&z=ta4*cGR4~YH;+P#8k z1_U2og9D1?^hz(2g)V8226W_7UE~DBKt7ky;6B(gDHykK@Aek)kDUOJg1m)r!4bcj zo`VLFwRKvqqCiLNjrs~6RAzR^1t>rTG0}dgE{k&l@EPbQ!7x>YM_|+?hoB>79Bo5v z?VQDH6cMNav*^GE&6tItD541j+m3qEv&4TE`TV>v0L_M zQq?0Fo)Ck=7@k;Y)-ewDg={}TiZ)p1d3A!rc1hlyKu0pYye?Hf1q6q9n3E)KntFl{ zS_@;4FlvRZr4N+UfK!832wkB;s!JWzy)|}vJcz}FlM>#U=_D}*aR3w^vN}B|sV4S3 zYC#3FKh`SXq0Cn)rG(z3jOK;l#9%Y>{GrBuik&>3bq?kdc%<_gixI7r+ijAuh|FNa zJQUBmbO0JRmcmnZJ)d8^PH7zD=!i8nuBVr+ zvp_(0NC!Rp8bWQfTb7BLAOpP%7A!zAEKWwY>A8?dC$t=?oDf7H;3x1Cfq(8qKg(w0 zBz1p#V-``kgHw>PR&rXW8%w`k{bUNH9kANGTd3 zfmrp(bP+PlAluf@V0hTi1CGQ$I*y0~XC``m0nB>F&gKX+hOZcQXm ztL_)Rlj%|B>OG&|Iz8vGaR|}!!(M0K+Us?w)#^2Ntqyf)>!9P--PW$DyW+L~f599L z^V&a}ifUDg@b#2Vpc@Sv^I&kq%&|x7RhDl|ij(i--d|s!$@<+Jl z2ys00NEhq0p{mQ4{2r{+VmjC&;FsTNSCJD-rW=&9m!UYxl3u-z5Y@nD?> zaw04e6dREDhRJ$bO^hH@ox!viWW<0?vm#7M!Rq6d3CzlFW|&tv&Ki%wBD{+Hj10&G zOO%QVq4a~yeTevr?~3Wjh0N|QLPd;|%9;<;LqLR;AYz5R^%%y@+c5;c zyBWFnrlAwip?^bdbjBZ~e>i>%@t55-A^?&0$wb!fIbXVZ4J+-8Hrg#qMZJct9$BGm z_H40m_6We)r7T`1q)X~53$c@o)yy>CbCPV0z-1c5i()|yBu3aB$Vl55vss1Jf!MNR zw(RM`aa(LmS*a67<^%rhT#C=AZw<2!#BtmS?9771$nX752onJ0W0S^0`7pCGDWm{1 z^)nvg$bK2^T~7tpgz6wpie#!4)o!And3KS1^nOX;BY6qbL~a@_2Ie{lH4#2WeL4me#H7^G9i{{ zdZcg7P4eItAmnwh^u4ljI)vRRur4WuBRAC;JnF#dV}2{9`eh{B#w!>qH87ntsAv8G zs4EJ}lB)80Cau_cayIIYeVETeNb!w)*adZb9Yy2tx3H}Pw@9I(eJpHmaH^3~*hzy= zLn1Yx7&e-K3pM3nv!NGXsqo05(dd2A^hMxlH=XNR;VlzfeO zjOJMFsl1|sDYa@2NpZ29o&w`#Cxw^ z4`q)I#Cc!S_Wq7$T2iGglD<3F4ADfmBnw0n;^iA3DGsb?;z(>(A50N;xCg(X?dGo+Gt>}Rm0nhwl!hvWw1zsm})eD07qSr2fW z26ipvH7(i)^?k=}?(Vg$Ua!@FgsH=(<+N&DYk#-p*1LNLor6Ywv1GL*#|?cTwsfA) z+W;W>!umpO=M;P>w^!6oPJ#Wt{R7+1a3dYT&1`U_&v8Yv3(edLzYRw2apmj}aJo)d zA#Ceec#PZgWKrY9mD<_)=yr!L6fcqOI-X(n>T)cA)YcXD=_pZTh;U9vN8ac30JgB zU_hJ^O29nYM4bCAWC}9Q?KY5=A;fKvXuY|(A^M6x<4xelzI^wcjyR(#J3ooFA7cTm z*SzqG!UWG&uMuSwOem6oyo&caC%P`pavd?$Ol=gFa}w+nj%B#|hKUNc2B&=VYSKi- zMUf=Ng@5upFS_a~n(Bzv&T$oL;T$renqllo5I8tmkuBKz8z=Cb&VbK741XJPqJNKf zb;M9g*3JbBR^KUXl^U^=NmOI>rm3bZgVhqaY*}~0w|^ma_|&R!W`!pP06tq)Dg3(PvZ)* z|NdM^Ye5|^px{&IlC|QD7Ss_}m_l8?R@7NO))5O+x42d`<=4boQkcw(>pBxysUb*0 zIhe|+*l1~b0Rzwy*__z3oTSSQAuT0*^w2yl5MWl^EhV%pvB9Ckk0Ge6q%R%S358#N znRPgqY=&4w#h^~v?l}vv>GRNnD^>+(oOiL#;7*}%Mc+Rb1CvM96LZPwoHP^FcO|U= zNPH_uJdonMA`89^$By^$3{gCiOkT_lS-~k+Sfi}m0)cKx0V|`+V+fAUOFp=Qv#-08 z0TtYWfrIX+6oEuAB_4Y4oLftpy4S}x_o|QP48|m?q|rI!$4a?L7Q)Kh3f2+B0t34B zNGE)fL0h;)Ka>R?(k3AmW@ap$_|B3GT~?pnqN8pbyk-H9odwEI>eCT}E8A=y)px6{ zy}f#?R{s{NAep^@g*aUF@R6if-e?jbJbZ{*WC0k+_-qevupK03gm}K-At2BZ>j?26 zl5gQ?c7zF^x9w-}Kejw)0u)lP;6dr4mNx9>xy@o6l;t%GbW3uYiw?WHIM>Slx@S+I zr7F86d%aV3Ln+x2vJ;k(7E!bdR>IB#HmYQ7DJH69?BlRd+e!yxDz&^q89cjzDDPF` zY;f4qm$}thau5XBrdZKV9@kLTj%UeQpu%EQSV<}@n5m%w293Lt<>F-tGuvaSI;O~4 zuPw>z}$vw1vY1B~J>pXNIh4teMEcX`q)QNuCseA52B zMfvSW=$sBchc`eK;XWMXE}3BCTcb+ufdqOB(SMG;0FgBCXA<)?-jHYE&rO_?LjXc- z@iF*ifnoFs_>$w zD)xWa{UG1ZdL?=v6Zdk8UMAlxc>(W+gYZNk-uEhUU-%n+CG5nzT62r>y@I*LwB1HL zg?rIj1#w}TP5dIDTqLr1LFjVvN-XN-f>-4W!k7A`Ad6)2g3wKe3e28tpW7%Cn0rvb zr6U)sVkPGdnzXrfOqAjpL2gA&Vhhz#1OjC&Jtr57s!<5O6xBk7rDPN;Y+@5e{Bs+i zv8hlU)#yT{WjhKLmK-WnxDaO$QlkJH3h>Ir~Nk}3#mk15!QXs3xaYY%|Enbx^a};G5937F*UF53iouaukVMUyX zQg5=&t(9c>OlWVh+I*vFZXL;X)K>c9TW)2TZ1`)YQ!kIst!A3LxHpztRgzng`nFq)cF!jtfy0P8H>9nmGg11QKT9peV=Ta(&Y=lmLgoBsFa%m zMNP~^i!+CCjWq>oDAp7xE9oy#RC1+2(E{8+D2?2v&*RRlsJ+1>5b(7wq5TrTGx3@& zl@>^`mW2v2ujm!C`HGbUdk+gT(KB_t!4J!3#w=lC0A1oTE^E(xY-k~B-dZ-cOqz9H z?G7N25Y1D&0~C}U<)_`De!@$;Lv3sW_tEZ9nR#e;s%J{@Nln&rC?kED-dPUneBUew zfF#1~nH8)&>z5U+Xns+Gkxl56<$y&_nmn=s)o`**`C~bC)SPW{juxrQeX*PxvX}0F z%X{pW%71oq+p*nemvRxA9)}SLoT*xO03A~ox?2Yip zryy%$-CX)CSa~yf0ZtQB5nb9NHiYZE$hJ4pX5A*gae{sbU%&bA1O5{371Lf5P^g<3 z;J4YUTeqqTnhuBIV_*PHl>@H|3-^#S zf+LCF_=hc-k76hf`jfz=5e#Q0K~5R2!fuXX2afmgctb?M#DXkl1Z})KI()xP26WVq zu8-@jE$$?9R0 z)qvhwg5KIJy(mWD92Z9*E4({8h#}YaW+7jQ{olnws~Tz81}?X`<5C>7tdNGBq#EUx z3GUa%mC{WVMO%s@EX77Jmb>u~w}o`3DucWrli+CDR3Dp0hkf<5ZF3@gFNT~B8uJo~Tz`14O869GSe3!fp4 zoNDwj`gD8o%};*%_iO8LZ*A@87k|8DKg55(R2RPxznmZG$5eZE=GFgIs(uZwX6qw^ z!nshsNG{^n=+Commands in `az datafactory` group @@ -103,6 +106,24 @@ |[az datafactory pipeline-run cancel](#PipelineRunsCancel)|Cancel|[Parameters](#ParametersPipelineRunsCancel)|[Example](#ExamplesPipelineRunsCancel)| |[az datafactory pipeline-run query-by-factory](#PipelineRunsQueryByFactory)|QueryByFactory|[Parameters](#ParametersPipelineRunsQueryByFactory)|[Example](#ExamplesPipelineRunsQueryByFactory)| +### Commands in `az datafactory private-end-point-connection` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory private-end-point-connection list](#privateEndPointConnectionsListByFactory)|ListByFactory|[Parameters](#ParametersprivateEndPointConnectionsListByFactory)|[Example](#ExamplesprivateEndPointConnectionsListByFactory)| + +### Commands in `az datafactory private-endpoint-connection` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory private-endpoint-connection show](#PrivateEndpointConnectionGet)|Get|[Parameters](#ParametersPrivateEndpointConnectionGet)|[Example](#ExamplesPrivateEndpointConnectionGet)| +|[az datafactory private-endpoint-connection create](#PrivateEndpointConnectionCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersPrivateEndpointConnectionCreateOrUpdate#Create)|[Example](#ExamplesPrivateEndpointConnectionCreateOrUpdate#Create)| +|[az datafactory private-endpoint-connection update](#PrivateEndpointConnectionCreateOrUpdate#Update)|CreateOrUpdate#Update|[Parameters](#ParametersPrivateEndpointConnectionCreateOrUpdate#Update)|Not Found| +|[az datafactory private-endpoint-connection delete](#PrivateEndpointConnectionDelete)|Delete|[Parameters](#ParametersPrivateEndpointConnectionDelete)|[Example](#ExamplesPrivateEndpointConnectionDelete)| + +### Commands in `az datafactory private-link-resource` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory private-link-resource show](#privateLinkResourcesGet)|Get|[Parameters](#ParametersprivateLinkResourcesGet)|[Example](#ExamplesprivateLinkResourcesGet)| + ### Commands in `az datafactory trigger` group |CLI Command|Operation Swagger name|Parameters|Examples| |---------|------------|--------|-----------| @@ -179,6 +200,13 @@ az datafactory create --location "East US" --name "exampleFactoryName" --resourc |**--factory-vsts-configuration**|object|Factory's VSTS repo information.|factory_vsts_configuration|FactoryVSTSConfiguration| |**--factory-git-hub-configuration**|object|Factory's GitHub repo information.|factory_git_hub_configuration|FactoryGitHubConfiguration| |**--global-parameters**|dictionary|List of parameters for factory.|global_parameters|globalParameters| +|**--public-network-access**|choice|Whether or not public network access is allowed for the data factory.|public_network_access|publicNetworkAccess| +|**--key-name**|string|The name of the key in Azure Key Vault to use as Customer Managed Key.|key_name|keyName| +|**--vault-base-url**|string|The url of the Azure Key Vault used for CMK.|vault_base_url|vaultBaseUrl| +|**--key-version**|string|The version of the key used for CMK. If not provided, latest version will be used.|key_version|keyVersion| +|**--identity**|object|User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service Identity will be used.|identity|identity| +|**--type**|choice|The identity type.|type|type| +|**--user-assigned-identities**|dictionary|List of user assigned identities for the factory.|user_assigned_identities|userAssignedIdentities| #### Command `az datafactory update` @@ -193,6 +221,8 @@ az datafactory update --name "exampleFactoryName" --tags exampleTag="exampleValu |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--tags**|dictionary|The resource tags.|tags|tags| +|**--type**|choice|The identity type.|type|type| +|**--user-assigned-identities**|dictionary|List of user assigned identities for the factory.|user_assigned_identities|userAssignedIdentities| #### Command `az datafactory delete` @@ -257,6 +287,7 @@ az datafactory get-git-hub-access-token --name "exampleFactoryName" --git-hub-ac |**--git-hub-access-code**|string|GitHub access code.|git_hub_access_code|gitHubAccessCode| |**--git-hub-access-token-base-url**|string|GitHub access token base URL.|git_hub_access_token_base_url|gitHubAccessTokenBaseUrl| |**--git-hub-client-id**|string|GitHub application client ID.|git_hub_client_id|gitHubClientId| +|**--git-hub-client-secret**|object|GitHub bring your own app client secret information.|git_hub_client_secret|gitHubClientSecret| ### group `az datafactory activity-run` #### Command `az datafactory activity-run query-by-pipeline-run` @@ -423,6 +454,7 @@ az datafactory integration-runtime linked-integration-runtime create --name "bfa |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| |**--if-match**|string|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.|if_match|If-Match| |**--description**|string|Integration runtime description.|managed_description|description| +|**--managed-virtual-network**|object|Managed Virtual Network reference.|managed_managed_virtual_network|managedVirtualNetwork| |**--compute-properties**|object|The compute resource for managed integration runtime.|managed_compute_properties|computeProperties| |**--ssis-properties**|object|SSIS properties for managed integration runtime.|managed_ssis_properties|ssisProperties| @@ -823,7 +855,7 @@ et\\"}],\\"outputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"M "typeProperties\\":{\\"dataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"type\\":\\"Bl\ obSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.\ OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --duration "0.00:10:00" \ ---name "examplePipeline" --resource-group "exampleResourceGroup" +--pipeline-name "examplePipeline" --resource-group "exampleResourceGroup" ``` ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| @@ -840,7 +872,7 @@ OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\ |**--annotations**|array|List of tags that can be used for describing the Pipeline.|annotations|annotations| |**--run-dimensions**|dictionary|Dimensions emitted by Pipeline.|run_dimensions|runDimensions| |**--duration**|any|TimeSpan value, after which an Azure Monitoring Metric is fired.|duration|duration| -|**--folder-name**|string|The name of the folder that this Pipeline is in.|folder_name|name| +|**--name**|string|The name of the folder that this Pipeline is in.|name|name| #### Command `az datafactory pipeline delete` @@ -924,6 +956,91 @@ operator="Equals" values="examplePipeline" --last-updated-after "2018-06-16T00:3 |**--filters**|array|List of filters.|filters|filters| |**--order-by**|array|List of OrderBy option.|order_by|orderBy| +### group `az datafactory private-end-point-connection` +#### Command `az datafactory private-end-point-connection list` + +##### Example +``` +az datafactory private-end-point-connection list --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| + +### group `az datafactory private-endpoint-connection` +#### Command `az datafactory private-endpoint-connection show` + +##### Example +``` +az datafactory private-endpoint-connection show --factory-name "exampleFactoryName" --name "connection" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--private-endpoint-connection-name**|string|The private endpoint connection name.|private_endpoint_connection_name|privateEndpointConnectionName| +|**--if-none-match**|string|ETag of the private endpoint connection 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.|if_none_match|If-None-Match| + +#### Command `az datafactory private-endpoint-connection create` + +##### Example +``` +az datafactory private-endpoint-connection create --factory-name "exampleFactoryName" --name "connection" \ +--private-link-service-connection-state description="Approved by admin." actions-required="" status="Approved" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--private-endpoint-connection-name**|string|The private endpoint connection name.|private_endpoint_connection_name|privateEndpointConnectionName| +|**--if-match**|string|ETag of the private endpoint connection entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| +|**--private-link-service-connection-state**|object|The state of a private link connection|private_link_service_connection_state|privateLinkServiceConnectionState| + +#### Command `az datafactory private-endpoint-connection update` + +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--private-endpoint-connection-name**|string|The private endpoint connection name.|private_endpoint_connection_name|privateEndpointConnectionName| +|**--if-match**|string|ETag of the private endpoint connection entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| +|**--private-link-service-connection-state**|object|The state of a private link connection|private_link_service_connection_state|privateLinkServiceConnectionState| + +#### Command `az datafactory private-endpoint-connection delete` + +##### Example +``` +az datafactory private-endpoint-connection delete --factory-name "exampleFactoryName" --name "connection" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--private-endpoint-connection-name**|string|The private endpoint connection name.|private_endpoint_connection_name|privateEndpointConnectionName| + +### group `az datafactory private-link-resource` +#### Command `az datafactory private-link-resource show` + +##### Example +``` +az datafactory private-link-resource show --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| + ### group `az datafactory trigger` #### Command `az datafactory trigger list`